@grnsft/if 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/.github/ISSUE_TEMPLATE/agenda.md +4 -3
  2. package/.github/ISSUE_TEMPLATE/bug-report.md +32 -0
  3. package/.github/ISSUE_TEMPLATE/dev-ticket.md +44 -0
  4. package/.github/ISSUE_TEMPLATE/sprint-planning.md +39 -0
  5. package/.github/ISSUE_TEMPLATE/sprint-retro.md +41 -0
  6. package/coverage/clover.xml +147 -1128
  7. package/coverage/coverage-final.json +9 -26
  8. package/coverage/lcov-report/config/config.ts.html +3 -66
  9. package/coverage/lcov-report/config/index.html +16 -16
  10. package/coverage/lcov-report/config/index.ts.html +3 -3
  11. package/coverage/lcov-report/config/strings.ts.html +90 -21
  12. package/coverage/lcov-report/index.html +26 -221
  13. package/coverage/lcov-report/lib/index.html +40 -10
  14. package/coverage/lcov-report/lib/models-universe.ts.html +475 -0
  15. package/coverage/lcov-report/lib/observatory.ts.html +187 -0
  16. package/coverage/lcov-report/lib/supercomputer.ts.html +553 -0
  17. package/coverage/lcov-report/util/args.ts.html +25 -10
  18. package/coverage/lcov-report/util/errors.ts.html +157 -0
  19. package/coverage/lcov-report/util/index.html +16 -46
  20. package/coverage/lcov-report/util/yaml.ts.html +22 -16
  21. package/coverage/lcov.info +249 -2019
  22. package/examples/impls/case-studies/ntt-data-on-premise.yaml +42 -0
  23. package/package.json +4 -3
  24. package/build/config/config.d.ts +0 -9
  25. package/build/config/config.js +0 -51
  26. package/build/lib/observatory.d.ts +0 -20
  27. package/build/lib/observatory.js +0 -31
  28. package/build/types/model-interface.d.ts +0 -16
  29. package/build/types/model-interface.js +0 -3
  30. package/build/types/process-args.d.ts +0 -7
  31. package/build/types/process-args.js +0 -3
  32. package/build/types/supercomputer.d.ts +0 -4
  33. package/build/types/supercomputer.js +0 -3
  34. package/build/util/args.js +0 -48
  35. package/build/util/errors.d.ts +0 -6
  36. package/build/util/errors.js +0 -22
  37. package/build/util/helpers.js +0 -18
  38. package/src/__mocks__/boavizta/countries.json +0 -138
  39. package/src/__mocks__/boavizta/instance_types.json +0 -625
  40. package/src/__mocks__/boavizta/providers.json +0 -1
  41. package/src/__mocks__/watt-time/data.json +0 -119
  42. package/tsconfig.build.tsbuildinfo +0 -1
  43. package/yarn-error.log +0 -5854
@@ -4,6 +4,9 @@ tags:
4
4
  kind: web
5
5
  complexity: moderate
6
6
  category: on-premise
7
+ aggregation:
8
+ fields:
9
+ methods:
7
10
  initialize:
8
11
  models:
9
12
  - name: sci-e
@@ -57,6 +60,7 @@ graph:
57
60
  - sci-m
58
61
  - sci-o
59
62
  - sci
63
+ - aggregate
60
64
  config:
61
65
  sci-m:
62
66
  total-embodied-emissions: 251000 # gCO2eq
@@ -70,6 +74,9 @@ graph:
70
74
  functional-unit-duration: 1
71
75
  functional-duration-time: ''
72
76
  functional-unit: requests # factor to convert per time to per f.unit
77
+ aggregate:
78
+ fields: ['energy', 'carbon']
79
+ method: sum # sum, average
73
80
  children:
74
81
  switch-1:
75
82
  inputs:
@@ -78,6 +85,41 @@ graph:
78
85
  energy-network: 0.000811 #kwh
79
86
  grid-carbon-intensity: 457 # gCO2e/kWh
80
87
  requests: 38032740
88
+ - timestamp: 2023-07-06T00:00
89
+ duration: 1
90
+ energy-network: 0.000811 #kwh
91
+ grid-carbon-intensity: 457 # gCO2e/kWh
92
+ requests: 38032740
93
+ - timestamp: 2023-07-06T00:00
94
+ duration: 1
95
+ energy-network: 0.000811 #kwh
96
+ grid-carbon-intensity: 457 # gCO2e/kWh
97
+ requests: 38032740
98
+ outputs:
99
+ - timestamp: 2023-07-06T00:00
100
+ duration: 1
101
+ energy-network: 0.000811 #kwh
102
+ grid-carbon-intensity: 457 # gCO2e/kWh
103
+ requests: 38032740
104
+ energy: 10
105
+ carbon: 10
106
+ aggregated-energy: 38
107
+ - timestamp: 2023-07-06T00:00
108
+ duration: 1
109
+ energy-network: 0.000811 #kwh
110
+ grid-carbon-intensity: 457 # gCO2e/kWh
111
+ requests: 38032740
112
+ energy: 12
113
+ carbon: 12
114
+ aggregated-energy: 38
115
+ - timestamp: 2023-07-06T00:00
116
+ duration: 1
117
+ energy-network: 0.000811 #kwh
118
+ grid-carbon-intensity: 457 # gCO2e/kWh
119
+ requests: 38032740
120
+ energy: 16
121
+ carbon: 16
122
+ aggregated-energy: 38
81
123
  switch-2:
82
124
  inputs:
83
125
  - timestamp: 2023-07-06T00:00
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@grnsft/if",
3
3
  "description": "Impact Framework",
4
- "version": "v0.1.0",
4
+ "version": "v0.1.2",
5
5
  "author": {
6
6
  "name": "Green Software Foundation",
7
7
  "email": "info@gsf.com"
@@ -31,8 +31,9 @@
31
31
  "ts-jest": "^29.1.1"
32
32
  },
33
33
  "engines": {
34
- "node": "18",
35
- "yarn": "1.22.19"
34
+ "node": ">=18",
35
+ "yarn": ">=1.22",
36
+ "npm": ">=8"
36
37
  },
37
38
  "homepage": "https://greensoftware.foundation",
38
39
  "keywords": [
@@ -1,9 +0,0 @@
1
- import { ArgumentConfig } from 'ts-command-line-args';
2
- import { impactProcessArgs } from '../types/process-args';
3
- export declare const CONFIG: {
4
- impact: {
5
- ARGS: ArgumentConfig<impactProcessArgs>;
6
- HELP: string;
7
- };
8
- GITHUB_PATH: string;
9
- };
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CONFIG = void 0;
4
- exports.CONFIG = {
5
- impact: {
6
- ARGS: {
7
- impl: {
8
- type: String,
9
- optional: true,
10
- alias: 'i',
11
- description: 'Path to an input IMPL file.',
12
- },
13
- ompl: {
14
- type: String,
15
- optional: true,
16
- description: 'Path to the output IMPL file where the results as saved, if none is provided it prints to stdout.',
17
- },
18
- format: {
19
- type: String,
20
- optional: true,
21
- description: 'The output file format. default to yaml but if csv is specified then it formats the outputs as a csv file for loading into another program.',
22
- defaultValue: 'yaml',
23
- },
24
- verbose: {
25
- type: Boolean,
26
- optional: true,
27
- description: 'How much information to output about the calculation to aid investigation and debugging.',
28
- },
29
- help: {
30
- type: Boolean,
31
- optional: true,
32
- alias: 'h',
33
- description: 'Prints this usage guide.',
34
- },
35
- },
36
- HELP: `impact
37
- -impl [path to the input impl file]
38
- -ompl [path to the output impl file]
39
- -format [yaml|csv]
40
- -verbose
41
- -help
42
- impl: path to an input IMPL file
43
- ompl: path to the output IMPL file where the results as saved, if none is provided it prints to stdout.
44
- format: the output file format. default to yaml but if csv is specified then it formats the outputs as a csv file for loading into another program.
45
- verbose: how much information to output about the calculation to aid investigation and debugging.
46
- help: prints out the above help instruction.
47
- `,
48
- },
49
- GITHUB_PATH: 'https://github.com',
50
- };
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSWEsUUFBQSxNQUFNLEdBQUc7SUFDcEIsTUFBTSxFQUFFO1FBQ04sSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSxHQUFHO2dCQUNWLFdBQVcsRUFBRSw2QkFBNkI7YUFDM0M7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLElBQUk7Z0JBQ2QsV0FBVyxFQUNULG1HQUFtRzthQUN0RztZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsSUFBSTtnQkFDZCxXQUFXLEVBQ1QsNklBQTZJO2dCQUMvSSxZQUFZLEVBQUUsTUFBTTthQUNyQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsT0FBTztnQkFDYixRQUFRLEVBQUUsSUFBSTtnQkFDZCxXQUFXLEVBQ1QsMEZBQTBGO2FBQzdGO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxPQUFPO2dCQUNiLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSxHQUFHO2dCQUNWLFdBQVcsRUFBRSwwQkFBMEI7YUFDeEM7U0FDbUM7UUFDdEMsSUFBSSxFQUFFOzs7Ozs7Ozs7OztHQVdQO0tBQ0E7SUFDRCxXQUFXLEVBQUUsb0JBQW9CO0NBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FyZ3VtZW50Q29uZmlnfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5cbmltcG9ydCB7aW1wYWN0UHJvY2Vzc0FyZ3N9IGZyb20gJy4uL3R5cGVzL3Byb2Nlc3MtYXJncyc7XG5cbmV4cG9ydCBjb25zdCBDT05GSUcgPSB7XG4gIGltcGFjdDoge1xuICAgIEFSR1M6IHtcbiAgICAgIGltcGw6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgYWxpYXM6ICdpJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQYXRoIHRvIGFuIGlucHV0IElNUEwgZmlsZS4nLFxuICAgICAgfSxcbiAgICAgIG9tcGw6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgJ1BhdGggdG8gdGhlIG91dHB1dCBJTVBMIGZpbGUgd2hlcmUgdGhlIHJlc3VsdHMgYXMgc2F2ZWQsIGlmIG5vbmUgaXMgcHJvdmlkZWQgaXQgcHJpbnRzIHRvIHN0ZG91dC4nLFxuICAgICAgfSxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAnVGhlIG91dHB1dCBmaWxlIGZvcm1hdC4gZGVmYXVsdCB0byB5YW1sIGJ1dCBpZiBjc3YgaXMgc3BlY2lmaWVkIHRoZW4gaXQgZm9ybWF0cyB0aGUgb3V0cHV0cyBhcyBhIGNzdiBmaWxlIGZvciBsb2FkaW5nIGludG8gYW5vdGhlciBwcm9ncmFtLicsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ3lhbWwnLFxuICAgICAgfSxcbiAgICAgIHZlcmJvc2U6IHtcbiAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICdIb3cgbXVjaCBpbmZvcm1hdGlvbiB0byBvdXRwdXQgYWJvdXQgdGhlIGNhbGN1bGF0aW9uIHRvIGFpZCBpbnZlc3RpZ2F0aW9uIGFuZCBkZWJ1Z2dpbmcuJyxcbiAgICAgIH0sXG4gICAgICBoZWxwOiB7XG4gICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBhbGlhczogJ2gnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1ByaW50cyB0aGlzIHVzYWdlIGd1aWRlLicsXG4gICAgICB9LFxuICAgIH0gYXMgQXJndW1lbnRDb25maWc8aW1wYWN0UHJvY2Vzc0FyZ3M+LFxuICAgIEhFTFA6IGBpbXBhY3QgXG4gIC1pbXBsIFtwYXRoIHRvIHRoZSBpbnB1dCBpbXBsIGZpbGVdXG4gIC1vbXBsIFtwYXRoIHRvIHRoZSBvdXRwdXQgaW1wbCBmaWxlXVxuICAtZm9ybWF0IFt5YW1sfGNzdl0gXG4gIC12ZXJib3NlXG4gIC1oZWxwIFxuICBpbXBsOiBwYXRoIHRvIGFuIGlucHV0IElNUEwgZmlsZVxuICBvbXBsOiBwYXRoIHRvIHRoZSBvdXRwdXQgSU1QTCBmaWxlIHdoZXJlIHRoZSByZXN1bHRzIGFzIHNhdmVkLCBpZiBub25lIGlzIHByb3ZpZGVkIGl0IHByaW50cyB0byBzdGRvdXQuXG4gIGZvcm1hdDogdGhlIG91dHB1dCBmaWxlIGZvcm1hdC4gZGVmYXVsdCB0byB5YW1sIGJ1dCBpZiBjc3YgaXMgc3BlY2lmaWVkIHRoZW4gaXQgZm9ybWF0cyB0aGUgb3V0cHV0cyBhcyBhIGNzdiBmaWxlIGZvciBsb2FkaW5nIGludG8gYW5vdGhlciBwcm9ncmFtLlxuICB2ZXJib3NlOiBob3cgbXVjaCBpbmZvcm1hdGlvbiB0byBvdXRwdXQgYWJvdXQgdGhlIGNhbGN1bGF0aW9uIHRvIGFpZCBpbnZlc3RpZ2F0aW9uIGFuZCBkZWJ1Z2dpbmcuXG4gIGhlbHA6IHByaW50cyBvdXQgdGhlIGFib3ZlIGhlbHAgaW5zdHJ1Y3Rpb24uXG4gIGAsXG4gIH0sXG4gIEdJVEhVQl9QQVRIOiAnaHR0cHM6Ly9naXRodWIuY29tJyxcbn07XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { ModelPluginInterface } from '../types/model-interface';
2
- /**
3
- * Observatory is responsible for output calculations based on the `inputs` and the `model`.
4
- */
5
- export declare class Observatory {
6
- private inputs;
7
- private outputs;
8
- /**
9
- * Init inputs object.
10
- */
11
- constructor(inputs: any);
12
- /**
13
- * Does investigations by given `output` information
14
- */
15
- doInvestigationsWith(modelInstance: ModelPluginInterface): Promise<this>;
16
- /**
17
- * Getter for output data.
18
- */
19
- getOutputs(): any[];
20
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Observatory = void 0;
4
- /**
5
- * Observatory is responsible for output calculations based on the `inputs` and the `model`.
6
- */
7
- class Observatory {
8
- /**
9
- * Init inputs object.
10
- */
11
- constructor(inputs) {
12
- this.outputs = [];
13
- this.inputs = inputs;
14
- }
15
- /**
16
- * Does investigations by given `output` information
17
- */
18
- async doInvestigationsWith(modelInstance) {
19
- const reuseCalculation = this.outputs.length ? this.outputs : this.inputs;
20
- this.outputs = await modelInstance.execute(reuseCalculation);
21
- return this;
22
- }
23
- /**
24
- * Getter for output data.
25
- */
26
- getOutputs() {
27
- return this.outputs;
28
- }
29
- }
30
- exports.Observatory = Observatory;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL29ic2VydmF0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztHQUVHO0FBQ0gsTUFBYSxXQUFXO0lBSXRCOztPQUVHO0lBQ0gsWUFBWSxNQUFXO1FBTGYsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQU0xQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsYUFBbUM7UUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUxRSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUE1QkQsa0NBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RlbFBsdWdpbkludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvbW9kZWwtaW50ZXJmYWNlJztcblxuLyoqXG4gKiBPYnNlcnZhdG9yeSBpcyByZXNwb25zaWJsZSBmb3Igb3V0cHV0IGNhbGN1bGF0aW9ucyBiYXNlZCBvbiB0aGUgYGlucHV0c2AgYW5kIHRoZSBgbW9kZWxgLlxuICovXG5leHBvcnQgY2xhc3MgT2JzZXJ2YXRvcnkge1xuICBwcml2YXRlIGlucHV0czogYW55W107XG4gIHByaXZhdGUgb3V0cHV0czogYW55W10gPSBbXTtcblxuICAvKipcbiAgICogSW5pdCBpbnB1dHMgb2JqZWN0LlxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5wdXRzOiBhbnkpIHtcbiAgICB0aGlzLmlucHV0cyA9IGlucHV0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBEb2VzIGludmVzdGlnYXRpb25zIGJ5IGdpdmVuIGBvdXRwdXRgIGluZm9ybWF0aW9uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZG9JbnZlc3RpZ2F0aW9uc1dpdGgobW9kZWxJbnN0YW5jZTogTW9kZWxQbHVnaW5JbnRlcmZhY2UpIHtcbiAgICBjb25zdCByZXVzZUNhbGN1bGF0aW9uID0gdGhpcy5vdXRwdXRzLmxlbmd0aCA/IHRoaXMub3V0cHV0cyA6IHRoaXMuaW5wdXRzO1xuXG4gICAgdGhpcy5vdXRwdXRzID0gYXdhaXQgbW9kZWxJbnN0YW5jZS5leGVjdXRlKHJldXNlQ2FsY3VsYXRpb24pO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGZvciBvdXRwdXQgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBnZXRPdXRwdXRzKCkge1xuICAgIHJldHVybiB0aGlzLm91dHB1dHM7XG4gIH1cbn1cbiJdfQ==
@@ -1,16 +0,0 @@
1
- type ModelParams = {
2
- timestamp: string;
3
- duration: number;
4
- [key: string]: any;
5
- };
6
- export interface ModelPluginInterface {
7
- /**
8
- * Configures instance with given params.
9
- */
10
- configure(params: object | undefined): Promise<ModelPluginInterface>;
11
- /**
12
- * Calculates `output` based on given model's `input`.
13
- */
14
- execute(inputs: ModelParams[]): Promise<ModelParams[]>;
15
- }
16
- export {};
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL21vZGVsLWludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsidHlwZSBNb2RlbFBhcmFtcyA9IHtcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIGR1cmF0aW9uOiBudW1iZXI7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxQbHVnaW5JbnRlcmZhY2Uge1xuICAvKipcbiAgICogQ29uZmlndXJlcyBpbnN0YW5jZSB3aXRoIGdpdmVuIHBhcmFtcy5cbiAgICovXG4gIGNvbmZpZ3VyZShwYXJhbXM6IG9iamVjdCB8IHVuZGVmaW5lZCk6IFByb21pc2U8TW9kZWxQbHVnaW5JbnRlcmZhY2U+O1xuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIGBvdXRwdXRgIGJhc2VkIG9uIGdpdmVuIG1vZGVsJ3MgYGlucHV0YC5cbiAgICovXG4gIGV4ZWN1dGUoaW5wdXRzOiBNb2RlbFBhcmFtc1tdKTogUHJvbWlzZTxNb2RlbFBhcmFtc1tdPjtcbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export interface impactProcessArgs {
2
- impl?: string;
3
- ompl?: string;
4
- format?: string;
5
- verbose?: boolean;
6
- help?: boolean;
7
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBpbXBhY3RQcm9jZXNzQXJncyB7XG4gIGltcGw/OiBzdHJpbmc7XG4gIG9tcGw/OiBzdHJpbmc7XG4gIGZvcm1hdD86IHN0cmluZztcbiAgdmVyYm9zZT86IGJvb2xlYW47XG4gIGhlbHA/OiBib29sZWFuO1xufVxuIl19
@@ -1,4 +0,0 @@
1
- export type ChildInformation = {
2
- name: string;
3
- info: any;
4
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJjb21wdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9zdXBlcmNvbXB1dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDaGlsZEluZm9ybWF0aW9uID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGluZm86IGFueTtcbn07XG4iXX0=
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseProcessArgument = void 0;
4
- const path = require("path");
5
- const ts_command_line_args_1 = require("ts-command-line-args");
6
- const yaml_1 = require("./yaml");
7
- const errors_1 = require("./errors");
8
- const config_1 = require("../config");
9
- const { CliInputError } = errors_1.ERRORS;
10
- const { impact } = config_1.CONFIG;
11
- const { ARGS, HELP } = impact;
12
- const { FILE_IS_NOT_YAML, IMPL_IS_MISSING } = config_1.STRINGS;
13
- /**
14
- * Validates process arguments
15
- * @private
16
- */
17
- const validateAndParseProcessArgs = () => (0, ts_command_line_args_1.parse)(ARGS);
18
- /**
19
- * Prepends process path to fiven `filePath`.
20
- * @private
21
- */
22
- const prependFullFilePath = (filePath) => {
23
- const processRunningPath = process.cwd();
24
- return path.normalize(`${processRunningPath}/${filePath}`);
25
- };
26
- /**
27
- * Parses process argument, if it's `yaml` file, then returns it.
28
- * Otherwise throws error.
29
- */
30
- const parseProcessArgument = () => {
31
- const { impl, ompl, help } = validateAndParseProcessArgs();
32
- if (help) {
33
- console.log(HELP);
34
- return;
35
- }
36
- if (impl) {
37
- if ((0, yaml_1.checkIfFileIsYaml)(impl)) {
38
- return {
39
- inputPath: prependFullFilePath(impl),
40
- ...(ompl && { outputPath: prependFullFilePath(ompl) }),
41
- };
42
- }
43
- throw new CliInputError(FILE_IS_NOT_YAML);
44
- }
45
- throw new CliInputError(IMPL_IS_MISSING);
46
- };
47
- exports.parseProcessArgument = parseProcessArgument;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLCtEQUEyQztBQUUzQyxpQ0FBeUM7QUFDekMscUNBQWdDO0FBRWhDLHNDQUEwQztBQUkxQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDeEIsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxNQUFNLENBQUM7QUFFNUIsTUFBTSxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFcEQ7OztHQUdHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFBLDRCQUFLLEVBQW9CLElBQUksQ0FBQyxDQUFDO0FBRXpFOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFekMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsa0JBQWtCLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRTtJQUN2QyxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRywyQkFBMkIsRUFBRSxDQUFDO0lBRXpELElBQUksSUFBSSxFQUFFO1FBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixPQUFPO0tBQ1I7SUFFRCxJQUFJLElBQUksRUFBRTtRQUNSLElBQUksSUFBQSx3QkFBaUIsRUFBQyxJQUFJLENBQUMsRUFBRTtZQUMzQixPQUFPO2dCQUNMLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBQyxVQUFVLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQzthQUNyRCxDQUFDO1NBQ0g7UUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDM0M7SUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQXBCVyxRQUFBLG9CQUFvQix3QkFvQi9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7cGFyc2V9IGZyb20gJ3RzLWNvbW1hbmQtbGluZS1hcmdzJztcblxuaW1wb3J0IHtjaGVja0lmRmlsZUlzWWFtbH0gZnJvbSAnLi95YW1sJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICcuL2Vycm9ycyc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge2ltcGFjdFByb2Nlc3NBcmdzfSBmcm9tICcuLi90eXBlcy9wcm9jZXNzLWFyZ3MnO1xuXG5jb25zdCB7Q2xpSW5wdXRFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtpbXBhY3R9ID0gQ09ORklHO1xuY29uc3Qge0FSR1MsIEhFTFB9ID0gaW1wYWN0O1xuXG5jb25zdCB7RklMRV9JU19OT1RfWUFNTCwgSU1QTF9JU19NSVNTSU5HfSA9IFNUUklOR1M7XG5cbi8qKlxuICogVmFsaWRhdGVzIHByb2Nlc3MgYXJndW1lbnRzXG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MgPSAoKSA9PiBwYXJzZTxpbXBhY3RQcm9jZXNzQXJncz4oQVJHUyk7XG5cbi8qKlxuICogUHJlcGVuZHMgcHJvY2VzcyBwYXRoIHRvIGZpdmVuIGBmaWxlUGF0aGAuXG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCBwcmVwZW5kRnVsbEZpbGVQYXRoID0gKGZpbGVQYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcHJvY2Vzc1J1bm5pbmdQYXRoID0gcHJvY2Vzcy5jd2QoKTtcblxuICByZXR1cm4gcGF0aC5ub3JtYWxpemUoYCR7cHJvY2Vzc1J1bm5pbmdQYXRofS8ke2ZpbGVQYXRofWApO1xufTtcblxuLyoqXG4gKiBQYXJzZXMgcHJvY2VzcyBhcmd1bWVudCwgaWYgaXQncyBgeWFtbGAgZmlsZSwgdGhlbiByZXR1cm5zIGl0LlxuICogT3RoZXJ3aXNlIHRocm93cyBlcnJvci5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlUHJvY2Vzc0FyZ3VtZW50ID0gKCkgPT4ge1xuICBjb25zdCB7aW1wbCwgb21wbCwgaGVscH0gPSB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MoKTtcblxuICBpZiAoaGVscCkge1xuICAgIGNvbnNvbGUubG9nKEhFTFApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChpbXBsKSB7XG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKGltcGwpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgoaW1wbCksXG4gICAgICAgIC4uLihvbXBsICYmIHtvdXRwdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG9tcGwpfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKEZJTEVfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoSU1QTF9JU19NSVNTSU5HKTtcbn07XG4iXX0=
@@ -1,6 +0,0 @@
1
- declare const CUSTOM_ERRORS: readonly ["CliInputError", "ImplValidationError", "ModelInitializationError", "ModelCredentialError"];
2
- type CustomErrors = {
3
- [K in (typeof CUSTOM_ERRORS)[number]]: ErrorConstructor;
4
- };
5
- export declare const ERRORS: CustomErrors;
6
- export {};
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ERRORS = void 0;
4
- const CUSTOM_ERRORS = [
5
- 'CliInputError',
6
- 'ImplValidationError',
7
- 'ModelInitializationError',
8
- 'ModelCredentialError',
9
- ];
10
- exports.ERRORS = CUSTOM_ERRORS.reduce((acc, className) => {
11
- acc = {
12
- ...acc,
13
- [className]: class extends Error {
14
- constructor(message) {
15
- super(message);
16
- this.name = this.constructor.name;
17
- }
18
- },
19
- };
20
- return acc;
21
- }, {});
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsMEJBQTBCO0lBQzFCLHNCQUFzQjtDQUNkLENBQUM7QUFNRSxRQUFBLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFO0lBQzVELEdBQUcsR0FBRztRQUNKLEdBQUcsR0FBRztRQUNOLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBTSxTQUFRLEtBQUs7WUFDOUIsWUFBWSxPQUFlO2dCQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNwQyxDQUFDO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLEVBQUUsRUFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQ1VTVE9NX0VSUk9SUyA9IFtcbiAgJ0NsaUlucHV0RXJyb3InLFxuICAnSW1wbFZhbGlkYXRpb25FcnJvcicsXG4gICdNb2RlbEluaXRpYWxpemF0aW9uRXJyb3InLFxuICAnTW9kZWxDcmVkZW50aWFsRXJyb3InLFxuXSBhcyBjb25zdDtcblxudHlwZSBDdXN0b21FcnJvcnMgPSB7XG4gIFtLIGluICh0eXBlb2YgQ1VTVE9NX0VSUk9SUylbbnVtYmVyXV06IEVycm9yQ29uc3RydWN0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgRVJST1JTID0gQ1VTVE9NX0VSUk9SUy5yZWR1Y2UoKGFjYywgY2xhc3NOYW1lKSA9PiB7XG4gIGFjYyA9IHtcbiAgICAuLi5hY2MsXG4gICAgW2NsYXNzTmFtZV06IGNsYXNzIGV4dGVuZHMgRXJyb3Ige1xuICAgICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gYWNjO1xufSwge30gYXMgQ3VzdG9tRXJyb3JzKTtcbiJdfQ==
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.andHandle = void 0;
4
- const errors_1 = require("./errors");
5
- const config_1 = require("../config");
6
- const { ISSUE_TEMPLATE } = config_1.STRINGS;
7
- /**
8
- * Impact engine error handler. Logs errors and appends issue template if error is unknown.
9
- */
10
- const andHandle = (error) => {
11
- const knownErrors = Object.keys(errors_1.ERRORS);
12
- console.error(error);
13
- if (!knownErrors.includes(error.name)) {
14
- console.log(ISSUE_TEMPLATE);
15
- }
16
- };
17
- exports.andHandle = andHandle;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQWdDO0FBRWhDLHNDQUFrQztBQUVsQyxNQUFNLEVBQUMsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVqQzs7R0FFRztBQUNJLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7SUFDeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFNLENBQUMsQ0FBQztJQUV4QyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBQzdCO0FBQ0gsQ0FBQyxDQUFDO0FBUlcsUUFBQSxTQUFTLGFBUXBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4vZXJyb3JzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5jb25zdCB7SVNTVUVfVEVNUExBVEV9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBJbXBhY3QgZW5naW5lIGVycm9yIGhhbmRsZXIuIExvZ3MgZXJyb3JzIGFuZCBhcHBlbmRzIGlzc3VlIHRlbXBsYXRlIGlmIGVycm9yIGlzIHVua25vd24uXG4gKi9cbmV4cG9ydCBjb25zdCBhbmRIYW5kbGUgPSAoZXJyb3I6IEVycm9yKSA9PiB7XG4gIGNvbnN0IGtub3duRXJyb3JzID0gT2JqZWN0LmtleXMoRVJST1JTKTtcblxuICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICBpZiAoIWtub3duRXJyb3JzLmluY2x1ZGVzKGVycm9yLm5hbWUpKSB7XG4gICAgY29uc29sZS5sb2coSVNTVUVfVEVNUExBVEUpO1xuICB9XG59O1xuIl19
@@ -1,138 +0,0 @@
1
- {
2
- "0-Global": "WOR",
3
- "1-Europe": "EEE",
4
- "Albania": "ALB",
5
- "Algeria": "DZA",
6
- "Angola": "AGO",
7
- "Argentina": "ARG",
8
- "Armenia": "ARM",
9
- "Australia": "AUS",
10
- "Austria": "AUT",
11
- "Azerbaijan": "AZE",
12
- "Bahrain": "BHR",
13
- "Bangladesh": "BGD",
14
- "Belarus": "BLR",
15
- "Belgium": "BEL",
16
- "Benin": "BEN",
17
- "Bolivia": "BOL",
18
- "Bosnia and Herzegovina": "BIH",
19
- "Botswana": "BWA",
20
- "Brazil": "BRA",
21
- "Brunei": "BRN",
22
- "Bulgaria": "BGR",
23
- "Cambodia": "KHM",
24
- "Cameroon": "CMR",
25
- "Canada": "CAN",
26
- "Chile": "CHL",
27
- "China": "CHN",
28
- "Colombia": "COL",
29
- "Congo": "COG",
30
- "Costa Rica": "CRI",
31
- "Croatia": "HRV",
32
- "Cuba": "CUB",
33
- "Cyprus": "CYP",
34
- "Czech Republic": "CZE",
35
- "Denmark": "DNK",
36
- "Dominican Republic": "DOM",
37
- "DR Congo": "COD",
38
- "Ecuador": "ECU",
39
- "Egypt": "EGY",
40
- "El Salvador": "SLV",
41
- "Eritrea": "ERI",
42
- "Estonia": "EST",
43
- "Ethiopia": "ETH",
44
- "Finland": "FIN",
45
- "France": "FRA",
46
- "Gabon": "GAB",
47
- "Georgia": "GEO",
48
- "Germany": "DEU",
49
- "Ghana": "GHA",
50
- "Greece": "GRC",
51
- "Guatemala": "GTM",
52
- "Haiti": "HTI",
53
- "Honduras": "HND",
54
- "Hungary": "HUN",
55
- "Iceland": "ISL",
56
- "India": "IND",
57
- "Indonesia": "IDN",
58
- "Iran": "IRN",
59
- "Iraq": "IRQ",
60
- "Ireland": "IRL",
61
- "Israel": "ISR",
62
- "Italy": "ITA",
63
- "Ivory Coast": "CIV",
64
- "Jamaica": "JAM",
65
- "Japan": "JPN",
66
- "Jordan": "JOR",
67
- "Kazakhstan": "KAZ",
68
- "Kenya": "KEN",
69
- "Kuwait": "KWT",
70
- "Kyrgyzstan": "KGZ",
71
- "Latvia": "LVA",
72
- "Lebanon": "LBN",
73
- "Libyan Arab Jamahiriya": "LBY",
74
- "Lithuania": "LTU",
75
- "Luxembourg": "LUX",
76
- "Malaysia": "MYS",
77
- "Malta": "MLT",
78
- "Mexico": "MEX",
79
- "Moldova": "MDA",
80
- "Mongolia": "MNG",
81
- "Morocco": "MAR",
82
- "Mozambique": "MOZ",
83
- "Myanmar": "MMR",
84
- "Namibia": "NAM",
85
- "Nepal": "NPL",
86
- "Netherlands": "NLD",
87
- "New Zealand": "NZL",
88
- "Nicaragua": "NIC",
89
- "Nigeria": "NGA",
90
- "North Korea": "PRK",
91
- "North Macedonia": "MKD",
92
- "Norway": "NOR",
93
- "Oman": "OMN",
94
- "Pakistan": "PAK",
95
- "Panama": "PAN",
96
- "Paraguay": "PRY",
97
- "Peru": "PER",
98
- "Philippines": "PHL",
99
- "Poland": "POL",
100
- "Portugal": "PRT",
101
- "Qatar": "QAT",
102
- "Romania": "ROU",
103
- "Russian Federation": "RUS",
104
- "Saudi Arabia": "SAU",
105
- "Senegal": "SEN",
106
- "Serbia": "SCG",
107
- "Singapore": "SGP",
108
- "Slovakia": "SVK",
109
- "Slovenia": "SVN",
110
- "South Africa": "ZAF",
111
- "South Korea": "KOR",
112
- "Spain": "ESP",
113
- "Sri Lanka": "LKA",
114
- "Sudan": "SDN",
115
- "Sweden": "SWE",
116
- "Switzerland": "CHE",
117
- "Syrian Arab Republic": "SYR",
118
- "Taiwan": "TWN",
119
- "Tajikistan": "TJK",
120
- "Tanzania": "TZA",
121
- "Thailand": "THA",
122
- "Togo": "TGO",
123
- "Trinidad and Tobago": "TTO",
124
- "Tunisia": "TUN",
125
- "Turkey": "TUR",
126
- "Turkmenistan": "TKM",
127
- "Ukraine": "UKR",
128
- "United Arab Emirates": "ARE",
129
- "United Kingdom": "GBR",
130
- "United States of America": "USA",
131
- "Uruguay": "URY",
132
- "Uzbekistan": "UZB",
133
- "Venezuela": "VEN",
134
- "Vietnam": "VNM",
135
- "Yemen": "YEM",
136
- "Zambia": "ZMB",
137
- "Zimbabwe": "ZWE"
138
- }