pareto-test 0.13.99 → 0.13.100
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.
- package/dist/implementation/manual/commands/run_tests.d.ts +2 -2
- package/dist/implementation/manual/commands/run_tests.js +9 -9
- package/dist/implementation/temp/higher_order_functions/command_creators/test.d.ts +6 -6
- package/dist/implementation/temp/higher_order_functions/command_creators/test.js +11 -9
- package/package.json +1 -1
|
@@ -5,8 +5,8 @@ export type Parameters = {
|
|
|
5
5
|
'test results': d_test.Results;
|
|
6
6
|
};
|
|
7
7
|
export type Command = _pi.Command<null, Parameters>;
|
|
8
|
-
export type Signature = _pi.Command_Procedure<Command, {
|
|
8
|
+
export type Signature = _pi.Command_Procedure<Command, null, null, {
|
|
9
9
|
'log error': resources_pareto.commands.log_error;
|
|
10
10
|
'log': resources_pareto.commands.log;
|
|
11
|
-
}
|
|
11
|
+
}>;
|
|
12
12
|
export declare const $$: Signature;
|
|
@@ -46,16 +46,16 @@ const has_passed = (results) => _pt.boolean.from.dictionary(_pt.dictionary.from.
|
|
|
46
46
|
default: return _pt.au($[0]);
|
|
47
47
|
}
|
|
48
48
|
}))).is_empty();
|
|
49
|
-
exports.$$ = _p.command_procedure(($
|
|
50
|
-
$
|
|
49
|
+
exports.$$ = _p.command_procedure(($d, $s, $q, $c) => [
|
|
50
|
+
$c.log.execute({
|
|
51
51
|
'message': sh.pg.sentences([
|
|
52
52
|
sh.sentence([
|
|
53
53
|
sh.ph.literal("running tests..."),
|
|
54
54
|
])
|
|
55
55
|
]),
|
|
56
56
|
}, ($) => $),
|
|
57
|
-
_p.if_.direct(has_passed($
|
|
58
|
-
$
|
|
57
|
+
_p.if_.direct(has_passed($d['test results']), [
|
|
58
|
+
$c.log.execute({
|
|
59
59
|
'message': sh.pg.sentences([
|
|
60
60
|
sh.sentence([]),
|
|
61
61
|
sh.sentence([
|
|
@@ -64,10 +64,10 @@ exports.$$ = _p.command_procedure(($p, $cr) => [
|
|
|
64
64
|
]),
|
|
65
65
|
}, ($) => $),
|
|
66
66
|
]),
|
|
67
|
-
_p.if_.direct(!has_passed($
|
|
68
|
-
$
|
|
67
|
+
_p.if_.direct(!has_passed($d['test results']), [
|
|
68
|
+
$c['log error'].execute({
|
|
69
69
|
'message': sh.pg.composed([
|
|
70
|
-
t_test_result_to_fp.Results($
|
|
70
|
+
t_test_result_to_fp.Results($d['test results']),
|
|
71
71
|
sh.pg.sentences([
|
|
72
72
|
sh.sentence([]),
|
|
73
73
|
sh.sentence([
|
|
@@ -76,7 +76,7 @@ exports.$$ = _p.command_procedure(($p, $cr) => [
|
|
|
76
76
|
]),
|
|
77
77
|
])
|
|
78
78
|
}, ($) => $),
|
|
79
|
-
// $
|
|
79
|
+
// $c['write directory content'].execute(
|
|
80
80
|
// {
|
|
81
81
|
// 'path':
|
|
82
82
|
// 'content': $p,
|
|
@@ -85,4 +85,4 @@ exports.$$ = _p.command_procedure(($p, $cr) => [
|
|
|
85
85
|
// ),
|
|
86
86
|
])
|
|
87
87
|
]);
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuX3Rlc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL21hbnVhbC9jb21tYW5kcy9ydW5fdGVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQThDO0FBQzlDLDZEQUE4QztBQU85QyxZQUFZO0FBQ1osOEVBQStEO0FBa0IvRCw4RkFBK0U7QUFFL0UsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUF1QixFQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQ2hGLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQ3JDLENBQUMsY0FBYyxDQUNaLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQTRCLEVBQUU7SUFDdkQsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ2hILEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDdEgsT0FBTyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FDTCxDQUNKLENBQUMsUUFBUSxFQUFFLENBQUE7QUFFQyxRQUFBLEVBQUUsR0FBYyxFQUFFLENBQUMsaUJBQWlCLENBQzdDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNoQixFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FDVjtRQUNJLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUN2QixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2FBQ3BDLENBQUM7U0FDTCxDQUFDO0tBQ0wsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNYO0lBQ0QsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQ1QsVUFBVSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUM5QjtRQUNJLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUNWO1lBQ0ksU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUN2QixFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDZixFQUFFLENBQUMsUUFBUSxDQUFDO29CQUNSLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDO2lCQUN6QyxDQUFDO2FBQ0wsQ0FBQztTQUNMLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDWDtLQUNKLENBQ0o7SUFDRCxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FDVCxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsRUFDL0I7UUFDSSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUNuQjtZQUNJLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDdEIsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDL0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQ1osRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ2YsRUFBRSxDQUFDLFFBQVEsQ0FBQzt3QkFDUixFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztxQkFDckMsQ0FBQztpQkFDTCxDQUFDO2FBQ0wsQ0FBQztTQUNMLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDWDtRQUNELHlDQUF5QztRQUN6QyxRQUFRO1FBQ1IsbUJBQW1CO1FBQ25CLHlCQUF5QjtRQUN6QixTQUFTO1FBQ1QsNEVBQTRFO1FBQzVFLEtBQUs7S0FDUixDQUNKO0NBQ0osQ0FDSixDQUFBIn0=
|
|
@@ -5,16 +5,16 @@ import * as d_write_directory_content from "pareto-resources/dist/interface/to_b
|
|
|
5
5
|
import * as d_generic_testset from "../../../../interface/to_be_generated/generic_testset";
|
|
6
6
|
import * as resources_pareto from "pareto-resources/dist/interface/resources";
|
|
7
7
|
import * as resources_pareto_stream from "pareto-stream/dist/interface/resources";
|
|
8
|
-
export type Procedure = _pi.Command_Procedure<resources_pareto.resources.commands.main, {
|
|
8
|
+
export type Procedure = _pi.Command_Procedure<resources_pareto.resources.commands.main, null, {
|
|
9
|
+
'read directory': resources_pareto.filesystem_unrestricted.queries.read_directory;
|
|
10
|
+
'read file': resources_pareto.filesystem_unrestricted.queries.read_file;
|
|
11
|
+
'read directory content': resources_pareto.resources.queries.read_directory_content;
|
|
12
|
+
}, {
|
|
9
13
|
'write to stdout': resources_pareto_stream.commands.write_to_stdout;
|
|
10
14
|
'log error': resources_pareto_stream.commands.log_error;
|
|
11
15
|
'log': resources_pareto_stream.commands.log;
|
|
12
16
|
'write directory content': resources_pareto.resources.commands.write_directory_content;
|
|
13
|
-
}
|
|
14
|
-
'read directory': resources_pareto.filesystem_unrestricted.queries.read_directory;
|
|
15
|
-
'read file': resources_pareto.filesystem_unrestricted.queries.read_file;
|
|
16
|
-
'read directory content': resources_pareto.resources.queries.read_directory_content;
|
|
17
|
-
}, null>;
|
|
17
|
+
}>;
|
|
18
18
|
export type My_Error = ['command line', null] | ['writing to stdout', null] | ['read directory content', d_read_directory_content.Error] | ['write directory content', d_write_directory_content.Error] | [
|
|
19
19
|
'failed tests',
|
|
20
20
|
{
|
|
@@ -53,20 +53,22 @@ const sh = __importStar(require("pareto-fountain-pen/dist/shorthands/prose"));
|
|
|
53
53
|
const RED = "\x1b[31m";
|
|
54
54
|
const GREEN = "\x1b[32m";
|
|
55
55
|
const ENDCOLOR = "\x1b[0m";
|
|
56
|
-
const $$ = ($x) => _pc.command_procedure(($
|
|
56
|
+
const $$ = ($x) => _pc.command_procedure(($d, $s, $q, $c) => [
|
|
57
57
|
_pc.handle_error([
|
|
58
|
-
_pc.refine_without_error_transformation((abort) => r_test_command_refiner.Parameters($
|
|
58
|
+
_pc.refine_without_error_transformation((abort) => r_test_command_refiner.Parameters($d, ($) => abort(['command line', null])), ($) => [
|
|
59
59
|
//write the path to stdout
|
|
60
|
-
$
|
|
60
|
+
$c['write to stdout'].execute({
|
|
61
|
+
'data': `Testing with data from: ${t_path_to_text.Context_Path($['path to test data'])}\n`
|
|
62
|
+
}, ($) => ['writing to stdout', null]),
|
|
61
63
|
(0, _p_change_context_1.default)($, ($parent) =>
|
|
62
64
|
//read input dir
|
|
63
|
-
_pc.query($
|
|
65
|
+
_pc.query($q['read directory content']({
|
|
64
66
|
'path': t_path_to_path.extend_context_path_with_single_step($['path to test data'], { 'addition': "input" }),
|
|
65
67
|
}, ($) => ['read directory content', $]), ($) => $, ($) => {
|
|
66
68
|
const path_to_test_data = $parent['path to test data'];
|
|
67
69
|
return [
|
|
68
70
|
//read expected dir
|
|
69
|
-
_pc.query_stacked($
|
|
71
|
+
_pc.query_stacked($q['read directory content']({
|
|
70
72
|
'path': t_path_to_path.extend_context_path_with_single_step($parent['path to test data'], { 'addition': "expected" }),
|
|
71
73
|
}, ($) => ['read directory content', $]), $, ($v, $parent) => {
|
|
72
74
|
const test_results = _p.dictionary.literal({
|
|
@@ -130,7 +132,7 @@ const $$ = ($x) => _pc.command_procedure(($p, $cr, $qr) => [
|
|
|
130
132
|
});
|
|
131
133
|
return [
|
|
132
134
|
_pc.if_.direct(number_of_failed_tests === 0, [
|
|
133
|
-
$
|
|
135
|
+
$c['log'].execute({
|
|
134
136
|
'message': sh.pg.composed([
|
|
135
137
|
t_test_result_to_fountain_pen.Test_Collection_Result(test_results, {
|
|
136
138
|
'path to test data': t_path_to_text.Context_Path(path_to_test_data),
|
|
@@ -147,7 +149,7 @@ const $$ = ($x) => _pc.command_procedure(($p, $cr, $qr) => [
|
|
|
147
149
|
])
|
|
148
150
|
}, ($) => ['writing to stdout', null])
|
|
149
151
|
], [
|
|
150
|
-
$
|
|
152
|
+
$c['write directory content'].execute({
|
|
151
153
|
'directory': t_test_result_to_actual_tree.Test_Group_Result(test_results),
|
|
152
154
|
'path': t_path_to_path.extend_context_path_with_single_step(path_to_test_data, {
|
|
153
155
|
'addition': "actual",
|
|
@@ -164,7 +166,7 @@ const $$ = ($x) => _pc.command_procedure(($p, $cr, $qr) => [
|
|
|
164
166
|
})),
|
|
165
167
|
])
|
|
166
168
|
], ($) => [
|
|
167
|
-
$
|
|
169
|
+
$c['log error'].execute({
|
|
168
170
|
'message': _p.decide.state($, ($) => {
|
|
169
171
|
switch ($[0]) {
|
|
170
172
|
case 'command line': return _p.ss($, ($) => sh.pg.sentences([
|
|
@@ -221,4 +223,4 @@ const $$ = ($x) => _pc.command_procedure(($p, $cr, $qr) => [
|
|
|
221
223
|
})),
|
|
222
224
|
]);
|
|
223
225
|
exports.$$ = $$;
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi90ZW1wL2hpZ2hlcl9vcmRlcl9mdW5jdGlvbnMvY29tbWFuZF9jcmVhdG9ycy90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUErQztBQUMvQyw0REFBNkM7QUFFN0MsMkZBQWtFO0FBV2xFLG1HQUFvRjtBQUVwRix1SUFBd0g7QUFDeEgsMklBQTRIO0FBQzVILDZJQUE4SDtBQUU5SCx1SEFBd0c7QUFDeEcsNkdBQThGO0FBQzlGLHFIQUFzRztBQUV0Ryw2SUFBOEg7QUFDOUgsZ0lBQWlIO0FBRWpILDhFQUErRDtBQUUvRCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUE7QUFDdEIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFBO0FBQ3hCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQTtBQWlDbkIsTUFBTSxFQUFFLEdBQUcsQ0FDZCxFQUlDLEVBQ1EsRUFBRSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FDakMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBRWhCLEdBQUcsQ0FBQyxZQUFZLENBQ1o7UUFFSSxHQUFHLENBQUMsbUNBQW1DLENBQ25DLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQ3hDLEVBQUUsRUFDRixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQ3ZDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBRUgsMEJBQTBCO1lBQzFCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FDekI7Z0JBQ0ksTUFBTSxFQUFFLDJCQUEyQixjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUk7YUFDN0YsRUFDRCxDQUFDLENBQUMsRUFBWSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FDL0M7WUFFRCxJQUFBLDJCQUFpQixFQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLGdCQUFnQjtZQUNoQixHQUFHLENBQUMsS0FBSyxDQUNMLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUN4QjtnQkFDSSxNQUFNLEVBQUUsY0FBYyxDQUFDLG9DQUFvQyxDQUN2RCxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFDdEIsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQzFCO2FBQ0osRUFDRCxDQUFDLENBQUMsRUFBWSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUMsQ0FDakQsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ0YsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtnQkFDdEQsT0FBTztvQkFHSCxtQkFBbUI7b0JBQ25CLEdBQUcsQ0FBQyxhQUFhLENBQ2IsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQ3hCO3dCQUNJLE1BQU0sRUFBRSxjQUFjLENBQUMsb0NBQW9DLENBQ3ZELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxFQUM1QixFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FDN0I7cUJBQ0osRUFDRCxDQUFDLENBQUMsRUFBWSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUMsQ0FDakQsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUU7d0JBRVosTUFBTSxZQUFZLEdBQXlDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUF3Szs0QkFDcFAsY0FBYyxFQUFFO2dDQUNaLGFBQWEsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDO2dDQUNqQyxRQUFRLEVBQUU7b0NBQ04sNEJBQTRCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO29DQUMzRCwwQkFBMEIsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7aUNBQzVEOzZCQUNKOzRCQUNELGNBQWMsRUFBRTtnQ0FDWixhQUFhLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQztnQ0FDakMsUUFBUSxFQUFFO29DQUNOLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7b0NBQzlELDBCQUEwQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtpQ0FDNUQ7NkJBQ0o7NEJBQ0QsY0FBYyxFQUFFO2dDQUNaLGFBQWEsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDO2dDQUNqQyxRQUFRLEVBQUU7b0NBQ04sNEJBQTRCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO29DQUMzRCwwQkFBMEIsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO2lDQUMvRDs2QkFDSjt5QkFDSixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBa0MsRUFBRTs0QkFDakQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxFQUdqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLHNDQUFzQyxDQUFDLFNBQVMsQ0FDaEUsRUFBRSxDQUFDLEtBQUssRUFDUjtnQ0FDSSxVQUFVLEVBQUUsRUFBRSxDQUFDLFFBQVE7Z0NBQ3ZCLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxNQUFNOzZCQUM5QixDQUNKLENBQUMsQ0FBQTs0QkFDRixNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUMsK0JBQStCLENBQUMsRUFBRSxDQUFDLENBQUE7NEJBQzVELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxFQUFFLENBQUMsQ0FBQTs0QkFDOUQsT0FBTyxDQUFDLFlBQVksRUFBRTtvQ0FDbEIsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztvQ0FDdkIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQ3pCLENBQUMsQ0FBQyxFQUFzRCxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFzRCxFQUFFO3dDQUNwSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDOzRDQUNYLEtBQUssV0FBVyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dEQUNwQyxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUE7Z0RBQ25CLE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FDekIsQ0FBQyxDQUFDLEVBQXNELEVBQUU7b0RBQ3RELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFzRCxFQUFFO3dEQUNoRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDOzREQUNYLEtBQUssV0FBVyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dFQUNwQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUE7Z0VBQ3RCLE9BQU8sQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUM1Qjt3RUFDSSxPQUFPLEVBQUUsU0FBUzt3RUFDbEIsVUFBVSxFQUFFLFlBQVk7cUVBQzNCLENBQ0osQ0FBQyxDQUFBOzREQUNOLENBQUMsQ0FBQyxDQUFBOzREQUNGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLHVCQUF1QixFQUFFLENBQUMsc0NBQXNDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO3dEQUNqSCxDQUFDO29EQUNMLENBQUMsQ0FBQyxDQUFBO2dEQUNOLENBQUMsRUFDRCxHQUF1RCxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLHVCQUF1QixFQUFFLENBQUMsdUNBQXVDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUMzSixDQUFBOzRDQUNMLENBQUMsQ0FBQyxDQUFBOzRDQUNGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7d0NBQ2xFLENBQUM7b0NBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBdUQsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDbEc7aUNBQ0osQ0FBQyxDQUFBO3dCQUNOLENBQUMsQ0FBQyxDQUFBO3dCQUVGLE1BQU0sc0JBQXNCLEdBQUcsd0JBQXdCLENBQUMsaUJBQWlCLENBQ3JFLFlBQVksRUFDWjs0QkFDSSxzQkFBc0IsRUFBRSxLQUFLOzRCQUM3Qiw2QkFBNkIsRUFBRSxJQUFJO3lCQUN0QyxDQUNKLENBQUE7d0JBSUQsT0FBTzs0QkFFSCxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FDVixzQkFBc0IsS0FBSyxDQUFDLEVBQzVCO2dDQUNJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQ2I7b0NBQ0ksU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO3dDQUN0Qiw2QkFBNkIsQ0FBQyxzQkFBc0IsQ0FDaEQsWUFBWSxFQUNaOzRDQUNJLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7NENBQ25FLGNBQWMsRUFBRSxFQUFFO3lDQUNyQixDQUNKO3dDQUNELEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDOzRDQUVaLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDOzRDQUNmLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0RBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2dEQUNwQixFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztnREFDbEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDOzZDQUMxQixDQUFDO3lDQUNMLENBQUM7cUNBQ0wsQ0FBQztpQ0FFTCxFQUNELENBQUMsQ0FBQyxFQUFZLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUMvQzs2QkFDSixFQUNEO2dDQUNJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLE9BQU8sQ0FDakM7b0NBQ0ksV0FBVyxFQUFFLDRCQUE0QixDQUFDLGlCQUFpQixDQUN2RCxZQUFZLENBQ2Y7b0NBQ0QsTUFBTSxFQUFFLGNBQWMsQ0FBQyxvQ0FBb0MsQ0FDdkQsaUJBQWlCLEVBQ2pCO3dDQUNJLFVBQVUsRUFBRSxRQUFRO3FDQUN2QixDQUNKO2lDQUNKLEVBQ0QsQ0FBQyxDQUFDLEVBQVksRUFBRSxDQUFDLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLENBQ2xEO2dDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUU7d0NBQ3RCLE1BQU0sRUFBRSxjQUFjLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDO3dDQUN0RCxPQUFPLEVBQUUsWUFBWTtxQ0FDeEIsQ0FBQyxDQUFDOzZCQUNOLENBQ0o7eUJBQ0osQ0FBQTtvQkFDTCxDQUFDLENBQ0o7aUJBRUosQ0FBQTtZQUNMLENBQUMsQ0FDSixDQUFDO1NBRVQsQ0FDSjtLQUVKLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ0gsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FDbkI7WUFDSSxTQUFTLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ1gsS0FBSyxjQUFjLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQzt3QkFDeEQsRUFBRSxDQUFDLFFBQVEsQ0FBQzs0QkFDUixFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQzt5QkFDdEMsQ0FBQztxQkFDTCxDQUFDLENBQUMsQ0FBQTtvQkFDSCxLQUFLLG1CQUFtQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7d0JBQzdELEVBQUUsQ0FBQyxRQUFRLENBQUM7NEJBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUM7eUJBQzNDLENBQUM7cUJBQ0wsQ0FBQyxDQUFDLENBQUE7b0JBQ0gsS0FBSyx3QkFBd0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO3dCQUNsRSxFQUFFLENBQUMsUUFBUSxDQUFDOzRCQUNSLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO3lCQUNsQyxDQUFDO3dCQUNGLEVBQUUsQ0FBQyxRQUFRLENBQUM7NEJBQ1Isd0NBQXdDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzt5QkFDcEQsQ0FBQztxQkFDTCxDQUFDLENBQUMsQ0FBQTtvQkFDSCxLQUFLLHlCQUF5QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7d0JBQ25FLEVBQUUsQ0FBQyxRQUFRLENBQUM7NEJBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7eUJBQ25DLENBQUM7d0JBQ0YsRUFBRSxDQUFDLFFBQVEsQ0FBQzs0QkFDUix5Q0FBeUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO3lCQUNyRCxDQUFDO3FCQUNMLENBQUMsQ0FBQyxDQUFBO29CQUNILEtBQUssY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7d0JBQ3ZELDZCQUE2QixDQUFDLHNCQUFzQixDQUNoRCxDQUFDLENBQUMsS0FBSyxFQUNQOzRCQUNJLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxJQUFJOzRCQUMzQixjQUFjLEVBQUUsRUFBRTt5QkFDckIsQ0FDSjt3QkFDRCxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQzs0QkFDWixFQUFFLENBQUMsUUFBUSxDQUFDO2dDQUNSLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQ0FDbEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQ3BELENBQUMsQ0FBQyxLQUFLLEVBQ1A7b0NBQ0ksc0JBQXNCLEVBQUUsS0FBSztvQ0FDN0IsNkJBQTZCLEVBQUUsSUFBSTtpQ0FDdEMsQ0FDSixDQUFDO2dDQUNGLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2dDQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7NkJBQzFCLENBQUM7eUJBQ0wsQ0FBQztxQkFDTCxDQUFDLENBQUMsQ0FBQTtvQkFDSCxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQy9CLENBQUM7WUFDTCxDQUFDLENBQUM7U0FDTCxFQUNELENBQUMsQ0FBQyxFQUFnQixFQUFFLENBQUMsQ0FBQztZQUNsQixXQUFXLEVBQUUsQ0FBQztTQUNqQixDQUFDLENBQ0w7S0FDSixFQUNELEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDSCxXQUFXLEVBQUUsQ0FBQztLQUNqQixDQUFDLENBQ0w7Q0FDSixDQUNKLENBQUE7QUE5UVksUUFBQSxFQUFFLE1BOFFkIn0=
|