@legenki/print2medusa 0.5.2 → 0.5.3
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.
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MARGIN_KEY = exports.RETAIL_TOTAL_KEY = exports.RETAIL_CURRENCY_KEY = exports.COST_TOTAL_KEY = exports.COST_CURRENCY_KEY = void 0;
|
|
4
4
|
exports.toMinorUnits = toMinorUnits;
|
|
5
5
|
exports.planCostMetadata = planCostMetadata;
|
|
6
|
+
exports.planCreatedOrderMetadata = planCreatedOrderMetadata;
|
|
6
7
|
/**
|
|
7
8
|
* Printful reports money as JSON numbers in major units (12.34), and Medusa
|
|
8
9
|
* stores integer minor units (1234). Everything crossing that boundary goes
|
|
@@ -58,6 +59,22 @@ const COST_FIELDS = [
|
|
|
58
59
|
* Every amount is in minor units. A field that could not be parsed is omitted
|
|
59
60
|
* rather than defaulted, so a partial Printful response never turns into a
|
|
60
61
|
* confidently wrong margin.
|
|
62
|
+
*
|
|
63
|
+
* Fee keys are a namespace, not a set of independent values: both call sites
|
|
64
|
+
* merge the result over the order's existing metadata, so a fee this response
|
|
65
|
+
* does not carry is emitted as an explicit `undefined` to overwrite whatever a
|
|
66
|
+
* previous response left there. Without it a refresh that dropped `shipping`
|
|
67
|
+
* would leave the old shipping fee sitting beside a brand new total.
|
|
68
|
+
*
|
|
69
|
+
* `undefined` rather than `null` is deliberate and was checked against a real
|
|
70
|
+
* Postgres: the `undefined` survives the object spread (so it does overwrite
|
|
71
|
+
* the stale value) and is then dropped by JSON serialization into the jsonb
|
|
72
|
+
* metadata column, so the key disappears entirely. `null` would instead
|
|
73
|
+
* persist as a literal null sitting in the metadata forever.
|
|
74
|
+
*
|
|
75
|
+
* The one case that clears nothing is an order with no cost data at all: an
|
|
76
|
+
* empty patch means "we learned nothing", which must not wipe fees an earlier,
|
|
77
|
+
* better-informed response legitimately stored.
|
|
61
78
|
*/
|
|
62
79
|
function planCostMetadata(order) {
|
|
63
80
|
const metadata = {};
|
|
@@ -78,9 +95,11 @@ function planCostMetadata(order) {
|
|
|
78
95
|
}
|
|
79
96
|
for (const field of COST_FIELDS) {
|
|
80
97
|
const value = toMinorUnits(costs[field]);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
98
|
+
// Assigned unconditionally: a zero, unparseable, or absent fee has to
|
|
99
|
+
// land as `undefined` so the spread clears any stale value rather than
|
|
100
|
+
// leaving it beside a fresher total.
|
|
101
|
+
metadata[`printful_cost_${field}`] =
|
|
102
|
+
value !== undefined && value !== 0 ? value : undefined;
|
|
84
103
|
}
|
|
85
104
|
}
|
|
86
105
|
if (retail) {
|
|
@@ -106,4 +125,29 @@ function planCostMetadata(order) {
|
|
|
106
125
|
}
|
|
107
126
|
return metadata;
|
|
108
127
|
}
|
|
109
|
-
|
|
128
|
+
/**
|
|
129
|
+
* Build the order-metadata patch for an order Printful has just created.
|
|
130
|
+
*
|
|
131
|
+
* The identity keys matter as much as the costs: the admin order widget gates
|
|
132
|
+
* its entire render on `printful_order_id`, so without them a freshly created
|
|
133
|
+
* order shows the merchant no Printful panel at all until the first webhook
|
|
134
|
+
* arrives — even though the order exists in Printful and its costs are stored.
|
|
135
|
+
*
|
|
136
|
+
* The key names deliberately match `planOrderStateActions`, so the webhook path
|
|
137
|
+
* later overwrites these values rather than writing a parallel set.
|
|
138
|
+
*
|
|
139
|
+
* `printful_status_updated_at` is *not* stamped here. It is the "Last synced"
|
|
140
|
+
* breadcrumb, meaning "when we last re-read the order from Printful". Creation
|
|
141
|
+
* is not a re-read, and claiming it was would date a status that no webhook has
|
|
142
|
+
* yet confirmed. The first real sync sets it.
|
|
143
|
+
*/
|
|
144
|
+
function planCreatedOrderMetadata(order) {
|
|
145
|
+
return {
|
|
146
|
+
// Spread first so an identity key always wins a name collision rather than
|
|
147
|
+
// being silently overwritten by a cost key.
|
|
148
|
+
...planCostMetadata(order),
|
|
149
|
+
printful_order_id: String(order.id),
|
|
150
|
+
printful_status: order.status,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvY29zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0Esb0NBdUJDO0FBOENELDRDQTBEQztBQWtCRCw0REFVQztBQXBLRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLFlBQVksQ0FDMUIsS0FBeUM7SUFFekMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQzFELE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUVELElBQUksQ0FBUyxDQUFBO0lBQ2IsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixDQUFDLEdBQUcsS0FBSyxDQUFBO0lBQ1gsQ0FBQztTQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDckMsMkVBQTJFO1FBQzNFLDJEQUEyRDtRQUMzRCxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUE7QUFDNUIsQ0FBQztBQUVZLFFBQUEsaUJBQWlCLEdBQUcsd0JBQXdCLENBQUE7QUFDNUMsUUFBQSxjQUFjLEdBQUcscUJBQXFCLENBQUE7QUFDdEMsUUFBQSxtQkFBbUIsR0FBRywwQkFBMEIsQ0FBQTtBQUNoRCxRQUFBLGdCQUFnQixHQUFHLHVCQUF1QixDQUFBO0FBQzFDLFFBQUEsVUFBVSxHQUFHLGlCQUFpQixDQUFBO0FBRTNDLG1GQUFtRjtB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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.planSyncLogStatus = planSyncLogStatus;
|
|
4
|
+
/**
|
|
5
|
+
* Decide how a finished sync run should be reported.
|
|
6
|
+
*
|
|
7
|
+
* The distinction that matters is between "nothing worked" and "some of it
|
|
8
|
+
* worked". Collapsing the second into `success` is operationally misleading:
|
|
9
|
+
* a run with 100 failures and one successful update used to show the merchant
|
|
10
|
+
* a green sync while most of the catalog never imported.
|
|
11
|
+
*
|
|
12
|
+
* - nothing succeeded and something failed → `failed`
|
|
13
|
+
* - something failed but something succeeded → `partial`
|
|
14
|
+
* - nothing failed → `success`
|
|
15
|
+
*
|
|
16
|
+
* A run that created and updated nothing without failing is still `success` —
|
|
17
|
+
* an empty Printful store is not an error, there was simply nothing to do.
|
|
18
|
+
*/
|
|
19
|
+
function planSyncLogStatus(counters) {
|
|
20
|
+
if (counters.failed <= 0) {
|
|
21
|
+
return "success";
|
|
22
|
+
}
|
|
23
|
+
const succeeded = counters.created > 0 || counters.updated > 0;
|
|
24
|
+
return succeeded ? "partial" : "failed";
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1zdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvc3luYy1zdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF3QkEsOENBU0M7QUF4QkQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FDL0IsUUFBNkI7SUFFN0IsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQTtJQUM5RCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7QUFDekMsQ0FBQyJ9
|
|
@@ -113,24 +113,36 @@ const createPrintfulOrderStep = (0, workflows_sdk_1.createStep)("printful-create
|
|
|
113
113
|
status: pfOrder.status || "created",
|
|
114
114
|
});
|
|
115
115
|
// Printful returns the real costs with the created order, so no separate
|
|
116
|
-
// estimate call is needed.
|
|
117
|
-
//
|
|
118
|
-
//
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
116
|
+
// estimate call is needed. The identity keys ride along unconditionally —
|
|
117
|
+
// the admin widget gates on `printful_order_id`, so a costless order that
|
|
118
|
+
// wrote only costs would stay invisible until the first webhook.
|
|
119
|
+
//
|
|
120
|
+
// Written best-effort: the order exists in Printful either way, and losing
|
|
121
|
+
// the margin figure must never fail the workflow and roll back a real
|
|
122
|
+
// order. Both the Printful order and the link row exist by this point, so
|
|
123
|
+
// failing the step would trigger compensation and release the link for an
|
|
124
|
+
// order Printful is already fulfilling.
|
|
125
|
+
const orderMetadata = (0, costs_1.planCreatedOrderMetadata)(pfOrder);
|
|
126
|
+
try {
|
|
127
|
+
// Under the same advisory lock the webhook path takes. Both do a
|
|
128
|
+
// read-modify-write of `metadata`, and the link became resolvable a few
|
|
129
|
+
// lines above — so a webhook arriving in that window could re-read the
|
|
130
|
+
// order, write a newer `printful_status`, and have this write clobber it
|
|
131
|
+
// back to the status captured at creation. Serializing the two makes the
|
|
132
|
+
// last writer win on a value it actually read.
|
|
133
|
+
await printful.withOrderLock(String(pfOrder.id), async () => {
|
|
122
134
|
// `orderRow` rather than `existing` — that name is taken by the
|
|
123
135
|
// order-link lookup earlier in this step.
|
|
124
136
|
const orderRow = await orderModule.retrieveOrder(input.order_id, {
|
|
125
137
|
select: ["id", "metadata"],
|
|
126
138
|
});
|
|
127
139
|
await orderModule.updateOrders(input.order_id, {
|
|
128
|
-
metadata: { ...(orderRow.metadata ?? {}), ...
|
|
140
|
+
metadata: { ...(orderRow.metadata ?? {}), ...orderMetadata },
|
|
129
141
|
});
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
catch (err) {
|
|
145
|
+
logger.error(`Printful order ${pfOrder.id}: could not store order metadata: ${err instanceof Error ? err.message : String(err)}`);
|
|
134
146
|
}
|
|
135
147
|
return new workflows_sdk_1.StepResponse({
|
|
136
148
|
skipped: false,
|
|
@@ -143,4 +155,4 @@ exports.createPrintfulOrderWorkflow = (0, workflows_sdk_1.createWorkflow)("print
|
|
|
143
155
|
return new workflows_sdk_1.WorkflowResponse(result);
|
|
144
156
|
});
|
|
145
157
|
exports.default = exports.createPrintfulOrderWorkflow;
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByaW50ZnVsLW9yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jcmVhdGUtcHJpbnRmdWwtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzBDO0FBQzFDLHFEQUE4RTtBQUM5RSxrREFBcUQ7QUFPckQsOENBQW1EO0FBQ25ELDBDQUF5RDtBQWtCekQsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3hDLHVCQUF1QixFQUN2QixLQUFLLEVBQUUsS0FBK0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDdkQsTUFBTSxRQUFRLEdBQTBCLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQWUsQ0FBQyxDQUFBO0lBQzFFLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3BELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDM0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUE7SUFFekMsTUFBTSxRQUFRLEdBQUcsTUFBTSxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM3RCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLDRCQUFZLENBQWU7WUFDcEMsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxpQkFBaUI7U0FDOUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxF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
|
|
@@ -8,6 +8,7 @@ const printful_1 = require("../modules/printful");
|
|
|
8
8
|
const mappers_1 = require("../utils/mappers");
|
|
9
9
|
const orphans_1 = require("../utils/orphans");
|
|
10
10
|
const variant_links_1 = require("../utils/variant-links");
|
|
11
|
+
const sync_status_1 = require("../utils/sync-status");
|
|
11
12
|
const stock_1 = require("../utils/stock");
|
|
12
13
|
const syncProductsStep = (0, workflows_sdk_1.createStep)({
|
|
13
14
|
name: "printful-sync-products",
|
|
@@ -284,12 +285,9 @@ const syncProductsStep = (0, workflows_sdk_1.createStep)({
|
|
|
284
285
|
});
|
|
285
286
|
const finalizeSyncLogStep = (0, workflows_sdk_1.createStep)("printful-finalize-sync-log", async (input, { container }) => {
|
|
286
287
|
const printful = container.resolve(printful_1.PRINTFUL_MODULE);
|
|
287
|
-
const failedHard = input.counters.failed > 0 &&
|
|
288
|
-
input.counters.created === 0 &&
|
|
289
|
-
input.counters.updated === 0;
|
|
290
288
|
const log = await printful.updatePrintfulSyncLogs({
|
|
291
289
|
id: input.logId,
|
|
292
|
-
status:
|
|
290
|
+
status: (0, sync_status_1.planSyncLogStatus)(input.counters),
|
|
293
291
|
finished_at: new Date(),
|
|
294
292
|
products_created: input.counters.created,
|
|
295
293
|
products_updated: input.counters.updated,
|
|
@@ -313,4 +311,4 @@ exports.syncProductsWorkflow = (0, workflows_sdk_1.createWorkflow)("printful-syn
|
|
|
313
311
|
});
|
|
314
312
|
});
|
|
315
313
|
exports.default = exports.syncProductsWorkflow;
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1wcm9kdWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3luYy1wcm9kdWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFNMEM7QUFDMUMsNERBR29DO0FBQ3BDLHFEQUE4RTtBQUM5RSxrREFBcUQ7QUFFckQsOENBQWdGO0FBQ2hGLDhDQUFnRDtBQUNoRCwwREFBOEQ7QUFDOUQsMENBSXVCO0FBZ0J2QixNQUFNLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDakM7SUFDRSxJQUFJLEVBQUUsd0JBQXdCO0lBQzlCLDREQUE0RDtJQUM1RCwwRUFBMEU7SUFDMUUsS0FBSyxFQUFFLElBQUk7SUFDWCxtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLHlFQUF5RTtJQUN6RSxrRUFBa0U7SUFDbEUsdUVBQXVFO0lBQ3ZFLHNFQUFzRTtJQUN0RSwwRUFBMEU7SUFDMUUsb0NBQW9DO0NBQ3JDLEVBQ0QsS0FBSyxFQUFFLEtBQXdCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2hELE1BQU0sUUFBUSxHQUEwQixTQUFTLENBQUMsT0FBTyxDQUFDLDBCQUFlLENBQUMsQ0FBQTtJQUMxRSxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN4RCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQzNDLE1BQU0sT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBRTNDLE1BQU0sU0FBUyxHQUFHLE1BQU0sTUFBTSxDQUFDLG1CQUFtQixDQUFD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
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1wcm9kdWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3luYy1wcm9kdWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFNMEM7QUFDMUMsNERBR29DO0FBQ3BDLHFEQUE4RTtBQUM5RSxrREFBcUQ7QUFFckQsOENBQWdGO0FBQ2hGLDhDQUFnRDtBQUNoRCwwREFBOEQ7QUFDOUQsc0RBQXdEO0FBQ3hELDBDQUl1QjtBQWdCdkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFVLEVBQ2pDO0lBQ0UsSUFBSSxFQUFFLHdCQUF3QjtJQUM5Qiw0REFBNEQ7SUFDNUQsMEVBQTBFO0lBQzFFLEtBQUssRUFBRSxJQUFJO0lBQ1gsbUJBQW1CLEVBQUUsSUFBSTtJQUN6Qix5RUFBeUU7SUFDekUsa0VBQWtFO0lBQ2xFLHVFQUF1RTtJQUN2RSxzRUFBc0U7SUFDdEUsMEVBQTBFO0lBQzFFLG9DQUFvQztDQUNyQyxFQUNELEtBQUssRUFBRSxLQUF3QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNoRCxNQUFNLFFBQVEsR0FBMEIsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQkFBZSxDQUFDLENBQUE7SUFDMUUsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNsRSxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUN6QyxNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUMzQyxNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUUzQyxNQUFNLFNBQVMsR0FBRyxNQUFNLE1BQU0sQ0FB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
|