@effect-app/infra 0.63.1 → 0.65.0
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/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.content +241 -0
- package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.hash +1 -0
- package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.content +86 -0
- package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.hash +1 -0
- package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.content +47 -0
- package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.hash +1 -0
- package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.content +70 -0
- package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.hash +1 -0
- package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.content +170 -0
- package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.hash +1 -0
- package/.cache/effect/7a9c33db6aedaf00093a132c1d4e48e9d043cef05e932b8a37da24d44e224248.content +57 -0
- package/.cache/effect/7a9c33db6aedaf00093a132c1d4e48e9d043cef05e932b8a37da24d44e224248.hash +1 -0
- package/.cache/effect/c67d971634d2dc8118b40452b61c9a51620c35809be4a89982476aa80701d852.content +11 -0
- package/.cache/effect/c67d971634d2dc8118b40452b61c9a51620c35809be4a89982476aa80701d852.hash +1 -0
- package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.content +360 -0
- package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.hash +1 -0
- package/CHANGELOG.md +20 -0
- package/_cjs/filter.cjs +25 -52
- package/_cjs/filter.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +36 -2
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.test.cjs +6 -0
- package/_cjs/services/Store/codeFilter.test.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +59 -5
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_src/filter.ts +20 -46
- package/_src/services/Store/Cosmos.ts +43 -21
- package/_src/services/Store/codeFilter.test.ts +54 -0
- package/_src/services/Store/service.ts +1 -0
- package/_src/services/Store/utils.ts +64 -42
- package/dist/filter.d.ts +9 -13
- package/dist/filter.d.ts.map +1 -1
- package/dist/filter.js +22 -38
- package/dist/services/Repository.d.ts +14 -14
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +41 -21
- package/dist/services/Store/service.d.ts +4 -0
- package/dist/services/Store/service.d.ts.map +1 -1
- package/dist/services/Store/service.js +1 -1
- package/dist/services/Store/utils.d.ts.map +1 -1
- package/dist/services/Store/utils.js +65 -39
- package/package.json +5 -5
package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.content
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
export const $in = $in_1;
|
|
2
|
+
export const $notIn = $notIn_1;
|
|
3
|
+
export const $is = $is_1;
|
|
4
|
+
export const $isnt = $isnt_1;
|
|
5
|
+
export const $gt = $gt_1;
|
|
6
|
+
export const $gte = $gte_1;
|
|
7
|
+
export const $lt = $lt_1;
|
|
8
|
+
export const $lte = $lte_1;
|
|
9
|
+
export const $startsWith = $startsWith_1;
|
|
10
|
+
export const $endsWith = $endsWith_1;
|
|
11
|
+
export const $contains = $contains_1;
|
|
12
|
+
export function makeWhereFilter() {
|
|
13
|
+
const f = makeWhereFilter_();
|
|
14
|
+
return f;
|
|
15
|
+
}
|
|
16
|
+
function makeHelpers() {
|
|
17
|
+
const helpers = makeHelpers_();
|
|
18
|
+
return helpers;
|
|
19
|
+
}
|
|
20
|
+
function makeHelpers_() {
|
|
21
|
+
return {
|
|
22
|
+
in(path, value) {
|
|
23
|
+
return { key: path, value, t: "in" };
|
|
24
|
+
},
|
|
25
|
+
notIn(path, value) {
|
|
26
|
+
return { key: path, value, t: "not-in" };
|
|
27
|
+
},
|
|
28
|
+
eq(path, value) {
|
|
29
|
+
return { key: path, value, t: "eq" };
|
|
30
|
+
},
|
|
31
|
+
notEq(path, value) {
|
|
32
|
+
return { key: path, value, t: "not-eq" };
|
|
33
|
+
},
|
|
34
|
+
gt(path, value) {
|
|
35
|
+
return { key: path, value, t: "gt" };
|
|
36
|
+
},
|
|
37
|
+
gte(path, value) {
|
|
38
|
+
return { key: path, value, t: "gte" };
|
|
39
|
+
},
|
|
40
|
+
lt(path, value) {
|
|
41
|
+
return { key: path, value, t: "lt" };
|
|
42
|
+
},
|
|
43
|
+
lte(path, value) {
|
|
44
|
+
return { key: path, value, t: "lte" };
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function makeWhereFilter_() {
|
|
49
|
+
const helpers = makeHelpers();
|
|
50
|
+
const f = Object.assign(helpers.eq, helpers);
|
|
51
|
+
return f;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* @tsplus fluent string $in
|
|
55
|
+
* @tsplus fluent boolean $in
|
|
56
|
+
* @tsplus fluent number $in
|
|
57
|
+
*/
|
|
58
|
+
function $in_1(_, ...v) {
|
|
59
|
+
return $$in(v);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @tsplus fluent string $notIn
|
|
63
|
+
* @tsplus fluent boolean $notIn
|
|
64
|
+
* @tsplus fluent number $notIn
|
|
65
|
+
*/
|
|
66
|
+
function $notIn_1(_, ...v) {
|
|
67
|
+
return $$notIn(v);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @tsplus fluent string $is
|
|
71
|
+
* @tsplus fluent Date $is
|
|
72
|
+
* @tsplus fluent boolean $is
|
|
73
|
+
* @tsplus fluent number $is
|
|
74
|
+
* @tsplus fluent Object $is
|
|
75
|
+
*/
|
|
76
|
+
function $is_1(_, v) {
|
|
77
|
+
return $$is(v);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @tsplus fluent string $isnt
|
|
81
|
+
* @tsplus fluent Date $isnt
|
|
82
|
+
* @tsplus fluent boolean $isnt
|
|
83
|
+
* @tsplus fluent number $isnt
|
|
84
|
+
* @tsplus fluent Object $isnt
|
|
85
|
+
*/
|
|
86
|
+
function $isnt_1(_, v) {
|
|
87
|
+
return $$isnt(v);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @tsplus fluent string $gt
|
|
91
|
+
* @tsplus fluent Date $gt
|
|
92
|
+
* @tsplus fluent boolean $gt
|
|
93
|
+
* @tsplus fluent number $gt
|
|
94
|
+
* @tsplus fluent Object $gt
|
|
95
|
+
*/
|
|
96
|
+
function $gt_1(_, v) {
|
|
97
|
+
return $$gt(v);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @tsplus fluent string $gte
|
|
101
|
+
* @tsplus fluent Date $gte
|
|
102
|
+
* @tsplus fluent boolean $gte
|
|
103
|
+
* @tsplus fluent number $gte
|
|
104
|
+
* @tsplus fluent Object $gte
|
|
105
|
+
*/
|
|
106
|
+
function $gte_1(_, v) {
|
|
107
|
+
return $$gte(v);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* @tsplus fluent string $lt
|
|
111
|
+
* @tsplus fluent Date $lt
|
|
112
|
+
* @tsplus fluent boolean $lt
|
|
113
|
+
* @tsplus fluent number $lt
|
|
114
|
+
* @tsplus fluent Object $lt
|
|
115
|
+
*/
|
|
116
|
+
function $lt_1(_, v) {
|
|
117
|
+
return $$lt(v);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* @tsplus fluent string $lte
|
|
121
|
+
* @tsplus fluent Date $lte
|
|
122
|
+
* @tsplus fluent boolean $lte
|
|
123
|
+
* @tsplus fluent number $lte
|
|
124
|
+
* @tsplus fluent Object $lte
|
|
125
|
+
*/
|
|
126
|
+
function $lte_1(_, v) {
|
|
127
|
+
return $$lte(v);
|
|
128
|
+
}
|
|
129
|
+
function $is__(v) {
|
|
130
|
+
return (_) => $is_1(_, v);
|
|
131
|
+
}
|
|
132
|
+
function $isnt__(v) {
|
|
133
|
+
return (_) => $isnt_1(_, v);
|
|
134
|
+
}
|
|
135
|
+
function $lt__(v) {
|
|
136
|
+
return (_) => $lt_1(_, v);
|
|
137
|
+
}
|
|
138
|
+
function $lte__(v) {
|
|
139
|
+
return (_) => $lte_1(_, v);
|
|
140
|
+
}
|
|
141
|
+
function $gt__(v) {
|
|
142
|
+
return (_) => $gt_1(_, v);
|
|
143
|
+
}
|
|
144
|
+
function $gte__(v) {
|
|
145
|
+
return (_) => $gte_1(_, v);
|
|
146
|
+
}
|
|
147
|
+
function $in__(...v) {
|
|
148
|
+
return (_) => $in_1(_, ...v);
|
|
149
|
+
}
|
|
150
|
+
function $notIn__(...v) {
|
|
151
|
+
return (_) => $notIn_1(_, ...v);
|
|
152
|
+
}
|
|
153
|
+
function $startsWith__(v) {
|
|
154
|
+
return (_) => $startsWith_1(_, v);
|
|
155
|
+
}
|
|
156
|
+
function $endsWith__(v) {
|
|
157
|
+
return (_) => $endsWith_1(_, v);
|
|
158
|
+
}
|
|
159
|
+
function $contains__(v) {
|
|
160
|
+
return (_) => $contains_1(_, v);
|
|
161
|
+
}
|
|
162
|
+
export const Filters = {
|
|
163
|
+
$is: $is__,
|
|
164
|
+
$isnt: $isnt__,
|
|
165
|
+
$in: $in__,
|
|
166
|
+
$notIn: $notIn__,
|
|
167
|
+
$gt: $gt__,
|
|
168
|
+
$gte: $gte__,
|
|
169
|
+
$lt: $lt__,
|
|
170
|
+
$lte: $lte__,
|
|
171
|
+
$contains: $contains__,
|
|
172
|
+
$endsWith: $endsWith__,
|
|
173
|
+
$startsWith: $startsWith__
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* @tsplus fluent string $startsWith
|
|
177
|
+
*/
|
|
178
|
+
function $startsWith_1(_, v) {
|
|
179
|
+
return $$startsWith(v);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* @tsplus fluent string $endsWith
|
|
183
|
+
*/
|
|
184
|
+
function $endsWith_1(_, v) {
|
|
185
|
+
return $$endsWith(v);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* @tsplus fluent string $contains
|
|
189
|
+
*/
|
|
190
|
+
function $contains_1(_, v) {
|
|
191
|
+
return $$contains(v);
|
|
192
|
+
}
|
|
193
|
+
function $$in(v) {
|
|
194
|
+
return { t: "in", v };
|
|
195
|
+
}
|
|
196
|
+
function $$notIn(v) {
|
|
197
|
+
return { t: "not-in", v };
|
|
198
|
+
}
|
|
199
|
+
function $$is(v) {
|
|
200
|
+
return { t: "eq", v };
|
|
201
|
+
}
|
|
202
|
+
function $$isnt(v) {
|
|
203
|
+
return { t: "not-eq", v };
|
|
204
|
+
}
|
|
205
|
+
function $$lt(v) {
|
|
206
|
+
return { t: "lt", v };
|
|
207
|
+
}
|
|
208
|
+
function $$lte(v) {
|
|
209
|
+
return { t: "lte", v };
|
|
210
|
+
}
|
|
211
|
+
function $$gt(v) {
|
|
212
|
+
return { t: "gt", v };
|
|
213
|
+
}
|
|
214
|
+
function $$gte(v) {
|
|
215
|
+
return { t: "gte", v };
|
|
216
|
+
}
|
|
217
|
+
function $$contains(v) {
|
|
218
|
+
return { t: "contains", v };
|
|
219
|
+
}
|
|
220
|
+
function $$startsWith(v) {
|
|
221
|
+
return { t: "starts-with", v };
|
|
222
|
+
}
|
|
223
|
+
function $$endsWith(v) {
|
|
224
|
+
return { t: "ends-with", v };
|
|
225
|
+
}
|
|
226
|
+
function f(p, b) {
|
|
227
|
+
if (typeof b === "function")
|
|
228
|
+
b = b(undefined);
|
|
229
|
+
const obj = typeof b === "object" && b !== null;
|
|
230
|
+
return makeFilter(p, obj ? b.v : b, obj ? b.t ?? "eq" : "eq");
|
|
231
|
+
}
|
|
232
|
+
function makeFilter(path, value, t) {
|
|
233
|
+
return { key: path, t, value };
|
|
234
|
+
}
|
|
235
|
+
export function makeFilters() {
|
|
236
|
+
function test(p, v) {
|
|
237
|
+
return f(p, v);
|
|
238
|
+
}
|
|
239
|
+
return test;
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6ImFBdUhnQixHQUFHO2FBWUgsTUFBTTthQWNOLEdBQUc7YUFVSCxLQUFLO2FBV0wsR0FBRzthQVdILElBQUk7YUFXSixHQUFHO2FBV0gsSUFBSTthQXFFSixXQUFXO2FBT1gsU0FBUzthQU9ULFNBQVM7QUFoUnpCLE1BQU0sVUFBVSxlQUFlO0lBQzdCLE1BQU0sQ0FBQyxHQUFHLGdCQUFnQixFQUFnQixDQUFBO0lBQzFDLE9BQU8sQ0FBOEIsQ0FBQTtBQUN2QyxDQUFDO0FBRUQsU0FBUyxXQUFXO0lBQ2xCLE1BQU0sT0FBTyxHQUFHLFlBQVksRUFBZ0IsQ0FBQTtJQUM1QyxPQUFPLE9BQXFDLENBQUE7QUFDOUMsQ0FBQztBQUlELFNBQVMsWUFBWTtJQUluQixPQUFPO1FBQ0wsRUFBRSxDQUVBLElBQWdCLEVBQ2hCLEtBQW1CO1lBRW5CLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBYSxFQUFFLENBQUE7UUFDL0MsQ0FBQztRQUNELEtBQUssQ0FFSCxJQUFnQixFQUNoQixLQUFtQjtZQUVuQixPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQWlCLEVBQUUsQ0FBQTtRQUNuRCxDQUFDO1FBQ0QsRUFBRSxDQUVBLElBQWdCLEVBQ2hCLEtBQVE7WUFFUixPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQWEsRUFBRSxDQUFBO1FBQy9DLENBQUM7UUFDRCxLQUFLLENBRUgsSUFBZ0IsRUFDaEIsS0FBUTtZQUVSLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBaUIsRUFBRSxDQUFBO1FBQ25ELENBQUM7UUFDRCxFQUFFLENBRUEsSUFBZ0Is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LENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBUSxDQUFBO0lBQ3ZCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkVmFsdWVzIH0gZnJvbSBcIi4vZmlsdGVyL3R5cGVzL2ZpZWxkcy5qc1wiXG5pbXBvcnQgdHlwZSB7IEZpZWxkUGF0aCwgRmllbGRQYXRoVmFsdWUgfSBmcm9tIFwiLi9maWx0ZXIvdHlwZXMvcGF0aC9lYWdlci5qc1wiXG5pbXBvcnQgdHlwZSB7IFN1cHBvcnRlZFZhbHVlcywgV2hlcmUgfSBmcm9tIFwiLi9zZXJ2aWNlcy9TdG9yZS5qc1wiXG5cbi8qKlxuICogdGhlIGZ1bmN0aW9uIGRlZmF1bHRzIHRvIFwiZXFcIiwgYnV0IGhhcyBhZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIG5vdEVxLCBpbiBhbmQgbm90SW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaGVyZUZpbHRlcjxURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcz5cbiAgZXh0ZW5kcyBSZXR1cm5UeXBlPHR5cGVvZiBtYWtlV2hlcmVGaWx0ZXJfPFRGaWVsZFZhbHVlcz4+XG57fVxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VXaGVyZUZpbHRlcjxURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcz4oKSB7XG4gIGNvbnN0IGYgPSBtYWtlV2hlcmVGaWx0ZXJfPFRGaWVsZFZhbHVlcz4oKVxuICByZXR1cm4gZiBhcyBXaGVyZUZpbHRlcjxURmllbGRWYWx1ZXM+XG59XG5cbmZ1bmN0aW9uIG1ha2VIZWxwZXJzPFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzPigpIHtcbiAgY29uc3QgaGVscGVycyA9IG1ha2VIZWxwZXJzXzxURmllbGRWYWx1ZXM+KClcbiAgcmV0dXJuIGhlbHBlcnMgYXMgV2hlcmVIZWxwZXJzPFRGaWVsZFZhbHVlcz5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaGVyZUhlbHBlcnM8VEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXM+IGV4dGVuZHMgUmV0dXJuVHlwZTx0eXBlb2YgbWFrZUhlbHBlcnNfPFRGaWVsZFZhbHVlcz4+IHt9XG5cbmZ1bmN0aW9uIG1ha2VIZWxwZXJzXzxURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcz4oKSB7XG4gIHR5cGUgUGF0aHMgPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPlxuICB0eXBlIFZhbHVlPFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocz4gPSBGaWVsZFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFRGaWVsZE5hbWU+XG5cbiAgcmV0dXJuIHtcbiAgICBpbjxURmllbGROYW1lIGV4dGVuZHMgUGF0aHMsIFYgZXh0ZW5kcyBWYWx1ZTxURmllbGROYW1lPj4oXG4gICAgICB0aGlzOiB2b2lkLFxuICAgICAgcGF0aDogVEZpZWxkTmFtZSxcbiAgICAgIHZhbHVlOiByZWFkb25seSBWW11cbiAgICApIHtcbiAgICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwiaW5cIiBhcyBjb25zdCB9XG4gICAgfSxcbiAgICBub3RJbjxURmllbGROYW1lIGV4dGVuZHMgUGF0aHMsIFYgZXh0ZW5kcyBWYWx1ZTxURmllbGROYW1lPj4oXG4gICAgICB0aGlzOiB2b2lkLFxuICAgICAgcGF0aDogVEZpZWxkTmFtZSxcbiAgICAgIHZhbHVlOiByZWFkb25seSBWW11cbiAgICApIHtcbiAgICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwibm90LWluXCIgYXMgY29uc3QgfVxuICAgIH0sXG4gICAgZXE8VEZpZWxkTmFtZSBleHRlbmRzIFBhdGhzLCBWIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT4+KFxuICAgICAgdGhpczogdm9pZCxcbiAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4gICAgICB2YWx1ZTogVlxuICAgICkge1xuICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJlcVwiIGFzIGNvbnN0IH1cbiAgICB9LFxuICAgIG5vdEVxPFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocywgViBleHRlbmRzIFZhbHVlPFRGaWVsZE5hbWU+PihcbiAgICAgIHRoaXM6IHZvaWQsXG4gICAgICBwYXRoOiBURmllbGROYW1lLFxuICAgICAgdmFsdWU6IFZcbiAgICApIHtcbiAgICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwibm90LWVxXCIgYXMgY29uc3QgfVxuICAgIH0sXG4gICAgZ3Q8VEZpZWxkTmFtZSBleHRlbmRzIFBhdGhzLCBWIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT4+KFxuICAgICAgdGhpczogdm9pZCxcbiAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4gICAgICB2YWx1ZTogVlxuICAgICkge1xuICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJndFwiIGFzIGNvbnN0IH1cbiAgICB9LFxuICAgIGd0ZTxURmllbGROYW1lIGV4dGVuZHMgUGF0aHMsIFYgZXh0ZW5kcyBWYWx1ZTxURmllbGROYW1lPj4oXG4gICAgICB0aGlzOiB2b2lkLFxuICAgICAgcGF0aDogVEZpZWxkTmFtZSxcbiAgICAgIHZhbHVlOiBWXG4gICAgKSB7XG4gICAgICByZXR1cm4geyBrZXk6IHBhdGgsIHZhbHVlLCB0OiBcImd0ZVwiIGFzIGNvbnN0IH1cbiAgICB9LFxuICAgIGx0PFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocywgViBleHRlbmRzIFZhbHVlPFRGaWVsZE5hbWU+PihcbiAgICAgIHRoaXM6IHZvaWQsXG4gICAgICBwYXRoOiBURmllbGROYW1lLFxuICAgICAgdmFsdWU6IFZcbiAgICApIHtcbiAgICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwibHRcIiBhcyBjb25zdCB9XG4gICAgfSxcbiAgICBsdGU8VEZpZWxkTmFtZSBleHRlbmRzIFBhdGhzLCBWIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT4+KFxuICAgICAgdGhpczogdm9pZCxcbiAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4gICAgICB2YWx1ZTogVlxuICAgICkge1xuICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJsdGVcIiBhcyBjb25zdCB9XG4gICAgfVxuICB9IHNhdGlzZmllcyBSZWNvcmQ8c3RyaW5nLCAoLi4uYXJnczogYW55W10pID0+IFdoZXJlPlxufVxuXG5mdW5jdGlvbiBtYWtlV2hlcmVGaWx0ZXJfPFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzPigpIHtcbiAgY29uc3QgaGVscGVycyA9IG1ha2VIZWxwZXJzPFRGaWVsZFZhbHVlcz4oKVxuICBjb25zdCBmID0gT2JqZWN0LmFzc2lnbihoZWxwZXJzLmVxLCBoZWxwZXJzKVxuICByZXR1cm4gZlxufVxuXG5leHBvcnQgdHlwZSBXaGVyZVZhbHVlPFxuICBUIGV4dGVuZHNcbiAgICB8IFwiZXFcIlxuICAgIHwgXCJub3QtZXFcIlxuICAgIHwgXCJsdFwiXG4gICAgfCBcImd0XCJcbiAgICB8IFwibHRlXCJcbiAgICB8IFwiZ3RlXCJcbiAgICB8IFwic3RhcnRzLXdpdGhcIlxuICAgIHwgXCJlbmRzLXdpdGhcIlxuICAgIHwgXCJjb250YWluc1wiXG4gICAgfCBcImluXCJcbiAgICB8IFwibm90LWluXCIsXG4gIEEsIC8vIGV4dGVuZHMgU3VwcG9ydGVkVmFsdWVzLFxuICBWIGV4dGVuZHMgQSA9IEFcbj4gPSB7IHQ6IFQ7IHY6IFYgfVxuXG5leHBvcnQgdHlwZSBXaGVyZUluPFQgZXh0ZW5kcyBcImluXCIgfCBcIm5vdC1pblwiLCBWLCBWYWx1ZXMgZXh0ZW5kcyByZWFkb25seSBWW10gPSByZWFkb25seSBWW10+ID0ge1xuICB0OiBUXG4gIHY6IFZhbHVlc1xufVxuXG4vKipcbiAqIEB0c3BsdXMgZmx1ZW50IHN0cmluZyAkaW5cbiAqIEB0c3BsdXMgZmx1ZW50IGJvb2xlYW4gJGluXG4gKiBAdHNwbHVzIGZsdWVudCBudW1iZXIgJGluXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkaW48QSBleHRlbmRzIFN1cHBvcnRlZFZhbHVlcywgVmFsdWVzIGV4dGVuZHMgcmVhZG9ubHkgQVtdPihcbiAgXzogQSxcbiAgLi4udjogVmFsdWVzXG4pOiBXaGVyZUluPFwiaW5cIiwgQSwgVmFsdWVzPiB7XG4gIHJldHVybiAkJGluKHYpXG59XG5cbi8qKlxuICogQHRzcGx1cyBmbHVlbnQgc3RyaW5nICRub3RJblxuICogQHRzcGx1cyBmbHVlbnQgYm9vbGVhbiAkbm90SW5cbiAqIEB0c3BsdXMgZmx1ZW50IG51bWJlciAkbm90SW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uICRub3RJbjxBIGV4dGVuZHMgU3VwcG9ydGVkVmFsdWVzLCBWYWx1ZXMgZXh0ZW5kcyByZWFkb25seSBBW10+KFxuICBfOiBBLFxuICAuLi52OiBWYWx1ZXNcbik6IFdoZXJlSW48XCJub3QtaW5cIiwgQSwgVmFsdWVzPiB7XG4gIHJldHVybiAkJG5vdEluKHYpXG59XG5cbi8qKlxuICogQHRzcGx1cyBmbHVlbnQgc3RyaW5nICRpc1xuICogQHRzcGx1cyBmbHVlbnQgRGF0ZSAkaXNcbiAqIEB0c3BsdXMgZmx1ZW50IGJvb2xlYW4gJGlzXG4gKiBAdHNwbHVzIGZsdWVudCBudW1iZXIgJGlzXG4gKiBAdHNwbHVzIGZsdWVudCBPYmplY3QgJGlzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkaXM8QSwgViBleHRlbmRzIEE+KF86IEEsIHY6IFYpOiBXaGVyZVZhbHVlPFwiZXFcIiwgQSwgVj4ge1xuICByZXR1cm4gJCRpcyh2KVxufVxuLyoqXG4gKiBAdHNwbHVzIGZsdWVudCBzdHJpbmcgJGlzbnRcbiAqIEB0c3BsdXMgZmx1ZW50IERhdGUgJGlzbnRcbiAqIEB0c3BsdXMgZmx1ZW50IGJvb2xlYW4gJGlzbnRcbiAqIEB0c3BsdXMgZmx1ZW50IG51bWJlciAkaXNudFxuICogQHRzcGx1cyBmbHVlbnQgT2JqZWN0ICRpc250XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkaXNudDxBLCBWIGV4dGVuZHMgQT4oXzogQSwgdjogVik6IFdoZXJlVmFsdWU8XCJub3QtZXFcIiwgQSwgVj4ge1xuICByZXR1cm4gJCRpc250KHYpXG59XG5cbi8qKlxuICogQHRzcGx1cyBmbHVlbnQgc3RyaW5nICRndFxuICogQHRzcGx1cyBmbHVlbnQgRGF0ZSAkZ3RcbiAqIEB0c3BsdXMgZmx1ZW50IGJvb2xlYW4gJGd0XG4gKiBAdHNwbHVzIGZsdWVudCBudW1iZXIgJGd0XG4gKiBAdHNwbHVzIGZsdWVudCBPYmplY3QgJGd0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkZ3Q8QSwgViBleHRlbmRzIEE+KF86IEEsIHY6IFYpOiBXaGVyZVZhbHVlPFwiZ3RcIiwgQSwgVj4ge1xuICByZXR1cm4gJCRndCh2KVxufVxuXG4vKipcbiAqIEB0c3BsdXMgZmx1ZW50IHN0cmluZyAkZ3RlXG4gKiBAdHNwbHVzIGZsdWVudCBEYXRlICRndGVcbiAqIEB0c3BsdXMgZmx1ZW50IGJvb2xlYW4gJGd0ZVxuICogQHRzcGx1cyBmbHVlbnQgbnVtYmVyICRndGVcbiAqIEB0c3BsdXMgZmx1ZW50IE9iamVjdCAkZ3RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkZ3RlPEEsIFYgZXh0ZW5kcyBBPihfOiBBLCB2OiBWKTogV2hlcmVWYWx1ZTxcImd0ZVwiLCBBLCBWPiB7XG4gIHJldHVybiAkJGd0ZSh2KVxufVxuXG4vKipcbiAqIEB0c3BsdXMgZmx1ZW50IHN0cmluZyAkbHRcbiAqIEB0c3BsdXMgZmx1ZW50IERhdGUgJGx0XG4gKiBAdHNwbHVzIGZsdWVudCBib29sZWFuICRsdFxuICogQHRzcGx1cyBmbHVlbnQgbnVtYmVyICRsdFxuICogQHRzcGx1cyBmbHVlbnQgT2JqZWN0ICRsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gJGx0PEEsIFYgZXh0ZW5kcyBBPihfOiBBLCB2OiBWKTogV2hlcmVWYWx1ZTxcImx0XCIsIEEsIFY+IHtcbiAgcmV0dXJuICQkbHQodilcbn1cblxuLyoqXG4gKiBAdHNwbHVzIGZsdWVudCBzdHJpbmcgJGx0ZVxuICogQHRzcGx1cyBmbHVlbnQgRGF0ZSAkbHRlXG4gKiBAdHNwbHVzIGZsdWVudCBib29sZWFuICRsdGVcbiAqIEB0c3BsdXMgZmx1ZW50IG51bWJlciAkbHRlXG4gKiBAdHNwbHVzIGZsdWVudCBPYmplY3QgJGx0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gJGx0ZTxBLCBWIGV4dGVuZHMgQT4oXzogQSwgdjogVik6IFdoZXJlVmFsdWU8XCJsdGVcIiwgQSwgVj4ge1xuICByZXR1cm4gJCRsdGUodilcbn1cblxuZnVuY3Rpb24gJGlzX188ViBleHRlbmRzIEEsIEE+KHY6IFYpIHtcbiAgcmV0dXJuIChfOiBBKSA9PiAkaXMoXywgdilcbn1cblxuZnVuY3Rpb24gJGlzbnRfXzxWIGV4dGVuZHMgQSwgQT4odjogVikge1xuICByZXR1cm4gKF86IEEpID0+ICRpc250KF8sIHYpXG59XG5cbmZ1bmN0aW9uICRsdF9fPFYgZXh0ZW5kcyBBLCBBPih2OiBWKSB7XG4gIHJldHVybiAoXzogQSkgPT4gJGx0KF8sIHYpXG59XG5cbmZ1bmN0aW9uICRsdGVfXzxWIGV4dGVuZHMgQSwgQT4odjogVikge1xuICByZXR1cm4gKF86IEEpID0+ICRsdGUoXywgdilcbn1cblxuZnVuY3Rpb24gJGd0X188ViBleHRlbmRzIEEsIEE+KHY6IFYpIHtcbiAgcmV0dXJuIChfOiBBKSA9PiAkZ3QoXywgdilcbn1cblxuZnVuY3Rpb24gJGd0ZV9fPFYgZXh0ZW5kcyBBLCBBPih2OiBWKSB7XG4gIHJldHVybiAoXzogQSkgPT4gJGd0ZShfLCB2KVxufVxuXG5mdW5jdGlvbiAkaW5fXzxBIGV4dGVuZHMgU3VwcG9ydGVkVmFsdWVzLCBWYWx1ZXMgZXh0ZW5kcyByZWFkb25seSBBW10+KFxuICAuLi52OiBWYWx1ZXNcbikge1xuICByZXR1cm4gKF86IEEpID0+ICRpbihfLCAuLi52KVxufVxuXG5mdW5jdGlvbiAkbm90SW5fXzxBIGV4dGVuZHMgU3VwcG9ydGVkVmFsdWVzLCBWYWx1ZXMgZXh0ZW5kcyByZWFkb25seSBBW10+KFxuICAuLi52OiBWYWx1ZXNcbikge1xuICByZXR1cm4gKF86IEEpID0+ICRub3RJbihfLCAuLi52KVxufVxuXG5mdW5jdGlvbiAkc3RhcnRzV2l0aF9fPFYgZXh0ZW5kcyBBLCBBIGV4dGVuZHMgc3RyaW5nPih2OiBWKSB7XG4gIHJldHVybiAoXzogQSkgPT4gJHN0YXJ0c1dpdGgoXywgdilcbn1cblxuZnVuY3Rpb24gJGVuZHNXaXRoX188ViBleHRlbmRzIEEsIEEgZXh0ZW5kcyBzdHJpbmc+KHY6IFYpIHtcbiAgcmV0dXJuIChfOiBBKSA9PiAkZW5kc1dpdGgoXywgdilcbn1cblxuZnVuY3Rpb24gJGNvbnRhaW5zX188ViBleHRlbmRzIEEsIEEgZXh0ZW5kcyBzdHJpbmc+KHY6IFYpIHtcbiAgcmV0dXJuIChfOiBBKSA9PiAkY29udGFpbnMoXywgdilcbn1cblxuZXhwb3J0IGNvbnN0IEZpbHRlcnMgPSB7XG4gICRpczogJGlzX18sXG4gICRpc250OiAkaXNudF9fLFxuICAkaW46ICRpbl9fLFxuICAkbm90SW46ICRub3RJbl9fLFxuICAkZ3Q6ICRndF9fLFxuICAkZ3RlOiAkZ3RlX18sXG4gICRsdDogJGx0X18sXG4gICRsdGU6ICRsdGVfXyxcbiAgJGNvbnRhaW5zOiAkY29udGFpbnNfXyxcbiAgJGVuZHNXaXRoOiAkZW5kc1dpdGhfXyxcbiAgJHN0YXJ0c1dpdGg6ICRzdGFydHNXaXRoX19cbn1cblxuLyoqXG4gKiBAdHNwbHVzIGZsdWVudCBzdHJpbmcgJHN0YXJ0c1dpdGhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uICRzdGFydHNXaXRoPEEgZXh0ZW5kcyBzdHJpbmcsIFYgZXh0ZW5kcyBBPihfOiBBLCB2OiBWKTogV2hlcmVWYWx1ZTxcInN0YXJ0cy13aXRoXCIsIEEsIFY+IHtcbiAgcmV0dXJuICQkc3RhcnRzV2l0aCh2KVxufVxuXG4vKipcbiAqIEB0c3BsdXMgZmx1ZW50IHN0cmluZyAkZW5kc1dpdGhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uICRlbmRzV2l0aDxBIGV4dGVuZHMgc3RyaW5nLCBWIGV4dGVuZHMgQT4oXzogQSwgdjogVik6IFdoZXJlVmFsdWU8XCJlbmRzLXdpdGhcIiwgQSwgVj4ge1xuICByZXR1cm4gJCRlbmRzV2l0aCh2KVxufVxuXG4vKipcbiAqIEB0c3BsdXMgZmx1ZW50IHN0cmluZyAkY29udGFpbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uICRjb250YWluczxBIGV4dGVuZHMgc3RyaW5nLCBWIGV4dGVuZHMgQT4oXzogQSwgdjogVik6IFdoZXJlVmFsdWU8XCJjb250YWluc1wiLCBBLCBWPiB7XG4gIHJldHVybiAkJGNvbnRhaW5zKHYpXG59XG5cbmZ1bmN0aW9uICQkaW48TCBleHRlbmRzIHJlYWRvbmx5IGFueVtdPih2OiBMKSB7XG4gIHJldHVybiB7IHQ6IFwiaW5cIiBhcyBjb25zdCwgdiB9XG59XG5cbmZ1bmN0aW9uICQkbm90SW48TCBleHRlbmRzIHJlYWRvbmx5IGFueVtdPih2OiBMKSB7XG4gIHJldHVybiB7IHQ6IFwibm90LWluXCIgYXMgY29uc3QsIHYgfVxufVxuZnVuY3Rpb24gJCRpczxBPih2OiBBKSB7XG4gIHJldHVybiB7IHQ6IFwiZXFcIiBhcyBjb25zdCwgdiB9XG59XG5mdW5jdGlvbiAkJGlzbnQ8QT4odjogQSkge1xuICByZXR1cm4geyB0OiBcIm5vdC1lcVwiIGFzIGNvbnN0LCB2IH1cbn1cblxuZnVuY3Rpb24gJCRsdDxBPih2OiBBKSB7XG4gIHJldHVybiB7IHQ6IFwibHRcIiBhcyBjb25zdCwgdiB9XG59XG5cbmZ1bmN0aW9uICQkbHRlPEE+KHY6IEEpIHtcbiAgcmV0dXJuIHsgdDogXCJsdGVcIiBhcyBjb25zdCwgdiB9XG59XG5mdW5jdGlvbiAkJGd0PEE+KHY6IEEpIHtcbiAgcmV0dXJuIHsgdDogXCJndFwiIGFzIGNvbnN0LCB2IH1cbn1cblxuZnVuY3Rpb24gJCRndGU8QT4odjogQSkge1xuICByZXR1cm4geyB0OiBcImd0ZVwiIGFzIGNvbnN0LCB2IH1cbn1cblxuZnVuY3Rpb24gJCRjb250YWluczxBIGV4dGVuZHMgc3RyaW5nPih2OiBBKSB7XG4gIHJldHVybiB7IHQ6IFwiY29udGFpbnNcIiBhcyBjb25zdCwgdiB9XG59XG5mdW5jdGlvbiAkJHN0YXJ0c1dpdGg8QSBleHRlbmRzIHN0cmluZz4odjogQSkge1xuICByZXR1cm4geyB0OiBcInN0YXJ0cy13aXRoXCIgYXMgY29uc3QsIHYgfVxufVxuZnVuY3Rpb24gJCRlbmRzV2l0aDxBIGV4dGVuZHMgc3RyaW5nPih2OiBBKSB7XG4gIHJldHVybiB7IHQ6IFwiZW5kcy13aXRoXCIgYXMgY29uc3QsIHYgfVxufVxuXG50eXBlIFZhbHVlVHlwZTxWPiA9IHtcbiAgdDogXCJpblwiIHwgXCJub3QtaW5cIlxuICB2OiByZWFkb25seSBWW11cbn0gfCB7IHQ6IFwiZXFcIiB8IFwibm90LWVxXCI7IHY6IFYgfVxuXG50eXBlIFRUeXBlPFQ+ID0gVCBleHRlbmRzIFZhbHVlVHlwZTxhbnk+ID8gVFtcInRcIl0gOiBuZXZlclxudHlwZSBWVHlwZTxUPiA9IFQgZXh0ZW5kcyBWYWx1ZVR5cGU8YW55PiA/IFRbXCJ2XCJdIDogbmV2ZXJcblxuZnVuY3Rpb24gZihwOiBzdHJpbmcsIGI6IGFueSkge1xuICBpZiAodHlwZW9mIGIgPT09IFwiZnVuY3Rpb25cIikgYiA9IGIodW5kZWZpbmVkKVxuICBjb25zdCBvYmogPSB0eXBlb2YgYiA9PT0gXCJvYmplY3RcIiAmJiBiICE9PSBudWxsXG4gIHJldHVybiBtYWtlRmlsdGVyKHAsIG9iaiA/IGIudiA6IGIsIG9iaiA/IGIudCA/PyBcImVxXCIgOiBcImVxXCIpXG59XG5cbmZ1bmN0aW9uIG1ha2VGaWx0ZXI8VCBleHRlbmRzIFwiaW5cIiB8IFwibm90LWluXCIgfCBcImVxXCIgfCBcIm5vdC1lcVwiPihwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnksIHQ6IFQpIHtcbiAgcmV0dXJuIHsga2V5OiBwYXRoLCB0LCB2YWx1ZSB9XG59XG5cbnR5cGUgRklMPFMsIEsgZXh0ZW5kcyBzdHJpbmcsIFQgZXh0ZW5kcyBcImluXCIgfCBcIm5vdC1pblwiIHwgXCJlcVwiIHwgXCJub3QtZXFcIiwgVj4gPSB7XG4gIGtleTogS1xuICB0OiBUXG4gIHZhbHVlOiBWXG4gIHJlYWRvbmx5IFM6IFNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VGaWx0ZXJzPFQgZXh0ZW5kcyBGaWVsZFZhbHVlcz4oKSB7XG4gIHR5cGUgUGF0aHMgPSBGaWVsZFBhdGg8VD5cbiAgdHlwZSBWYWx1ZTxURmllbGROYW1lIGV4dGVuZHMgUGF0aHM+ID0gRmllbGRQYXRoVmFsdWU8VCwgVEZpZWxkTmFtZT5cblxuICBmdW5jdGlvbiB0ZXN0PFxuICAgIFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocyxcbiAgICBBIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT4sXG4gICAgVmFsXG4gID4oXG4gICAgcGF0aDogVEZpZWxkTmFtZSxcbiAgICB2YWx1ZTogKHY6IEEpID0+IFZhbFxuICApOiBGSUw8VCwgc3RyaW5nLCBUVHlwZTxWYWw+LCBWVHlwZTxWYWw+PlxuICBmdW5jdGlvbiB0ZXN0PFxuICAgIFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocyxcbiAgICBBIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT5cbiAgPihcbiAgICBwYXRoOiBURmllbGROYW1lLFxuICAgIHZhbHVlOiBBXG4gICk6IEZJTDxULCBzdHJpbmcsIFwiZXFcIiwgQT5cbiAgZnVuY3Rpb24gdGVzdChwOiBzdHJpbmcsIHY6IGFueSkge1xuICAgIHJldHVybiBmKHAsIHYpIGFzIGFueVxuICB9XG4gIHJldHVybiB0ZXN0XG59XG5cbi8vIGV4cG9ydCBmdW5jdGlvbiBtYWtlRmlsdGVyPFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzPigpIHtcbi8vICAgY29uc3QgZiA9IG1ha2VGaWx0ZXJfPFRGaWVsZFZhbHVlcz4oKVxuLy8gICByZXR1cm4gZiBhcyBXaGVyZUZpbHRlckhlbHBlcjxURmllbGRWYWx1ZXM+XG4vLyB9XG5cbi8vIGV4cG9ydCBpbnRlcmZhY2UgV2hlcmVGaWx0ZXJIZWxwZXI8VEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXM+IGV4dGVuZHMgUmV0dXJuVHlwZTx0eXBlb2YgbWFrZUZpbHRlcl88VEZpZWxkVmFsdWVzPj4ge31cblxuLy8gZnVuY3Rpb24gbWFrZUZpbHRlcl88VEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXM+KCkge1xuLy8gICBmdW5jdGlvbiBlcTxURmllbGROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sIFYgZXh0ZW5kcyBGaWVsZFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFRGaWVsZE5hbWU+Pihcbi8vICAgICBwYXRoOiBURmllbGROYW1lLFxuLy8gICAgIHZhbHVlOiBWXG4vLyAgICkge1xuLy8gICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwiZXFcIiBhcyBjb25zdCB9XG4vLyAgIH1cbi8vICAgY29uc3QgZiA9IE9iamVjdC5hc3NpZ24oZXEgc2F0aXNmaWVzICguLi5hcmdzOiBhbnlbXSkgPT4gV2hlcmUsIHtcbi8vICAgICBpbjxURmllbGROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sIFYgZXh0ZW5kcyBGaWVsZFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFRGaWVsZE5hbWU+Pihcbi8vICAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4vLyAgICAgICB2YWx1ZTogcmVhZG9ubHkgVltdXG4vLyAgICAgKSB7XG4vLyAgICAgICByZXR1cm4geyBrZXk6IHBhdGgsIHZhbHVlLCB0OiBcImluXCIgYXMgY29uc3QgfVxuLy8gICAgIH0sXG4vLyAgICAgbm90SW48VEZpZWxkTmFtZSBleHRlbmRzIEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+LCBWIGV4dGVuZHMgRmllbGRQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBURmllbGROYW1lPj4oXG4vLyAgICAgICBwYXRoOiBURmllbGROYW1lLFxuLy8gICAgICAgdmFsdWU6IHJlYWRvbmx5IFZbXVxuLy8gICAgICkge1xuLy8gICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJub3QtaW5cIiBhcyBjb25zdCB9XG4vLyAgICAgfSxcbi8vICAgICBlcSxcbi8vICAgICBub3RFcTxURmllbGROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sIFYgZXh0ZW5kcyBGaWVsZFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFRGaWVsZE5hbWU+Pihcbi8vICAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4vLyAgICAgICB2YWx1ZTogVlxuLy8gICAgICkge1xuLy8gICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJub3QtZXFcIiBhcyBjb25zdCB9XG4vLyAgICAgfVxuLy8gICB9IHNhdGlzZmllcyBSZWNvcmQ8c3RyaW5nLCAoLi4uYXJnczogYW55W10pID0+IFdoZXJlPilcbi8vICAgcmV0dXJuIGZcbi8vIH1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
303f340f76ffd50c75569aa3043bf124145e06cceb4057d9c4530ed31d07a728
|
package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.content
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import * as CausePretty from "@effect/io/internal_effect_untraced/cause-pretty";
|
|
2
|
+
export class NotFoundError {
|
|
3
|
+
_tag = "NotFoundError";
|
|
4
|
+
message;
|
|
5
|
+
constructor(type, id) {
|
|
6
|
+
this.message = `Didn't find ${type}#${id}`;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class ValidationError {
|
|
10
|
+
errors;
|
|
11
|
+
_tag = "ValidationError";
|
|
12
|
+
constructor(errors) {
|
|
13
|
+
this.errors = errors;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export class NotLoggedInError {
|
|
17
|
+
_tag = "NotLoggedInError";
|
|
18
|
+
}
|
|
19
|
+
export class UnauthorizedError {
|
|
20
|
+
_tag = "UnauthorizedError";
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The user carries a valid Userprofile, but there is a problem with the login none the less.
|
|
24
|
+
*/
|
|
25
|
+
export class LoginError extends NotLoggedInError {
|
|
26
|
+
message;
|
|
27
|
+
constructor(message) {
|
|
28
|
+
super();
|
|
29
|
+
this.message = message;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class InvalidStateError {
|
|
33
|
+
message;
|
|
34
|
+
_tag = "InvalidStateError";
|
|
35
|
+
constructor(message) {
|
|
36
|
+
this.message = message;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class CauseException extends Error {
|
|
40
|
+
originalCause;
|
|
41
|
+
_tag;
|
|
42
|
+
constructor(originalCause, _tag) {
|
|
43
|
+
const limit = Error.stackTraceLimit;
|
|
44
|
+
Error.stackTraceLimit = 0;
|
|
45
|
+
super();
|
|
46
|
+
this.originalCause = originalCause;
|
|
47
|
+
this._tag = _tag;
|
|
48
|
+
Error.stackTraceLimit = limit;
|
|
49
|
+
const pretty = CausePretty.prettyErrors(this.originalCause);
|
|
50
|
+
if (pretty.length > 0) {
|
|
51
|
+
this.name = pretty[0].message.split(":")[0];
|
|
52
|
+
this.message = pretty[0].message.substring(this.name.length + 2);
|
|
53
|
+
this.stack = `${this.name}: ${this.message}\n` + pretty[0].stack;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
toString() {
|
|
57
|
+
return `[${this._tag}] ` + CausePretty.pretty(this.originalCause);
|
|
58
|
+
}
|
|
59
|
+
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
60
|
+
return this.toString();
|
|
61
|
+
}
|
|
62
|
+
toJSON() {
|
|
63
|
+
return {
|
|
64
|
+
_tag: this._tag,
|
|
65
|
+
message: this.message,
|
|
66
|
+
pretty: this.toString()
|
|
67
|
+
// cause: (this.cause as {}).$$.inspect(undefined, 10)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export class OptimisticConcurrencyException {
|
|
72
|
+
type;
|
|
73
|
+
id;
|
|
74
|
+
current;
|
|
75
|
+
found;
|
|
76
|
+
_tag = "OptimisticConcurrencyException";
|
|
77
|
+
message;
|
|
78
|
+
constructor(type, id, current, found) {
|
|
79
|
+
this.type = type;
|
|
80
|
+
this.id = id;
|
|
81
|
+
this.current = current;
|
|
82
|
+
this.found = found;
|
|
83
|
+
this.message = `Existing ${type} ${id} record changed`;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFdBQVcsTUFBTSxrREFBa0QsQ0FBQTtBQUUvRSxNQUFNLE9BQU8sYUFBYTtJQUNSLElBQUksR0FBRyxlQUFlLENBQUE7SUFDdEIsT0FBTyxDQUFRO0lBQy9CLFlBQVksSUFBTyxFQUFFLEVBQVU7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQTtJQUM1QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQUVFO0lBRFosSUFBSSxHQUFHLGlCQUFpQixDQUFBO0lBQ3hDLFlBQTRCLE1BQThCO1FBQTlCLFdBQU0sR0FBTixNQUFNLENBQXdCO0lBQUcsQ0FBQztDQUMvRDtBQUVELE1BQU0sT0FBTyxnQkFBZ0I7SUFDWCxJQUFJLEdBQUcsa0JBQWtCLENBQUE7Q0FDMUM7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBQ1osSUFBSSxHQUFHLG1CQUFtQixDQUFBO0NBQzNDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLGdCQUFnQjtJQUN6QjtJQUFyQixZQUFxQixPQUFlO1FBQ2xDLEtBQUssRUFBRSxDQUFBO1FBRFksWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUVwQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBRUE7SUFEWixJQUFJLEdBQUcsbUJBQW1CLENBQUE7SUFDMUMsWUFBNEIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0NBQ2hEO0FBRUQsTUFBTSxPQUFPLGNBQWtCLFNBQVEsS0FBSztJQUNyQjtJQUFrQztJQUF2RCxZQUFxQixhQUF1QixFQUFXLElBQVk7UUFDakUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQTtRQUNuQyxLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtRQUN6QixLQUFLLEVBQUUsQ0FBQTtRQUhZLGtCQUFhLEdBQWIsYUFBYSxDQUFVO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUlqRSxLQUFLLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtRQUM3QixNQUFNLE1BQU0sR0FBSSxXQUFtQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDcEUsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDaEUsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE9BQU8sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7U0FDakU7SUFDSCxDQUFDO0lBQ1EsUUFBUTtRQUNmLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUksV0FBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzVFLENBQUM7SUFDRCxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDdkIsMkRBQTJEO1NBQzVELENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sOEJBQThCO0lBR3BCO0lBQXVCO0lBQXFCO0lBQTJCO0lBRm5GLElBQUksR0FBRyxnQ0FBZ0MsQ0FBQTtJQUN2QyxPQUFPLENBQVE7SUFDeEIsWUFBcUIsSUFBWSxFQUFXLEVBQVUsRUFBVyxPQUFnQixFQUFXLEtBQWM7UUFBckYsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFXLE9BQUUsR0FBRixFQUFFLENBQVE7UUFBVyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVcsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUN4RyxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksSUFBSSxJQUFJLEVBQUUsaUJBQWlCLENBQUE7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQ2F1c2VQcmV0dHkgZnJvbSBcIkBlZmZlY3QvaW8vaW50ZXJuYWxfZWZmZWN0X3VudHJhY2VkL2NhdXNlLXByZXR0eVwiXG5cbmV4cG9ydCBjbGFzcyBOb3RGb3VuZEVycm9yPFQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+IHtcbiAgcHVibGljIHJlYWRvbmx5IF90YWcgPSBcIk5vdEZvdW5kRXJyb3JcIlxuICBwdWJsaWMgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nXG4gIGNvbnN0cnVjdG9yKHR5cGU6IFQsIGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBgRGlkbid0IGZpbmQgJHt0eXBlfSMke2lkfWBcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IF90YWcgPSBcIlZhbGlkYXRpb25FcnJvclwiXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBlcnJvcnM6IFJlYWRvbmx5QXJyYXk8dW5rbm93bj4pIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBOb3RMb2dnZWRJbkVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IF90YWcgPSBcIk5vdExvZ2dlZEluRXJyb3JcIlxufVxuXG5leHBvcnQgY2xhc3MgVW5hdXRob3JpemVkRXJyb3Ige1xuICBwdWJsaWMgcmVhZG9ubHkgX3RhZyA9IFwiVW5hdXRob3JpemVkRXJyb3JcIlxufVxuXG4vKipcbiAqIFRoZSB1c2VyIGNhcnJpZXMgYSB2YWxpZCBVc2VycHJvZmlsZSwgYnV0IHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBsb2dpbiBub25lIHRoZSBsZXNzLlxuICovXG5leHBvcnQgY2xhc3MgTG9naW5FcnJvciBleHRlbmRzIE5vdExvZ2dlZEluRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRTdGF0ZUVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IF90YWcgPSBcIkludmFsaWRTdGF0ZUVycm9yXCJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZykge31cbn1cblxuZXhwb3J0IGNsYXNzIENhdXNlRXhjZXB0aW9uPEU+IGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBvcmlnaW5hbENhdXNlOiBDYXVzZTxFPiwgcmVhZG9ubHkgX3RhZzogc3RyaW5nKSB7XG4gICAgY29uc3QgbGltaXQgPSBFcnJvci5zdGFja1RyYWNlTGltaXRcbiAgICBFcnJvci5zdGFja1RyYWNlTGltaXQgPSAwXG4gICAgc3VwZXIoKVxuICAgIEVycm9yLnN0YWNrVHJhY2VMaW1pdCA9IGxpbWl0XG4gICAgY29uc3QgcHJldHR5ID0gKENhdXNlUHJldHR5IGFzIGFueSkucHJldHR5RXJyb3JzKHRoaXMub3JpZ2luYWxDYXVzZSlcbiAgICBpZiAocHJldHR5Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubmFtZSA9IHByZXR0eVswXS5tZXNzYWdlLnNwbGl0KFwiOlwiKVswXVxuICAgICAgdGhpcy5tZXNzYWdlID0gcHJldHR5WzBdLm1lc3NhZ2Uuc3Vic3RyaW5nKHRoaXMubmFtZS5sZW5ndGggKyAyKVxuICAgICAgdGhpcy5zdGFjayA9IGAke3RoaXMubmFtZX06ICR7dGhpcy5tZXNzYWdlfVxcbmAgKyBwcmV0dHlbMF0uc3RhY2tcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIGBbJHt0aGlzLl90YWd9XSBgICsgKENhdXNlUHJldHR5IGFzIGFueSkucHJldHR5KHRoaXMub3JpZ2luYWxDYXVzZSlcbiAgfVxuICBbU3ltYm9sLmZvcihcIm5vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tXCIpXSgpIHtcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygpXG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF90YWc6IHRoaXMuX3RhZyxcbiAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcbiAgICAgIHByZXR0eTogdGhpcy50b1N0cmluZygpXG4gICAgICAvLyAgICAgIGNhdXNlOiAodGhpcy5jYXVzZSBhcyB7fSkuJCQuaW5zcGVjdCh1bmRlZmluZWQsIDEwKVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3B0aW1pc3RpY0NvbmN1cnJlbmN5RXhjZXB0aW9uIHtcbiAgcmVhZG9ubHkgX3RhZyA9IFwiT3B0aW1pc3RpY0NvbmN1cnJlbmN5RXhjZXB0aW9uXCJcbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHR5cGU6IHN0cmluZywgcmVhZG9ubHkgaWQ6IHN0cmluZywgcmVhZG9ubHkgY3VycmVudD86IHN0cmluZywgcmVhZG9ubHkgZm91bmQ/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBgRXhpc3RpbmcgJHt0eXBlfSAke2lkfSByZWNvcmQgY2hhbmdlZGBcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2106804d7ed5f62d59b96efcf115903f0f9819d46ae439f0e1304f2d1b729287
|
package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.content
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as tsplus_module_1 from "@effect/data/ReadonlyArray";
|
|
2
|
+
import * as tsplus_module_2 from "@effect-app/core/Array";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/infra/filter";
|
|
4
|
+
import { makeFilters } from "../../filter.js";
|
|
5
|
+
import { codeFilter } from "./utils.js";
|
|
6
|
+
const somethings = [
|
|
7
|
+
{ a: 1, b: "b", c: ["c"], d: [{ a: "a2", b: 1 }, { a: "a", b: 1 }], id: "1" },
|
|
8
|
+
{ a: 2, b: "b2", c: ["c2"], d: [{ a: "a4", b: 2 }, { a: "a5", b: 2 }], id: "2" }
|
|
9
|
+
];
|
|
10
|
+
const f_ = makeFilters();
|
|
11
|
+
export function makeSomethingFilter_(filter) {
|
|
12
|
+
return filter(f_);
|
|
13
|
+
}
|
|
14
|
+
export function somethingsWhere(makeWhere, mode) {
|
|
15
|
+
return makeSomethingFilter_((f) => {
|
|
16
|
+
const m = makeWhere ? makeWhere(f) : [];
|
|
17
|
+
return ({
|
|
18
|
+
mode,
|
|
19
|
+
where: (Array.isArray(m) ? m : [m])
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
test("works", () => {
|
|
24
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => "b2"))))))
|
|
25
|
+
.toEqual([somethings[1]]);
|
|
26
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$contains(_, "b")))))))
|
|
27
|
+
.toEqual([somethings[0], somethings[1]]);
|
|
28
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$contains(_, "2")))))))
|
|
29
|
+
.toEqual([somethings[1]]);
|
|
30
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$endsWith(_, "b")))))))
|
|
31
|
+
.toEqual([somethings[0]]);
|
|
32
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$endsWith(_, "2")))))))
|
|
33
|
+
.toEqual([somethings[1]]);
|
|
34
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$startsWith(_, "b")))))))
|
|
35
|
+
.toEqual([somethings[0], somethings[1]]);
|
|
36
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$startsWith(_, "2")))))))
|
|
37
|
+
.toEqual([]);
|
|
38
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => "b"))))))
|
|
39
|
+
.toEqual([somethings[0]]);
|
|
40
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("d.-1.a", (_) => "a5"))))))
|
|
41
|
+
.toEqual([somethings[1]]);
|
|
42
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("d.-1.a", (_) => "a"))))))
|
|
43
|
+
.toEqual([somethings[0]]);
|
|
44
|
+
expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("d.-1.a", (_) => tsplus_module_3.$isnt(_, "a")))))))
|
|
45
|
+
.toEqual([somethings[1]]);
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZUZpbHRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9jb2RlRmlsdGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFdkMsTUFBTSxVQUFVLEdBQUc7SUFDakIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRTtJQUM3RSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFO0NBQ2xELENBQUE7QUFFaEMsTUFBTSxFQUFFLEdBQUcsV0FBVyxFQUFhLENBQUE7QUFHbkMsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQXFEO0lBQ3hGLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUM3QixTQUVnQyxFQUNoQyxJQUFtQjtJQUVuQixPQUFPLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFF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Q0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsNEJBQUEsQ0FBQyxFQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDMUQsQ0FBQyxFQUVMO1NBQ0UsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRWQsTUFBTSxpQ0FDSiwwQkFBQSxVQUFVLEVBQ0csVUFBVSxDQUNuQixlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzNDLENBQUMsRUFFTDtTQUNFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFM0IsTUFBTSxpQ0FDSiwwQkFBQSxVQUFVLEVBQ0csVUFBVSxDQUNuQixlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2pELENBQUMsRUFFTDtTQUNFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFM0IsTUFBTSxpQ0FDSiwwQkFBQSxVQUFVLEVBQ0csVUFBVSxDQUNuQixlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2hELENBQUMsRUFFTDtTQUNFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFM0IsTUFBTSxpQ0FDSiwwQkFBQSxVQUFVLEVBQ0csVUFBVSxDQUNuQixlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHNCQUFBLENBQUMsRUFBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQ3pELENBQUMsRUFFTDtTQUNFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDN0IsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0b3JlV2hlcmVGaWx0ZXIsIFdoZXJlIH0gZnJvbSBcIkBlZmZlY3QtYXBwL2luZnJhL3NlcnZpY2VzL1N0b3JlXCJcbmltcG9ydCB7IG1ha2VGaWx0ZXJzIH0gZnJvbSBcIi4uLy4uL2ZpbHRlci5qc1wiXG5pbXBvcnQgeyBjb2RlRmlsdGVyIH0gZnJvbSBcIi4vdXRpbHMuanNcIlxuXG5jb25zdCBzb21ldGhpbmdzID0gW1xuICB7IGE6IDEsIGI6IFwiYlwiLCBjOiBbXCJjXCJdLCBkOiBbeyBhOiBcImEyXCIsIGI6IDEgfSwgeyBhOiBcImFcIiwgYjogMSB9XSwgaWQ6IFwiMVwiIH0sXG4gIHsgYTogMiwgYjogXCJiMlwiLCBjOiBbXCJjMlwiXSwgZDogW3sgYTogXCJhNFwiLCBiOiAyIH0sIHsgYTogXCJhNVwiLCBiOiAyIH1dLCBpZDogXCIyXCIgfVxuXSBzYXRpc2ZpZXMgcmVhZG9ubHkgU29tZXRoaW5nW11cblxuY29uc3QgZl8gPSBtYWtlRmlsdGVyczxTb21ldGhpbmc+KClcbmV4cG9ydCB0eXBlIFNvbWV0aGluZ1doZXJlRmlsdGVyID0gdHlwZW9mIGZfXG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlU29tZXRoaW5nRmlsdGVyXyhmaWx0ZXI6IChmOiBTb21ldGhpbmdXaGVyZUZpbHRlcikgPT4gU3RvcmVXaGVyZUZpbHRlcikge1xuICByZXR1cm4gZmlsdGVyKGZfKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc29tZXRoaW5nc1doZXJlKFxuICBtYWtlV2hlcmU6IChcbiAgICBmOiBTb21ldGhpbmdXaGVyZUZpbHRlclxuICApID0+IFdoZXJlIHwgW1doZXJlLCAuLi5XaGVyZVtdXSxcbiAgbW9kZT86IFwib3JcIiB8IFwiYW5kXCJcbikge1xuICByZXR1cm4gbWFrZVNvbWV0aGluZ0ZpbHRlcl8oKGYpID0+IHtcbiAgICBjb25zdCBtID0gbWFrZVdoZXJlID8gbWFrZVdoZXJlKGYpIDogW11cbiAgICByZXR1cm4gKHtcbiAgICAgIG1vZGUsXG4gICAgICB3aGVyZTogKEFycmF5LmlzQXJyYXkobSkgPyBtIGFzIHVua25vd24gYXMgW1doZXJlLCAuLi5XaGVyZVtdXSA6IFttXSkgYXMgcmVhZG9ubHkgW1doZXJlLCAuLi5XaGVyZVtdXVxuICAgIH0pXG4gIH0pXG59XG5cbnR5cGUgU29tZXRoaW5nRWxzZSA9IHtcbiAgYTogc3RyaW5nXG4gIGI6IG51bWJlclxufVxuXG50eXBlIFNvbWV0aGluZyA9IHtcbiAgYTogbnVtYmVyXG4gIGlkOiBzdHJpbmdcbiAgYjogc3RyaW5nXG4gIGM6IHJlYWRvbmx5IHN0cmluZ1tdXG4gIGQ6IHJlYWRvbmx5IFNvbWV0aGluZ0Vsc2VbXVxufVxuXG50ZXN0KFwid29ya3NcIiwgKCkgPT4ge1xuICBleHBlY3QoXG4gICAgc29tZXRoaW5nc1xuICAgICAgLmZpbHRlck1hcChjb2RlRmlsdGVyKFxuICAgICAgICBzb21ldGhpbmdzV2hlcmUoKF8pID0+IF8oXCJiXCIsIChfKSA9PiBcImIyXCIpKVxuICAgICAgKSlcbiAgICAgIC50b0FycmF5XG4gIClcbiAgICAudG9FcXVhbChbc29tZXRoaW5nc1sxXV0pXG5cbiAgZXhwZWN0KFxuICAgIHNvbWV0aGluZ3NcbiAgICAgIC5maWx0ZXJNYXAoY29kZUZpbHRlcihcbiAgICAgICAgc29tZXRoaW5nc1doZXJlKChfKSA9PiBfKFwiYlwiLCAoXykgPT4gXy4kY29udGFpbnMoXCJiXCIpKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW3NvbWV0aGluZ3NbMF0sIHNvbWV0aGluZ3NbMV1dKVxuXG4gIGV4cGVjdChcbiAgICBzb21ldGhpbmdzXG4gICAgICAuZmlsdGVyTWFwKGNvZGVGaWx0ZXIoXG4gICAgICAgIHNvbWV0aGluZ3NXaGVyZSgoXykgPT4gXyhcImJcIiwgKF8pID0+IF8uJGNvbnRhaW5zKFwiMlwiKSkpXG4gICAgICApKVxuICAgICAgLnRvQXJyYXlcbiAgKVxuICAgIC50b0VxdWFsKFtzb21ldGhpbmdzWzFdXSlcblxuICBleHBlY3QoXG4gICAgc29tZXRoaW5nc1xuICAgICAgLmZpbHRlck1hcChjb2RlRmlsdGVyKFxuICAgICAgICBzb21ldGhpbmdzV2hlcmUoKF8pID0+IF8oXCJiXCIsIChfKSA9PiBfLiRlbmRzV2l0aChcImJcIikpKVxuICAgICAgKSlcbiAgICAgIC50b0FycmF5XG4gIClcbiAgICAudG9FcXVhbChbc29tZXRoaW5nc1swXV0pXG5cbiAgZXhwZWN0KFxuICAgIHNvbWV0aGluZ3NcbiAgICAgIC5maWx0ZXJNYXAoY29kZUZpbHRlcihcbiAgICAgICAgc29tZXRoaW5nc1doZXJlKChfKSA9PiBfKFwiYlwiLCAoXykgPT4gXy4kZW5kc1dpdGgoXCIyXCIpKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW3NvbWV0aGluZ3NbMV1dKVxuXG4gIGV4cGVjdChcbiAgICBzb21ldGhpbmdzXG4gICAgICAuZmlsdGVyTWFwKGNvZGVGaWx0ZXIoXG4gICAgICAgIHNvbWV0aGluZ3NXaGVyZSgoXykgPT4gXyhcImJcIiwgKF8pID0+IF8uJHN0YXJ0c1dpdGgoXCJiXCIpKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW3NvbWV0aGluZ3NbMF0sIHNvbWV0aGluZ3NbMV1dKVxuXG4gIGV4cGVjdChcbiAgICBzb21ldGhpbmdzXG4gICAgICAuZmlsdGVyTWFwKGNvZGVGaWx0ZXIoXG4gICAgICAgIHNvbWV0aGluZ3NXaGVyZSgoXykgPT4gXyhcImJcIiwgKF8pID0+IF8uJHN0YXJ0c1dpdGgoXCIyXCIpKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW10pXG5cbiAgZXhwZWN0KFxuICAgIHNvbWV0aGluZ3NcbiAgICAgIC5maWx0ZXJNYXAoY29kZUZpbHRlcihcbiAgICAgICAgc29tZXRoaW5nc1doZXJlKChfKSA9PiBfKFwiYlwiLCAoXykgPT4gXCJiXCIpKVxuICAgICAgKSlcbiAgICAgIC50b0FycmF5XG4gIClcbiAgICAudG9FcXVhbChbc29tZXRoaW5nc1swXV0pXG5cbiAgZXhwZWN0KFxuICAgIHNvbWV0aGluZ3NcbiAgICAgIC5maWx0ZXJNYXAoY29kZUZpbHRlcihcbiAgICAgICAgc29tZXRoaW5nc1doZXJlKChfKSA9PiBfKFwiZC4tMS5hXCIsIChfKSA9PiBcImE1XCIpKVxuICAgICAgKSlcbiAgICAgIC50b0FycmF5XG4gIClcbiAgICAudG9FcXVhbChbc29tZXRoaW5nc1sxXV0pXG5cbiAgZXhwZWN0KFxuICAgIHNvbWV0aGluZ3NcbiAgICAgIC5maWx0ZXJNYXAoY29kZUZpbHRlcihcbiAgICAgICAgc29tZXRoaW5nc1doZXJlKChfKSA9PiBfKFwiZC4tMS5hXCIsIChfKSA9PiBcImFcIikpXG4gICAgICApKVxuICAgICAgLnRvQXJyYXlcbiAgKVxuICAgIC50b0VxdWFsKFtzb21ldGhpbmdzWzBdXSlcblxuICBleHBlY3QoXG4gICAgc29tZXRoaW5nc1xuICAgICAgLmZpbHRlck1hcChjb2RlRmlsdGVyKFxuICAgICAgICBzb21ldGhpbmdzV2hlcmUoKF8pID0+IF8oXCJkLi0xLmFcIiwgKF8pID0+IF8uJGlzbnQoXCJhXCIpKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW3NvbWV0aGluZ3NbMV1dKVxufSlcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0c3f90d28e483961c87493d6563be45e5a24323b6d777f037429c5c041113be2
|
package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.content
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as tsplus_module_1 from "@effect-app/prelude/service";
|
|
2
|
+
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
3
|
+
/**
|
|
4
|
+
* @tsplus type StoreMaker
|
|
5
|
+
* @tsplus companion StoreMaker.Ops
|
|
6
|
+
*/
|
|
7
|
+
export class StoreMaker extends tsplus_module_1.TagClass() {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @tsplus static ContextMap.Ops Make
|
|
11
|
+
*/
|
|
12
|
+
export const makeMap = tsplus_module_2.sync(() => {
|
|
13
|
+
const etags = new Map();
|
|
14
|
+
const getEtag = (id) => etags.get(id);
|
|
15
|
+
const setEtag = (id, eTag) => {
|
|
16
|
+
eTag === undefined ? etags.delete(id) : etags.set(id, eTag);
|
|
17
|
+
};
|
|
18
|
+
const parsedCache = new Map();
|
|
19
|
+
const parserCache = new Map();
|
|
20
|
+
const setAndReturn = (p, np) => {
|
|
21
|
+
parserCache.set(p, np);
|
|
22
|
+
return np;
|
|
23
|
+
};
|
|
24
|
+
const parserEnv = {
|
|
25
|
+
// TODO: lax: true would turn off refinement checks, may help on large payloads
|
|
26
|
+
// but of course removes confirming of validation rules (which may be okay for a database owned by the app, as we write safely)
|
|
27
|
+
lax: false,
|
|
28
|
+
cache: {
|
|
29
|
+
getOrSetParser: (p) => parserCache.get(p) ?? setAndReturn(p, (i) => parserEnv.cache.getOrSet(i, p)),
|
|
30
|
+
getOrSetParsers: (parsers) => {
|
|
31
|
+
return Object.entries(parsers).reduce((prev, [k, v]) => {
|
|
32
|
+
prev[k] = parserEnv.cache.getOrSetParser(v);
|
|
33
|
+
return prev;
|
|
34
|
+
}, {});
|
|
35
|
+
},
|
|
36
|
+
getOrSet: (i, parse) => {
|
|
37
|
+
const c = parsedCache.get(parse);
|
|
38
|
+
if (c) {
|
|
39
|
+
const f = c.get(i);
|
|
40
|
+
if (f) {
|
|
41
|
+
// console.log("$$$ cache hit", i)
|
|
42
|
+
return f;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
const nf = parse(i, parserEnv);
|
|
46
|
+
c.set(i, nf);
|
|
47
|
+
return nf;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
const nf = parse(i, parserEnv);
|
|
52
|
+
parsedCache.set(parse, new Map([[i, nf]]));
|
|
53
|
+
return nf;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
return {
|
|
59
|
+
get: getEtag,
|
|
60
|
+
set: setEtag,
|
|
61
|
+
parserEnv
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* @tsplus type ContextMap
|
|
66
|
+
* @tsplus companion ContextMap.Ops
|
|
67
|
+
*/
|
|
68
|
+
export class ContextMap extends tsplus_module_1.TagClass() {
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtGQTs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLFVBQVcsU0FBUSxnQkFBQSxRQUFRLEVBQWM7Q0FNOUQ7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxxQkFBWSxHQUFlLEVBQUU7SUFDbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUE7SUFDdkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0MsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFVLEVBQUUsSUFBd0IsRUFBRSxFQUFFO1FBQ3ZELElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzdELENBQUMsQ0FBQTtJQUVELE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxFQUd4QixDQUFBO0lBRUgsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBR3hCLENBQUE7SUFFSCxNQUFNLFlBQVksR0FBRyxDQUNuQixDQUFrQixFQUNsQixFQUErQixFQUMvQixFQUFFO1FBQ0YsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDdEIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDLENBQUE7SUFFRCxNQUFNLFNBQVMsR0FBYztRQUMzQiwrRUFBK0U7UUFDL0UsK0hBQStIO1FBQy9ILEdBQUcsRUFBRSxLQUFLO1FBQ1YsS0FBSyxFQUFFO1lBQ0wsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRyxlQUFlLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDM0IsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNyRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQzVDLE9BQU8sSUFBSSxDQUFBO2dCQUNiLENBQUMsRUFBRSxFQUFTLENBQUMsQ0FBQTtZQUNmLENBQUM7WUFDRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFPLEVBQUU7Z0JBQzFCLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ2hDLElBQUksQ0FBQyxFQUFFO29CQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ2xCLElBQUksQ0FBQyxFQUFFO3dCQUNMLGtDQUFrQzt3QkFDbEMsT0FBTyxDQUFDLENBQUE7cUJBQ1Q7eUJBQU07d0JBQ0wsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTt3QkFDOUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7d0JBQ1osT0FBTyxFQUFFLENBQUE7cUJBQ1Y7aUJBQ0Y7cUJBQU07b0JBQ0wsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTtvQkFDOUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDMUMsT0FBTyxFQUFFLENBQUE7aUJBQ1Y7WUFDSCxDQUFDO1NBQ0Y7S0FDRixDQUFBO0lBRUQsT0FBTztRQUNMLEdBQUcsRUFBRSxPQUFPO1FBQ1osR0FBRyxFQUFFLE9BQU87UUFDWixTQUFTO0tBQ1YsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxPQUFnQixVQUFXLFNBQVEsZ0JBQUEsUUFBUSxFQUFjO0NBSTlEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHR5cGUgeyBVbmlxdWVLZXkgfSBmcm9tIFwiQGF6dXJlL2Nvc21vc1wiXG5pbXBvcnQgdHlwZSB7IFBhcnNlciwgUGFyc2VyRW52IH0gZnJvbSBcIkBlZmZlY3QtYXBwL3NjaGVtYS9jdXN0b20vUGFyc2VyXCJcblxuaW1wb3J0IHR5cGUgeyBUaGVzZSB9IGZyb20gXCJAZWZmZWN0LWFwcC9wcmVsdWRlL3NjaGVtYVwiXG5pbXBvcnQgdHlwZSB7IE9wdGltaXN0aWNDb25jdXJyZW5jeUV4Y2VwdGlvbiB9IGZyb20gXCIuLi8uLi9lcnJvcnMuanNcIlxuXG5leHBvcnQgdHlwZSBTdG9yZUNvbmZpZzxFPiA9IHtcbiAgdW5pcXVlS2V5cz86IFVuaXF1ZUtleVtdXG4gIG1heEJ1bGtTaXplPzogbnVtYmVyXG4gIHBhcnRpdGlvblZhbHVlOiAoZTogRSkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkXG4gIGFsbG93TmFtZXNwYWNlPzogKG5hbWVzcGFjZTogc3RyaW5nKSA9PiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIFN1cHBvcnRlZFZhbHVlcyA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBudWxsXG5leHBvcnQgdHlwZSBTdXBwb3J0ZWRWYWx1ZXMyID0gc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlclxuXG4vLyBkZWZhdWx0IGlzIGVxXG5leHBvcnQgdHlwZSBXaGVyZSA9XG4gIHwgeyBrZXk6IHN0cmluZzsgdD86IFwiZXFcIiB8IFwibm90LWVxXCI7IHZhbHVlOiBTdXBwb3J0ZWRWYWx1ZXMgfVxuICB8IHsga2V5OiBzdHJpbmc7IHQ6IFwiZ3RcIiB8IFwibHRcIiB8IFwiZ3RlXCIgfCBcImx0ZVwiOyB2YWx1ZTogU3VwcG9ydGVkVmFsdWVzMiB9XG4gIHwgeyBrZXk6IHN0cmluZzsgdDogXCJjb250YWluc1wiIHwgXCJzdGFydHMtd2l0aFwiIHwgXCJlbmRzLXdpdGhcIjsgdmFsdWU6IHN0cmluZyB9XG4gIHwge1xuICAgIGtleTogc3RyaW5nXG4gICAgdDogXCJpblwiIHwgXCJub3QtaW5cIlxuICAgIHZhbHVlOiByZWFkb25seSAoU3VwcG9ydGVkVmFsdWVzKVtdXG4gIH1cblxuLy8gZGVmYXVsdCBpcyB3aGVyZVxuZXhwb3J0IHR5cGUgU3RvcmVXaGVyZUZpbHRlciA9IHtcbiAgdHlwZT86IFwid2hlcmVcIlxuICBtb2RlPzogXCJhbmRcIiB8IFwib3JcIiAvLyBkZWZhdWx0IGlzIGFuZFxuICB3aGVyZTogcmVhZG9ubHkgW1xuICAgIFdoZXJlLFxuICAgIC4uLihXaGVyZVtdKVxuICBdXG59XG5leHBvcnQgdHlwZSBMZWdhY3lGaWx0ZXI8RT4gPVxuICB8IHsgYnk6IGtleW9mIEU7IHR5cGU6IFwic3RhcnRzV2l0aFwiOyB2YWx1ZTogYW55IH1cbiAgfCB7IGJ5OiBrZXlvZiBFOyB0eXBlOiBcImVuZHNXaXRoXCI7IHZhbHVlOiBhbnkgfVxuICB8IHsgYnk6IGtleW9mIEU7IHR5cGU6IFwiY29udGFpbnNcIjsgdmFsdWU6IGFueSB9XG5leHBvcnQgdHlwZSBKb2luRmluZEZpbHRlciA9IHtcbiAgdHlwZTogXCJqb2luX2ZpbmRcIlxuICBrZXlzOiByZWFkb25seSBzdHJpbmdbXSAvKiB2YWx1ZSBwYXRocyBvZiBFICovXG4gIHZhbHVlS2V5OiBzdHJpbmcgLyogdmFsdWUgcGF0aHMgb2YgRVtrZXlzXVt2YWx1ZUtleV0gKi9cbiAgdmFsdWU6IGFueSAvKiB2YWx1ZSBwYXRoW3ZhbHVlS2V5XSBvZiBFICovXG59XG5leHBvcnQgdHlwZSBGaWx0ZXI8RT4gPVxuICB8IEpvaW5GaW5kRmlsdGVyXG4gIHwgU3RvcmVXaGVyZUZpbHRlclxuICB8IExlZ2FjeUZpbHRlcjxFPlxuXG5leHBvcnQgdHlwZSBGaWx0ZXJKb2luU2VsZWN0ID0ge1xuICB0eXBlOiBcImZpbHRlcl9qb2luX3NlbGVjdFwiXG4gIGtleXM6IHJlYWRvbmx5IHN0cmluZ1tdIC8qIHZhbHVlIHBhdGhzIG9mIEUgKi9cbiAgdmFsdWVLZXk6IHN0cmluZyAvKiB2YWx1ZSBwYXRocyBvZiBFW2tleXNdW3ZhbHVlS2V5XSAqL1xuICB2YWx1ZTogYW55IC8qIHZhbHVlIHBhdGhbdmFsdWVLZXldIG9mIEUgKi9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yZTxQTSBleHRlbmRzIFBlcnNpc3RlbmNlTW9kZWxUeXBlPElkPiwgSWQgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgYWxsOiBFZmZlY3Q8bmV2ZXIsIG5ldmVyLCBQTVtdPlxuICBmaWx0ZXI6IChcbiAgICBmaWx0ZXI6IEZpbHRlcjxQTT4sXG4gICAgY3Vyc29yPzogeyBsaW1pdD86IG51bWJlcjsgc2tpcD86IG51bWJlciB9XG4gICkgPT4gRWZmZWN0PG5ldmVyLCBuZXZlciwgUE1bXT5cbiAgZmlsdGVySm9pblNlbGVjdDogPFQgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIGZpbHRlcjogRmlsdGVySm9pblNlbGVjdFxuICApID0+IEVmZmVjdDxuZXZlciwgbmV2ZXIsIChUICYgeyBfcm9vdElkOiBzdHJpbmcgfSlbXT5cbiAgZmluZDogKGlkOiBJZCkgPT4gRWZmZWN0PG5ldmVyLCBuZXZlciwgT3B0aW9uPFBNPj5cbiAgc2V0OiAoZTogUE0pID0+IEVmZmVjdDxuZXZlciwgT3B0aW1pc3RpY0NvbmN1cnJlbmN5RXhjZXB0aW9uLCBQTT5cbiAgYmF0Y2hTZXQ6IChcbiAgICBpdGVtczogTm9uRW1wdHlSZWFkb25seUFycmF5PFBNPlxuICApID0+IEVmZmVjdDxuZXZlciwgT3B0aW1pc3RpY0NvbmN1cnJlbmN5RXhjZXB0aW9uLCBOb25FbXB0eVJlYWRvbmx5QXJyYXk8UE0+PlxuICBidWxrU2V0OiAoXG4gICAgaXRlbXM6IE5vbkVtcHR5UmVhZG9ubHlBcnJheTxQTT5cbiAgKSA9PiBFZmZlY3Q8bmV2ZXIsIE9wdGltaXN0aWNDb25jdXJyZW5jeUV4Y2VwdGlvbiwgTm9uRW1wdHlSZWFkb25seUFycmF5PFBNPj5cbiAgLyoqXG4gICAqIFJlcXVpcmVzIHRoZSBQTSB0eXBlLCBub3QgSWQsIGJlY2F1c2UgdmFyaW91cyBzdG9yZXMgbWF5IG5lZWQgdG8gY2FsY3VsYXRlIGUuZyBwYXJ0aXRpb24ga2V5cy5cbiAgICovXG4gIHJlbW92ZTogKGU6IFBNKSA9PiBFZmZlY3Q8bmV2ZXIsIG5ldmVyLCB2b2lkPlxufVxuXG4vKipcbiAqIEB0c3BsdXMgdHlwZSBTdG9yZU1ha2VyXG4gKiBAdHNwbHVzIGNvbXBhbmlvbiBTdG9yZU1ha2VyLk9wc1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3RvcmVNYWtlciBleHRlbmRzIFRhZ0NsYXNzPFN0b3JlTWFrZXI+KCkge1xuICBhYnN0cmFjdCBtYWtlOiA8UE0gZXh0ZW5kcyBQZXJzaXN0ZW5jZU1vZGVsVHlwZTxJZD4sIElkIGV4dGVuZHMgc3RyaW5nPihcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgc2VlZD86IEVmZmVjdDxuZXZlciwgbmV2ZXIsIEl0ZXJhYmxlPFBNPj4sXG4gICAgY29uZmlnPzogU3RvcmVDb25maWc8UE0+XG4gICkgPT4gRWZmZWN0PG5ldmVyLCBuZXZlciwgU3RvcmU8UE0sIElkPj5cbn1cblxuLyoqXG4gKiBAdHNwbHVzIHN0YXRpYyBDb250ZXh0TWFwLk9wcyBNYWtlXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlTWFwID0gRWZmZWN0LnN5bmMoKCk6IENvbnRleHRNYXAgPT4ge1xuICBjb25zdCBldGFncyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KClcbiAgY29uc3QgZ2V0RXRhZyA9IChpZDogc3RyaW5nKSA9PiBldGFncy5nZXQoaWQpXG4gIGNvbnN0IHNldEV0YWcgPSAoaWQ6IHN0cmluZywgZVRhZzogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgZVRhZyA9PT0gdW5kZWZpbmVkID8gZXRhZ3MuZGVsZXRlKGlkKSA6IGV0YWdzLnNldChpZCwgZVRhZylcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZENhY2hlID0gbmV3IE1hcDxcbiAgICBQYXJzZXI8YW55LCBhbnksIGFueT4sXG4gICAgTWFwPHVua25vd24sIFRoZXNlLlRoZXNlPHVua25vd24sIHVua25vd24+PlxuICA+KClcblxuICBjb25zdCBwYXJzZXJDYWNoZSA9IG5ldyBNYXA8XG4gICAgUGFyc2VyPGFueSwgYW55LCBhbnk+LFxuICAgIChpOiBhbnkpID0+IFRoZXNlLlRoZXNlPGFueSwgYW55PlxuICA+KClcblxuICBjb25zdCBzZXRBbmRSZXR1cm4gPSA8SSwgRSwgQT4oXG4gICAgcDogUGFyc2VyPEksIEUsIEE+LFxuICAgIG5wOiAoaTogSSkgPT4gVGhlc2UuVGhlc2U8RSwgQT5cbiAgKSA9PiB7XG4gICAgcGFyc2VyQ2FjaGUuc2V0KHAsIG5wKVxuICAgIHJldHVybiBucFxuICB9XG5cbiAgY29uc3QgcGFyc2VyRW52OiBQYXJzZXJFbnYgPSB7XG4gICAgLy8gVE9ETzogbGF4OiB0cnVlIHdvdWxkIHR1cm4gb2ZmIHJlZmluZW1lbnQgY2hlY2tzLCBtYXkgaGVscCBvbiBsYXJnZSBwYXlsb2Fkc1xuICAgIC8vIGJ1dCBvZiBjb3Vyc2UgcmVtb3ZlcyBjb25maXJtaW5nIG9mIHZhbGlkYXRpb24gcnVsZXMgKHdoaWNoIG1heSBiZSBva2F5IGZvciBhIGRhdGFiYXNlIG93bmVkIGJ5IHRoZSBhcHAsIGFzIHdlIHdyaXRlIHNhZmVseSlcbiAgICBsYXg6IGZhbHNlLFxuICAgIGNhY2hlOiB7XG4gICAgICBnZXRPclNldFBhcnNlcjogKHApID0+IHBhcnNlckNhY2hlLmdldChwKSA/PyBzZXRBbmRSZXR1cm4ocCwgKGkpID0+IHBhcnNlckVudi5jYWNoZSEuZ2V0T3JTZXQoaSwgcCkpLFxuICAgICAgZ2V0T3JTZXRQYXJzZXJzOiAocGFyc2VycykgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMocGFyc2VycykucmVkdWNlKChwcmV2LCBbaywgdl0pID0+IHtcbiAgICAgICAgICBwcmV2W2tdID0gcGFyc2VyRW52LmNhY2hlIS5nZXRPclNldFBhcnNlcih2KVxuICAgICAgICAgIHJldHVybiBwcmV2XG4gICAgICAgIH0sIHt9IGFzIGFueSlcbiAgICAgIH0sXG4gICAgICBnZXRPclNldDogKGksIHBhcnNlKTogYW55ID0+IHtcbiAgICAgICAgY29uc3QgYyA9IHBhcnNlZENhY2hlLmdldChwYXJzZSlcbiAgICAgICAgaWYgKGMpIHtcbiAgICAgICAgICBjb25zdCBmID0gYy5nZXQoaSlcbiAgICAgICAgICBpZiAoZikge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCIkJCQgY2FjaGUgaGl0XCIsIGkpXG4gICAgICAgICAgICByZXR1cm4gZlxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBuZiA9IHBhcnNlKGksIHBhcnNlckVudilcbiAgICAgICAgICAgIGMuc2V0KGksIG5mKVxuICAgICAgICAgICAgcmV0dXJuIG5mXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5mID0gcGFyc2UoaSwgcGFyc2VyRW52KVxuICAgICAgICAgIHBhcnNlZENhY2hlLnNldChwYXJzZSwgbmV3IE1hcChbW2ksIG5mXV0pKVxuICAgICAgICAgIHJldHVybiBuZlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBnZXQ6IGdldEV0YWcsXG4gICAgc2V0OiBzZXRFdGFnLFxuICAgIHBhcnNlckVudlxuICB9XG59KVxuXG4vKipcbiAqIEB0c3BsdXMgdHlwZSBDb250ZXh0TWFwXG4gKiBAdHNwbHVzIGNvbXBhbmlvbiBDb250ZXh0TWFwLk9wc1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29udGV4dE1hcCBleHRlbmRzIFRhZ0NsYXNzPENvbnRleHRNYXA+KCkge1xuICBhYnN0cmFjdCBnZXQ6IChpZDogc3RyaW5nKSA9PiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgYWJzdHJhY3Qgc2V0OiAoaWQ6IHN0cmluZywgZVRhZzogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB2b2lkXG4gIGFic3RyYWN0IHBhcnNlckVudjogUGFyc2VyRW52XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVuY2VNb2RlbFR5cGU8SWQgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgaWQ6IElkXG4gIF9ldGFnOiBzdHJpbmcgfCB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yYWdlQ29uZmlnIHtcbiAgdXJsOiBDb25maWdTZWNyZXRcbiAgcHJlZml4OiBzdHJpbmdcbiAgZGJOYW1lOiBzdHJpbmdcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
30f1491bd7ed7b71a8f3b2d6d9d549cced916cd60721bf96085353b20d87b77f
|