@bitgo-beta/key-card 0.1.2-alpha.125 → 0.1.2-alpha.127
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawKeycard.d.ts","sourceRoot":"","sources":["../../src/drawKeycard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"drawKeycard.d.ts","sourceRoot":"","sources":["../../src/drawKeycard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAavC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AA4EtC,wBAAsB,WAAW,CAAC,EAChC,cAAc,EACd,SAAS,EACT,YAAY,EACZ,MAAM,EACN,WAAW,EACX,KAAK,GACN,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAkL/B"}
|
package/dist/src/drawKeycard.js
CHANGED
|
@@ -54,6 +54,23 @@ function drawOnePageOfQrCodes(qrImages, doc, y, qrSize, startIndex) {
|
|
|
54
54
|
}
|
|
55
55
|
return qrIndex + 1;
|
|
56
56
|
}
|
|
57
|
+
function computeKeyCardImageDimensions(keyCardImage) {
|
|
58
|
+
// Max dimensions stablished by fixed available PDF space
|
|
59
|
+
const KEY_CARD_IMAGE_MAX_DIMENSIONS = {
|
|
60
|
+
width: 303,
|
|
61
|
+
height: 40,
|
|
62
|
+
};
|
|
63
|
+
const { width: imgWidth, height: imgHeight } = keyCardImage;
|
|
64
|
+
const { width: maxWidth, height: maxHeight } = KEY_CARD_IMAGE_MAX_DIMENSIONS;
|
|
65
|
+
// Try scaling ratio based on width
|
|
66
|
+
const wRatio = imgWidth / maxWidth;
|
|
67
|
+
let finalRatio = wRatio;
|
|
68
|
+
// If resized height exceeds the available height space, base ratio also on height
|
|
69
|
+
if (imgHeight / finalRatio > maxHeight) {
|
|
70
|
+
finalRatio = imgHeight / maxHeight;
|
|
71
|
+
}
|
|
72
|
+
return [imgWidth / finalRatio, imgHeight / finalRatio];
|
|
73
|
+
}
|
|
57
74
|
async function drawKeycard({ activationCode, questions, keyCardImage, qrData, walletLabel, curve, }) {
|
|
58
75
|
var _a;
|
|
59
76
|
// document details
|
|
@@ -66,7 +83,8 @@ async function drawKeycard({ activationCode, questions, keyCardImage, qrData, wa
|
|
|
66
83
|
// This is data for the BitGo logo in the top left of the PDF
|
|
67
84
|
y = moveDown(y, 30);
|
|
68
85
|
if (keyCardImage) {
|
|
69
|
-
|
|
86
|
+
const [imgWidth, imgHeight] = computeKeyCardImageDimensions(keyCardImage);
|
|
87
|
+
doc.addImage(keyCardImage, left(0), y, imgWidth, imgHeight);
|
|
70
88
|
}
|
|
71
89
|
// Activation Code
|
|
72
90
|
if (activationCode) {
|
|
@@ -212,4 +230,4 @@ async function drawKeycard({ activationCode, questions, keyCardImage, qrData, wa
|
|
|
212
230
|
return doc;
|
|
213
231
|
}
|
|
214
232
|
exports.drawKeycard = drawKeycard;
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd0tleWNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZHJhd0tleWNhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQThCO0FBQzlCLGlDQUFpQztBQUNqQyxtQ0FBb0M7QUFHcEMsSUFBSyxZQUlKO0FBSkQsV0FBSyxZQUFZO0lBQ2YsaUNBQWlCLENBQUE7SUFDakIsbUNBQW1CLENBQUE7SUFDbkIsMkJBQVcsQ0FBQTtBQUNiLENBQUMsRUFKSSxZQUFZLEtBQVosWUFBWSxRQUloQjtBQUVELG1GQUFtRjtBQUNuRixvSEFBb0g7QUFDcEgscURBQXFEO0FBQ3JELGdEQUFnRDtBQUNuQyxRQUFBLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLElBQUksR0FBRztJQUNYLE1BQU0sRUFBRSxFQUFFO0lBQ1YsU0FBUyxFQUFFLEVBQUU7SUFDYixJQUFJLEVBQUUsRUFBRTtDQUNULENBQUM7QUFFRixNQUFNLEtBQUssR0FBRztJQUNaLEtBQUssRUFBRSxTQUFTO0lBQ2hCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLElBQUksRUFBRSxTQUFTO0lBQ2YsR0FBRyxFQUFFLFNBQVM7Q0FDZixDQUFDO0FBRUYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBRWxCLHlEQUF5RDtBQUN6RCxTQUFTLElBQUksQ0FBQyxDQUFTO0lBQ3JCLE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBQ0QsU0FBUyxRQUFRLENBQUMsQ0FBUyxFQUFFLE1BQWM7SUFDekMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUMzQixRQUE2QixFQUM3QixHQUFVLEVBQ1YsQ0FBUyxFQUNULE1BQWMsRUFDZCxVQUFVO0lBRVYsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6QixJQUFJLE9BQU8sR0FBVyxVQUFVLENBQUM7SUFDakMsT0FB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QUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDSCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQXhMRCxrQ0F3TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc1BERiB9IGZyb20gJ2pzcGRmJztcbmltcG9ydCAqIGFzIFFSQ29kZSBmcm9tICdxcmNvZGUnO1xuaW1wb3J0IHsgc3BsaXRLZXlzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBJRHJhd0tleUNhcmQgfSBmcm9tICcuL3R5cGVzJztcblxuZW51bSBLZXlDdXJ2ZU5hbWUge1xuICBlZDI1NTE5ID0gJ0VERFNBJyxcbiAgc2VjcDI1NmsxID0gJ0VDRFNBJyxcbiAgYmxzID0gJ0JMUycsXG59XG5cbi8vIE1heCBmb3IgQmluYXJ5L0J5dGUgRGF0YSBodHRwczovL2dpdGh1Yi5jb20vc29sZGFpci9ub2RlLXFyY29kZSNxci1jb2RlLWNhcGFjaXR5XG4vLyB0aGUgbGFyZ2VzdCB0aGVvcmV0aWNhbGx5IHBvc3NpYmxlIHZhbHVlIGlzIGFjdHVhbGx5IDI5NTMgYnV0IHRoZSBRUiBjb2RlcyBnZXQgc28gZGVuc2UgdGhhdCBzY2FubmluZyB0aGVtIHdpdGggYVxuLy8gcGhvbmUgKG9mZiBvZiBhIHByaW50ZWQgcGFnZSkgZG9lc24ndCB3b3JrIGFueW1vcmVcbi8vIHRoaXMgbGltaXRhdGlvbiB3YXMgY2hvc2VuIGJ5IHRyaWFsIGFuZCBlcnJvclxuZXhwb3J0IGNvbnN0IFFSQmluYXJ5TWF4TGVuZ3RoID0gMTUwMDtcblxuY29uc3QgZm9udCA9IHtcbiAgaGVhZGVyOiAyNCxcbiAgc3ViaGVhZGVyOiAxNSxcbiAgYm9keTogMTIsXG59O1xuXG5jb25zdCBjb2xvciA9IHtcbiAgYmxhY2s6ICcjMDAwMDAwJyxcbiAgZGFya2dyYXk6ICcjNGM0YzRjJyxcbiAgZ3JheTogJyM5YjliOWInLFxuICByZWQ6ICcjZTIxZTFlJyxcbn07XG5cbmNvbnN0IG1hcmdpbiA9IDMwO1xuXG4vLyBIZWxwZXJzIGZvciBkYXRhIGZvcm1hdHRpbmcgLyBwb3NpdGlvbmluZyBvbiB0aGUgcGFwZXJcbmZ1bmN0aW9uIGxlZnQoeDogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIG1hcmdpbiArIHg7XG59XG5mdW5jdGlvbiBtb3ZlRG93bih5OiBudW1iZXIsIHlkZWx0YTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHkgKyB5ZGVsdGE7XG59XG5cbmZ1bmN0aW9uIGRyYXdPbmVQYWdlT2ZRckNvZGVzKFxuICBxckltYWdlczogSFRNTENhbnZhc0VsZW1lbnRbXSxcbiAgZG9jOiBqc1BERixcbiAgeTogbnVtYmVyLFxuICBxclNpemU6IG51bWJlcixcbiAgc3RhcnRJbmRleFxuKTogbnVtYmVyIHtcbiAgZG9jLnNldEZvbnQoJ2hlbHZldGljYScpO1xuICBsZXQgcXJJbmRleDogbnVtYmVyID0gc3RhcnRJbmRleDtcbiAgZm9yICg7IHFySW5kZXggPCBxckltYWdlcy5sZW5ndGg7IHFySW5kZXgrKykge1xuICAgIGNvbnN0IGltYWdlID0gcXJJbWFnZXNbcXJJbmRleF07XG4gICAgY29uc3QgdGV4dEJ1ZmZlciA9IDE1O1xuICAgIGlmICh5ICsgcXJTaXplICsgdGV4dEJ1ZmZlciA+PSBkb2MuaW50ZXJuYWwucGFnZVNpemUuZ2V0SGVpZ2h0KCkpIHtcbiAgICAgIHJldHVybiBxckluZGV4O1xuICAgIH1cblxuICAgIGRvYy5hZGRJbWFnZShpbWFnZSwgbGVmdCgwKSwgeSwgcXJTaXplLCBxclNpemUpO1xuXG4gICAgaWYgKHFySW1hZ2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHFySW5kZXggKyAxO1xuICAgIH1cblxuICAgIHkgPSBtb3ZlRG93bih5LCBxclNpemUgKyB0ZXh0QnVmZmVyKTtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5ib2R5KS5zZXRUZXh0Q29sb3IoY29sb3IuYmxhY2spO1xuICAgIGRvYy50ZXh0KCdQYXJ0ICcgKyAocXJJbmRleCArIDEpLnRvU3RyaW5nKCksIGxlZnQoMCksIHkpO1xuICAgIHkgPSBtb3ZlRG93bih5LCAyMCk7XG4gIH1cbiAgcmV0dXJuIHFySW5kZXggKyAxO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZHJhd0tleWNhcmQoe1xuICBhY3RpdmF0aW9uQ29kZSxcbiAgcXVlc3Rpb25zLFxuICBrZXlDYXJkSW1hZ2UsXG4gIHFyRGF0YSxcbiAgd2FsbGV0TGFiZWwsXG4gIGN1cnZlLFxufTogSURyYXdLZXlDYXJkKTogUHJvbWlzZTxqc1BERj4ge1xuICAvLyBkb2N1bWVudCBkZXRhaWxzXG4gIGNvbnN0IHdpZHRoID0gOC41ICogNzI7XG4gIGxldCB5ID0gMDtcblxuICAvLyBDcmVhdGUgdGhlIFBERiBpbnN0YW5jZVxuICBjb25zdCBkb2MgPSBuZXcganNQREYoJ3BvcnRyYWl0JywgJ3B0JywgJ2xldHRlcicpOyAvLyBqc2hpbnQgaWdub3JlOmxpbmVcbiAgZG9jLnNldEZvbnQoJ2hlbHZldGljYScpO1xuXG4gIC8vIFBERiBIZWFkZXIgQXJlYSAtIGluY2x1ZGVzIHRoZSBsb2dvIGFuZCBjb21wYW55IG5hbWVcbiAgLy8gVGhpcyBpcyBkYXRhIGZvciB0aGUgQml0R28gbG9nbyBpbiB0aGUgdG9wIGxlZnQgb2YgdGhlIFBERlxuICB5ID0gbW92ZURvd24oeSwgMzApO1xuXG4gIGlmIChrZXlDYXJkSW1hZ2UpIHtcbiAgICBkb2MuYWRkSW1hZ2Uoa2V5Q2FyZEltYWdlLCBsZWZ0KDApLCB5LCAzMDMsIDQwKTtcbiAgfVxuXG4gIC8vIEFjdGl2YXRpb24gQ29kZVxuICBpZiAoYWN0aXZhdGlvbkNvZGUpIHtcbiAgICB5ID0gbW92ZURvd24oeSwgOCk7XG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuYm9keSkuc2V0VGV4dENvbG9yKGNvbG9yLmdyYXkpO1xuICAgIGRvYy50ZXh0KCdBY3RpdmF0aW9uIENvZGUnLCBsZWZ0KDQ2MCksIHkpO1xuICB9XG4gIGRvYy5zZXRGb250U2l6ZShmb250LmhlYWRlcikuc2V0VGV4dENvbG9yKGNvbG9yLmJsYWNrKTtcbiAgeSA9IG1vdmVEb3duKHksIDI1KTtcbiAgZG9jLnRleHQoJ0tleUNhcmQnLCBsZWZ0KGN1cnZlICYmICFhY3RpdmF0aW9uQ29kZSA/IDQ2MCA6IDMyNSksIHkgLSAxKTtcbiAgaWYgKGFjdGl2YXRpb25Db2RlKSB7XG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuaGVhZGVyKS5zZXRUZXh0Q29sb3IoY29sb3IuZ3JheSk7XG4gICAgZG9jLnRleHQoYWN0aXZhdGlvbkNvZGUsIGxlZnQoNDYwKSwgeSk7XG4gIH1cblxuICAvLyBTdWJoZWFkZXJcbiAgLy8gdGl0bGVzXG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpLnRvRGF0ZVN0cmluZygpO1xuICB5ID0gbW92ZURvd24oeSwgbWFyZ2luKTtcbiAgZG9jLnNldEZvbnRTaXplKGZvbnQuYm9keSkuc2V0VGV4dENvbG9yKGNvbG9yLmdyYXkpO1xuICBjb25zdCB0aXRsZSA9IGN1cnZlID8gS2V5Q3VydmVOYW1lW2N1cnZlXSArICcga2V5OicgOiAnd2FsbGV0IG5hbWVkOic7XG4gIGRvYy50ZXh0KCdDcmVhdGVkIG9uICcgKyBkYXRlICsgJyBmb3IgJyArIHRpdGxlLCBsZWZ0KDApLCB5KTtcbiAgLy8gY29weVxuICB5ID0gbW92ZURvd24oeSwgMjUpO1xuICBkb2Muc2V0Rm9udFNpemUoZm9udC5zdWJoZWFkZXIpLnNldFRleHRDb2xvcihjb2xvci5ibGFjayk7XG4gIGRvYy50ZXh0KHdhbGxldExhYmVsLCBsZWZ0KDApLCB5KTtcbiAgaWYgKCFjdXJ2ZSkge1xuICAgIC8vIFJlZCBCYXJcbiAgICB5ID0gbW92ZURvd24oeSwgMjApO1xuICAgIGRvYy5zZXRGaWxsQ29sb3IoMjU1LCAyMzAsIDIzMCk7XG4gICAgZG9jLnJlY3QobGVmdCgwKSwgeSwgd2lkdGggLSAyICogbWFyZ2luLCAzMiwgJ0YnKTtcblxuICAgIC8vIHdhcm5pbmcgbWVzc2FnZVxuICAgIHkgPSBtb3ZlRG93bih5LCAyMCk7XG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuYm9keSkuc2V0VGV4dENvbG9yKGNvbG9yLnJlZCk7XG4gICAgZG9jLnRleHQoJ1ByaW50IHRoaXMgZG9jdW1lbnQsIG9yIGtlZXAgaXQgc2VjdXJlbHkgb2ZmbGluZS4gU2VlIGJlbG93IGZvciBGQVEuJywgbGVmdCg3NSksIHkpO1xuICB9XG4gIC8vIEdlbmVyYXRlIHRoZSBmaXJzdCBwYWdlJ3MgZGF0YSBmb3IgdGhlIGJhY2t1cCBQREZcbiAgeSA9IG1vdmVEb3duKHksIDM1KTtcbiAgY29uc3QgcXJTaXplID0gMTMwO1xuICBjb25zdCBxcktleXMgPSBbJ3VzZXInLCAndXNlck1hc3RlclB1YmxpY0tleScsICdiYWNrdXAnLCAnYmFja3VwTWFzdGVyUHVibGljS2V5JywgJ2JpdGdvJywgJ3Bhc3Njb2RlJ10uZmlsdGVyKFxuICAgIChrZXkpID0+ICEhcXJEYXRhW2tleV1cbiAgKTtcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHFyS2V5cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBuYW1lID0gcXJLZXlzW2luZGV4XTtcbiAgICBpZiAoaW5kZXggPT09IDIpIHtcbiAgICAgIC8vIEFkZCAybmQgUGFnZVxuICAgICAgZG9jLmFkZFBhZ2UoKTtcblxuICAgICAgLy8gMm5kIHBhZ2UgdGl0bGVcbiAgICAgIHkgPSAzMDtcbiAgICB9XG5cbiAgICBjb25zdCBxciA9IHFyRGF0YVtuYW1lXTtcbiAgICBsZXQgdG9wWSA9IHk7XG4gICAgY29uc3QgdGV4dExlZnQgPSBsZWZ0KHFyU2l6ZSArIDE1KTtcbiAgICBsZXQgdGV4dEhlaWdodCA9IDA7XG5cbiAgICBjb25zdCBxckltYWdlczogSFRNTENhbnZhc0VsZW1lbnRbXSA9IFtdO1xuICAgIGNvbnN0IGtleXMgPSBzcGxpdEtleXMocXIuZGF0YSwgUVJCaW5hcnlNYXhMZW5ndGgpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgIHFySW1hZ2VzLnB1c2goYXdhaXQgUVJDb2RlLnRvQ2FudmFzKGtleSwgeyBlcnJvckNvcnJlY3Rpb25MZXZlbDogJ0wnIH0pKTtcbiAgICB9XG5cbiAgICBsZXQgbmV4dFFySW5kZXggPSBkcmF3T25lUGFnZU9mUXJDb2RlcyhxckltYWdlcywgZG9jLCB5LCBxclNpemUsIDApO1xuXG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuc3ViaGVhZGVyKS5zZXRUZXh0Q29sb3IoY29sb3IuYmxhY2spO1xuICAgIHkgPSBtb3ZlRG93bih5LCAxMCk7XG4gICAgdGV4dEhlaWdodCArPSAxMDtcbiAgICBkb2MudGV4dChxci50aXRsZSwgdGV4dExlZnQsIHkpO1xuICAgIHRleHRIZWlnaHQgKz0gZG9jLmdldExpbmVIZWlnaHQoKTtcbiAgICB5ID0gbW92ZURvd24oeSwgMTUpO1xuICAgIHRleHRIZWlnaHQgKz0gMTU7XG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuYm9keSkuc2V0VGV4dENvbG9yKGNvbG9yLmRhcmtncmF5KTtcbiAgICBkb2MudGV4dChxci5kZXNjcmlwdGlvbiwgdGV4dExlZnQsIHkpO1xuICAgIHRleHRIZWlnaHQgKz0gZG9jLmdldExpbmVIZWlnaHQoKTtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5ib2R5IC0gMik7XG4gICAgaWYgKHFyPy5kYXRhPy5sZW5ndGggPiBRUkJpbmFyeU1heExlbmd0aCkge1xuICAgICAgeSA9IG1vdmVEb3duKHksIDMwKTtcbiAgICAgIHRleHRIZWlnaHQgKz0gMzA7XG4gICAgICBkb2MudGV4dCgnTm90ZTogeW91IHdpbGwgbmVlZCB0byBwdXQgYWxsIFBhcnRzIHRvZ2V0aGVyIGZvciB0aGUgZnVsbCBrZXknLCB0ZXh0TGVmdCwgeSk7XG4gICAgfVxuICAgIHkgPSBtb3ZlRG93bih5LCAzMCk7XG4gICAgdGV4dEhlaWdodCArPSAzMDtcbiAgICBkb2MudGV4dCgnRGF0YTonLCB0ZXh0TGVmdCwgeSk7XG4gICAgdGV4dEhlaWdodCArPSBkb2MuZ2V0TGluZUhlaWdodCgpO1xuICAgIHkgPSBtb3ZlRG93bih5LCAxNSk7XG4gICAgdGV4dEhlaWdodCArPSAxNTtcbiAgICBjb25zdCB3aWR0aCA9IDcyICogOC41IC0gdGV4dExlZnQgLSAzMDtcbiAgICBkb2Muc2V0Rm9udCgnY291cmllcicpLnNldEZvbnRTaXplKDkpLnNldFRleHRDb2xvcihjb2xvci5ibGFjayk7XG4gICAgY29uc3QgbGluZXMgPSBkb2Muc3BsaXRUZXh0VG9TaXplKHFyLmRhdGEsIHdpZHRoKTtcbiAgICBjb25zdCBidWZmZXIgPSAxMDtcbiAgICBmb3IgKGxldCBsaW5lID0gMDsgbGluZSA8IGxpbmVzLmxlbmd0aDsgbGluZSsrKSB7XG4gICAgICAvLyBhZGQgbmV3IHBhZ2UgaWYgZGF0YSBkb2VzIG5vdCBmaXQgb24gb25lIHBhZ2VcbiAgICAgIGlmICh5ICsgYnVmZmVyID49IGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS5nZXRIZWlnaHQoKSkge1xuICAgICAgICBkb2MuYWRkUGFnZSgpO1xuICAgICAgICB0ZXh0SGVpZ2h0ID0gMDtcbiAgICAgICAgeSA9IDMwO1xuICAgICAgICB0b3BZID0geTtcbiAgICAgICAgbmV4dFFySW5kZXggPSBkcmF3T25lUGFnZU9mUXJDb2RlcyhxckltYWdlcywgZG9jLCB5LCBxclNpemUsIG5leHRRckluZGV4KTtcbiAgICAgICAgZG9jLnNldEZvbnQoJ2NvdXJpZXInKS5zZXRGb250U2l6ZSg5KS5zZXRUZXh0Q29sb3IoY29sb3IuYmxhY2spO1xuICAgICAgfVxuICAgICAgZG9jLnRleHQobGluZXNbbGluZV0sIHRleHRMZWZ0LCB5KTtcbiAgICAgIGlmIChsaW5lICE9PSBsaW5lcy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHkgPSBtb3ZlRG93bih5LCBidWZmZXIpO1xuICAgICAgICB0ZXh0SGVpZ2h0ICs9IGJ1ZmZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgcHVibGljIGtleSBpZiBleGlzdHNcbiAgICBpZiAocXIucHVibGljTWFzdGVyS2V5KSB7XG4gICAgICBjb25zdCB0ZXh0ID0gJ0tleSBJZDogJyArIHFyLnB1YmxpY01hc3RlcktleTtcblxuICAgICAgLy8gR3JheSBiYXJcbiAgICAgIHkgPSBtb3ZlRG93bih5LCAyMCk7XG4gICAgICB0ZXh0SGVpZ2h0ICs9IDIwO1xuICAgICAgZG9jLnNldEZpbGxDb2xvcigyNDcsIDI0OSwgMjQ5KTsgLy8gR3JheSBiYWNrZ3JvdW5kXG4gICAgICBkb2Muc2V0RHJhd0NvbG9yKDAsIDAsIDApOyAvLyBCb3JkZXJcblxuICAgICAgLy8gTGVhdmUgYSBiaXQgb2Ygc3BhY2UgZm9yIHRoZSBzaWRlIG9mIHRoZSByZWN0YW5nbGUuXG4gICAgICBjb25zdCBzcGxpdEtleUlkID0gZG9jLnNwbGl0VGV4dFRvU2l6ZSh0ZXh0LCB3aWR0aCAtIDEwKTtcblxuICAgICAgLy8gVGhlIGhlaWdodCBvZiB0aGUgYm94IG11c3QgYmUgYXQgbGVhc3QgMTUgcHggKGZvciBzaW5nbGUgbGluZSBjYXNlKSwgb3JcbiAgICAgIC8vIGEgbXVsdGlwbGUgb2YgMTMgZm9yIGVhY2ggbGluZS4gIFRoaXMgYWxsb3dzIGZvciBwcm9wZXIgcGFkZGluZy5cbiAgICAgIGRvYy5yZWN0KHRleHRMZWZ0LCB5LCB3aWR0aCwgTWF0aC5tYXgoMTIgKiBzcGxpdEtleUlkLmxlbmd0aCwgMTUpLCAnRkQnKTtcbiAgICAgIHRleHRIZWlnaHQgKz0gc3BsaXRLZXlJZC5sZW5ndGggKiBkb2MuZ2V0TGluZUhlaWdodCgpO1xuICAgICAgZG9jLnRleHQoc3BsaXRLZXlJZCwgdGV4dExlZnQgKyA1LCB5ICsgMTApO1xuICAgIH1cblxuICAgIGRvYy5zZXRGb250KCdoZWx2ZXRpY2EnKTtcbiAgICAvLyBNb3ZlIGRvd24gdGhlIHNpemUgb2YgdGhlIFFSIGNvZGUgbWludXMgYWNjdW11bGF0ZWQgaGVpZ2h0IG9uIHRoZSByaWdodCBzaWRlLCBwbHVzIG1hcmdpblxuICAgIC8vIGlmIHdlIGhhdmUgYSBrZXkgdGhhdCBzcGFucyBtdWx0aXBsZSBwYWdlcywgdGhlbiBleGNsdWRlIFFSIGNvZGUgc2l6ZVxuICAgIGNvbnN0IHJvd0hlaWdodCA9IE1hdGgubWF4KHFyLmRhdGEubGVuZ3RoID4gUVJCaW5hcnlNYXhMZW5ndGggPyBxclNpemUgKyAyMCA6IHFyU2l6ZSwgdGV4dEhlaWdodCk7XG4gICAgY29uc3QgbWFyZ2luQm90dG9tID0gMTU7XG4gICAgeSA9IG1vdmVEb3duKHksIHJvd0hlaWdodCAtICh5IC0gdG9wWSkgKyBtYXJnaW5Cb3R0b20pO1xuICB9XG5cbiAgLy8gQWRkIG5leHQgUGFnZVxuICBkb2MuYWRkUGFnZSgpO1xuXG4gIC8vIG5leHQgcGFnZXMgdGl0bGVcbiAgeSA9IDA7XG4gIHkgPSBtb3ZlRG93bih5LCA1NSk7XG4gIGRvYy5zZXRGb250U2l6ZShmb250LmhlYWRlcikuc2V0VGV4dENvbG9yKGNvbG9yLmJsYWNrKTtcbiAgZG9jLnRleHQoJ0JpdEdvIEtleUNhcmQgRkFRJywgbGVmdCgwKSwgeSk7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIHNlY29uZCBwYWdlJ3MgZGF0YSBmb3IgdGhlIGJhY2t1cCBQREZcbiAgeSA9IG1vdmVEb3duKHksIDMwKTtcbiAgcXVlc3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKHEpIHtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5zdWJoZWFkZXIpLnNldFRleHRDb2xvcihjb2xvci5ibGFjayk7XG4gICAgZG9jLnRleHQocS5xdWVzdGlvbiwgbGVmdCgwKSwgeSk7XG4gICAgeSA9IG1vdmVEb3duKHksIDIwKTtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5ib2R5KS5zZXRUZXh0Q29sb3IoY29sb3IuZGFya2dyYXkpO1xuICAgIHEuYW5zd2VyLmZvckVhY2goZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgIGRvYy50ZXh0KGxpbmUsIGxlZnQoMCksIHkpO1xuICAgICAgeSA9IG1vdmVEb3duKHksIGZvbnQuYm9keSArIDMpO1xuICAgIH0pO1xuICAgIHkgPSBtb3ZlRG93bih5LCAyMik7XG4gIH0pO1xuXG4gIHJldHVybiBkb2M7XG59XG4iXX0=
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd0tleWNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZHJhd0tleWNhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQThCO0FBQzlCLGlDQUFpQztBQUVqQyxtQ0FBb0M7QUFFcEMsSUFBSyxZQUlKO0FBSkQsV0FBSyxZQUFZO0lBQ2YsaUNBQWlCLENBQUE7SUFDakIsbUNBQW1CLENBQUE7SUFDbkIsMkJBQVcsQ0FBQTtBQUNiLENBQUMsRUFKSSxZQUFZLEtBQVosWUFBWSxRQUloQjtBQUVELG1GQUFtRjtBQUNuRixvSEFBb0g7QUFDcEgscURBQXFEO0FBQ3JELGdEQUFnRDtBQUNuQyxRQUFBLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLElBQUksR0FBRztJQUNYLE1BQU0sRUFBRSxFQUFFO0lBQ1YsU0FBUyxFQUFFLEVBQUU7SUFDYixJQUFJLEVBQUUsRUFBRTtDQUNULENBQUM7QUFFRixNQUFNLEtBQUssR0FBRztJQUNaLEtBQUssRUFBRSxTQUFTO0lBQ2hCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLElBQUksRUFBRSxTQUFTO0lBQ2YsR0FBRyxFQUFFLFNBQVM7Q0FDZixDQUFDO0FBRUYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBRWxCLHlEQUF5RDtBQUN6RCxTQUFTLElBQUksQ0FBQyxDQUFTO0lBQ3JCLE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBQ0QsU0FBUyxRQUFRLENBQUMsQ0FBUyxFQUFFLE1BQWM7SUFDekMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUMzQixRQUE2QixFQUM3QixHQUFVLEVBQ1YsQ0FBUyxFQUNULE1BQWMsRUFDZCxVQUFVO0lBRVYsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6QixJQUFJLE9BQU8sR0FBVyxVQUFVLENBQUM7SUFDakMsT0FBTyxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMzQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLE1BQU0sR0FBRyxVQUFVLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDaEUsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFFRCxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVoRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sT0FBTyxHQUFHLENBQUMsQ0FBQztTQUNwQjtRQUVELENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQztRQUNyQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNyQjtJQUNELE9BQU8sT0FBTyxHQUFHLENBQUMsQ0FBQztBQUNyQixDQUFDO0FBRUQsU0FBUyw2QkFBNkIsQ0FBQyxZQUE4QjtJQUNuRSx5REFBeUQ7SUFDekQsTUFBTSw2QkFBNkIsR0FBRztRQUNwQyxLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQztJQUVGLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxZQUFZLENBQUM7SUFDNUQsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLDZCQUE2QixDQUFDO0lBRTdFLG1DQUFtQztJQUNuQyxNQUFNLE1BQU0sR0FBRyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ25DLElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUV4QixrRkFBa0Y7SUFDbEYsSUFBSSxTQUFTLEdBQUcsVUFBVSxHQUFHLFNBQVMsRUFBRTtRQUN0QyxVQUFVLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQztLQUNwQztJQUNELE9BQU8sQ0FBQyxRQUFRLEdBQUcsVUFBVSxFQUFFLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRU0sS0FBSyxVQUFVLFdBQVcsQ0FBQyxFQUNoQyxjQUFjLEVBQ2QsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sV0FBVyxFQUNYLEtBQUssR0FDUTs7SUFDYixtQkFBbUI7SUFDbkIsTUFBTSxLQUFLLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFViwwQkFBMEI7SUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxhQUFLLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLHFCQUFxQjtJQUN4RSxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXpCLHVEQUF1RDtJQUN2RCw2REFBNkQ7SUFDN0QsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFcEIsSUFBSSxZQUFZLEVBQUU7UUFDaEIsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyw2QkFBNkIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxRSxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztLQUM3RDtJQUVELGtCQUFrQjtJQUNsQixJQUFJLGNBQWMsRUFBRTtRQUNsQixDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuQixHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQzNDO0lBQ0QsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQixHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxJQUFJLGNBQWMsRUFBRTtRQUNsQixHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN4QztJQUVELFlBQVk7SUFDWixTQUFTO0lBQ1QsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4QixHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO0lBQ3RFLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksR0FBRyxPQUFPLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RCxPQUFPO0lBQ1AsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLFVBQVU7UUFDVixDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDaEMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEdBQUcsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVsRCxrQkFBa0I7UUFDbEIsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxHQUFHLENBQUMsSUFBSSxDQUFDLHNFQUFzRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUMvRjtJQUNELG9EQUFvRDtJQUNwRCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDbkIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQzNHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUN2QixDQUFDO0lBQ0YsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDbEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtZQUNmLGVBQWU7WUFDZixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFZCxpQkFBaUI7WUFDakIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUNSO1FBRUQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBRW5CLE1BQU0sUUFBUSxHQUF3QixFQUFFLENBQUM7UUFDekMsTUFBTSxJQUFJLEdBQUcsSUFBQSxpQkFBUyxFQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUseUJBQWlCLENBQUMsQ0FBQztRQUNuRCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtZQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDMUU7UUFFRCxJQUFJLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFcEUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixVQUFVLElBQUksRUFBRSxDQUFDO1FBQ2pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixVQUFVLElBQUksRUFBRSxDQUFDO1FBQ2pCLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QyxVQUFVLElBQUksR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUEsTUFBQSxFQUFFLGFBQUYsRUFBRSx1QkFBRixFQUFFLENBQUUsSUFBSSwwQ0FBRSxNQUFNLElBQUcseUJBQWlCLEVBQUU7WUFDeEMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEIsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUNqQixHQUFHLENBQUMsSUFBSSxDQUFDLGdFQUFnRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN6RjtRQUNELENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDakIsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9CLFVBQVUsSUFBSSxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbEMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEIsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUNqQixNQUFNLEtBQUssR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDdkMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRSxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzlDLGdEQUFnRDtZQUNoRCxJQUFJLENBQUMsR0FBRyxNQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ25ELEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZCxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNmLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1AsSUFBSSxHQUFHLENBQUMsQ0FBQztnQkFDVCxXQUFXLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUMxRSxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2pFO1lBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QixDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDeEIsVUFBVSxJQUFJLE1BQU0sQ0FBQzthQUN0QjtTQUNGO1FBRUQsMkJBQTJCO1FBQzNCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRTtZQUN0QixNQUFNLElBQUksR0FBRyxVQUFVLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztZQUU3QyxXQUFXO1lBQ1gsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEIsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUNqQixHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxrQkFBa0I7WUFDbkQsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUVwQyxzREFBc0Q7WUFDdEQsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBRXpELDBFQUEwRTtZQUMxRSxtRUFBbUU7WUFDbkUsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3pFLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN0RCxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUM1QztRQUVELEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsNEZBQTRGO1FBQzVGLHdFQUF3RTtRQUN4RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLHlCQUFpQixDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbEcsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztLQUN4RDtJQUVELGdCQUFnQjtJQUNoQixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFZCxtQkFBbUI7SUFDbkIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNOLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFMUMscURBQXFEO0lBQ3JELENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzNCLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSTtZQUM3QixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0IsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNILENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBekxELGtDQXlMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzUERGIH0gZnJvbSAnanNwZGYnO1xuaW1wb3J0ICogYXMgUVJDb2RlIGZyb20gJ3FyY29kZSc7XG5pbXBvcnQgeyBJRHJhd0tleUNhcmQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IHNwbGl0S2V5cyB9IGZyb20gJy4vdXRpbHMnO1xuXG5lbnVtIEtleUN1cnZlTmFtZSB7XG4gIGVkMjU1MTkgPSAnRUREU0EnLFxuICBzZWNwMjU2azEgPSAnRUNEU0EnLFxuICBibHMgPSAnQkxTJyxcbn1cblxuLy8gTWF4IGZvciBCaW5hcnkvQnl0ZSBEYXRhIGh0dHBzOi8vZ2l0aHViLmNvbS9zb2xkYWlyL25vZGUtcXJjb2RlI3FyLWNvZGUtY2FwYWNpdHlcbi8vIHRoZSBsYXJnZXN0IHRoZW9yZXRpY2FsbHkgcG9zc2libGUgdmFsdWUgaXMgYWN0dWFsbHkgMjk1MyBidXQgdGhlIFFSIGNvZGVzIGdldCBzbyBkZW5zZSB0aGF0IHNjYW5uaW5nIHRoZW0gd2l0aCBhXG4vLyBwaG9uZSAob2ZmIG9mIGEgcHJpbnRlZCBwYWdlKSBkb2Vzbid0IHdvcmsgYW55bW9yZVxuLy8gdGhpcyBsaW1pdGF0aW9uIHdhcyBjaG9zZW4gYnkgdHJpYWwgYW5kIGVycm9yXG5leHBvcnQgY29uc3QgUVJCaW5hcnlNYXhMZW5ndGggPSAxNTAwO1xuXG5jb25zdCBmb250ID0ge1xuICBoZWFkZXI6IDI0LFxuICBzdWJoZWFkZXI6IDE1LFxuICBib2R5OiAxMixcbn07XG5cbmNvbnN0IGNvbG9yID0ge1xuICBibGFjazogJyMwMDAwMDAnLFxuICBkYXJrZ3JheTogJyM0YzRjNGMnLFxuICBncmF5OiAnIzliOWI5YicsXG4gIHJlZDogJyNlMjFlMWUnLFxufTtcblxuY29uc3QgbWFyZ2luID0gMzA7XG5cbi8vIEhlbHBlcnMgZm9yIGRhdGEgZm9ybWF0dGluZyAvIHBvc2l0aW9uaW5nIG9uIHRoZSBwYXBlclxuZnVuY3Rpb24gbGVmdCh4OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gbWFyZ2luICsgeDtcbn1cbmZ1bmN0aW9uIG1vdmVEb3duKHk6IG51bWJlciwgeWRlbHRhOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4geSArIHlkZWx0YTtcbn1cblxuZnVuY3Rpb24gZHJhd09uZVBhZ2VPZlFyQ29kZXMoXG4gIHFySW1hZ2VzOiBIVE1MQ2FudmFzRWxlbWVudFtdLFxuICBkb2M6IGpzUERGLFxuICB5OiBudW1iZXIsXG4gIHFyU2l6ZTogbnVtYmVyLFxuICBzdGFydEluZGV4XG4pOiBudW1iZXIge1xuICBkb2Muc2V0Rm9udCgnaGVsdmV0aWNhJyk7XG4gIGxldCBxckluZGV4OiBudW1iZXIgPSBzdGFydEluZGV4O1xuICBmb3IgKDsgcXJJbmRleCA8IHFySW1hZ2VzLmxlbmd0aDsgcXJJbmRleCsrKSB7XG4gICAgY29uc3QgaW1hZ2UgPSBxckltYWdlc1txckluZGV4XTtcbiAgICBjb25zdCB0ZXh0QnVmZmVyID0gMTU7XG4gICAgaWYgKHkgKyBxclNpemUgKyB0ZXh0QnVmZmVyID49IGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS5nZXRIZWlnaHQoKSkge1xuICAgICAgcmV0dXJuIHFySW5kZXg7XG4gICAgfVxuXG4gICAgZG9jLmFkZEltYWdlKGltYWdlLCBsZWZ0KDApLCB5LCBxclNpemUsIHFyU2l6ZSk7XG5cbiAgICBpZiAocXJJbWFnZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gcXJJbmRleCArIDE7XG4gICAgfVxuXG4gICAgeSA9IG1vdmVEb3duKHksIHFyU2l6ZSArIHRleHRCdWZmZXIpO1xuICAgIGRvYy5zZXRGb250U2l6ZShmb250LmJvZHkpLnNldFRleHRDb2xvcihjb2xvci5ibGFjayk7XG4gICAgZG9jLnRleHQoJ1BhcnQgJyArIChxckluZGV4ICsgMSkudG9TdHJpbmcoKSwgbGVmdCgwKSwgeSk7XG4gICAgeSA9IG1vdmVEb3duKHksIDIwKTtcbiAgfVxuICByZXR1cm4gcXJJbmRleCArIDE7XG59XG5cbmZ1bmN0aW9uIGNvbXB1dGVLZXlDYXJkSW1hZ2VEaW1lbnNpb25zKGtleUNhcmRJbWFnZTogSFRNTEltYWdlRWxlbWVudCkge1xuICAvLyBNYXggZGltZW5zaW9ucyBzdGFibGlzaGVkIGJ5IGZpeGVkIGF2YWlsYWJsZSBQREYgc3BhY2VcbiAgY29uc3QgS0VZX0NBUkRfSU1BR0VfTUFYX0RJTUVOU0lPTlMgPSB7XG4gICAgd2lkdGg6IDMwMyxcbiAgICBoZWlnaHQ6IDQwLFxuICB9O1xuXG4gIGNvbnN0IHsgd2lkdGg6IGltZ1dpZHRoLCBoZWlnaHQ6IGltZ0hlaWdodCB9ID0ga2V5Q2FyZEltYWdlO1xuICBjb25zdCB7IHdpZHRoOiBtYXhXaWR0aCwgaGVpZ2h0OiBtYXhIZWlnaHQgfSA9IEtFWV9DQVJEX0lNQUdFX01BWF9ESU1FTlNJT05TO1xuXG4gIC8vIFRyeSBzY2FsaW5nIHJhdGlvIGJhc2VkIG9uIHdpZHRoXG4gIGNvbnN0IHdSYXRpbyA9IGltZ1dpZHRoIC8gbWF4V2lkdGg7XG4gIGxldCBmaW5hbFJhdGlvID0gd1JhdGlvO1xuXG4gIC8vIElmIHJlc2l6ZWQgaGVpZ2h0IGV4Y2VlZHMgdGhlIGF2YWlsYWJsZSBoZWlnaHQgc3BhY2UsIGJhc2UgcmF0aW8gYWxzbyBvbiBoZWlnaHRcbiAgaWYgKGltZ0hlaWdodCAvIGZpbmFsUmF0aW8gPiBtYXhIZWlnaHQpIHtcbiAgICBmaW5hbFJhdGlvID0gaW1nSGVpZ2h0IC8gbWF4SGVpZ2h0O1xuICB9XG4gIHJldHVybiBbaW1nV2lkdGggLyBmaW5hbFJhdGlvLCBpbWdIZWlnaHQgLyBmaW5hbFJhdGlvXTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRyYXdLZXljYXJkKHtcbiAgYWN0aXZhdGlvbkNvZGUsXG4gIHF1ZXN0aW9ucyxcbiAga2V5Q2FyZEltYWdlLFxuICBxckRhdGEsXG4gIHdhbGxldExhYmVsLFxuICBjdXJ2ZSxcbn06IElEcmF3S2V5Q2FyZCk6IFByb21pc2U8anNQREY+IHtcbiAgLy8gZG9jdW1lbnQgZGV0YWlsc1xuICBjb25zdCB3aWR0aCA9IDguNSAqIDcyO1xuICBsZXQgeSA9IDA7XG5cbiAgLy8gQ3JlYXRlIHRoZSBQREYgaW5zdGFuY2VcbiAgY29uc3QgZG9jID0gbmV3IGpzUERGKCdwb3J0cmFpdCcsICdwdCcsICdsZXR0ZXInKTsgLy8ganNoaW50IGlnbm9yZTpsaW5lXG4gIGRvYy5zZXRGb250KCdoZWx2ZXRpY2EnKTtcblxuICAvLyBQREYgSGVhZGVyIEFyZWEgLSBpbmNsdWRlcyB0aGUgbG9nbyBhbmQgY29tcGFueSBuYW1lXG4gIC8vIFRoaXMgaXMgZGF0YSBmb3IgdGhlIEJpdEdvIGxvZ28gaW4gdGhlIHRvcCBsZWZ0IG9mIHRoZSBQREZcbiAgeSA9IG1vdmVEb3duKHksIDMwKTtcblxuICBpZiAoa2V5Q2FyZEltYWdlKSB7XG4gICAgY29uc3QgW2ltZ1dpZHRoLCBpbWdIZWlnaHRdID0gY29tcHV0ZUtleUNhcmRJbWFnZURpbWVuc2lvbnMoa2V5Q2FyZEltYWdlKTtcbiAgICBkb2MuYWRkSW1hZ2Uoa2V5Q2FyZEltYWdlLCBsZWZ0KDApLCB5LCBpbWdXaWR0aCwgaW1nSGVpZ2h0KTtcbiAgfVxuXG4gIC8vIEFjdGl2YXRpb24gQ29kZVxuICBpZiAoYWN0aXZhdGlvbkNvZGUpIHtcbiAgICB5ID0gbW92ZURvd24oeSwgOCk7XG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuYm9keSkuc2V0VGV4dENvbG9yKGNvbG9yLmdyYXkpO1xuICAgIGRvYy50ZXh0KCdBY3RpdmF0aW9uIENvZGUnLCBsZWZ0KDQ2MCksIHkpO1xuICB9XG4gIGRvYy5zZXRGb250U2l6ZShmb250LmhlYWRlcikuc2V0VGV4dENvbG9yKGNvbG9yLmJsYWNrKTtcbiAgeSA9IG1vdmVEb3duKHksIDI1KTtcbiAgZG9jLnRleHQoJ0tleUNhcmQnLCBsZWZ0KGN1cnZlICYmICFhY3RpdmF0aW9uQ29kZSA/IDQ2MCA6IDMyNSksIHkgLSAxKTtcbiAgaWYgKGFjdGl2YXRpb25Db2RlKSB7XG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuaGVhZGVyKS5zZXRUZXh0Q29sb3IoY29sb3IuZ3JheSk7XG4gICAgZG9jLnRleHQoYWN0aXZhdGlvbkNvZGUsIGxlZnQoNDYwKSwgeSk7XG4gIH1cblxuICAvLyBTdWJoZWFkZXJcbiAgLy8gdGl0bGVzXG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpLnRvRGF0ZVN0cmluZygpO1xuICB5ID0gbW92ZURvd24oeSwgbWFyZ2luKTtcbiAgZG9jLnNldEZvbnRTaXplKGZvbnQuYm9keSkuc2V0VGV4dENvbG9yKGNvbG9yLmdyYXkpO1xuICBjb25zdCB0aXRsZSA9IGN1cnZlID8gS2V5Q3VydmVOYW1lW2N1cnZlXSArICcga2V5OicgOiAnd2FsbGV0IG5hbWVkOic7XG4gIGRvYy50ZXh0KCdDcmVhdGVkIG9uICcgKyBkYXRlICsgJyBmb3IgJyArIHRpdGxlLCBsZWZ0KDApLCB5KTtcbiAgLy8gY29weVxuICB5ID0gbW92ZURvd24oeSwgMjUpO1xuICBkb2Muc2V0Rm9udFNpemUoZm9udC5zdWJoZWFkZXIpLnNldFRleHRDb2xvcihjb2xvci5ibGFjayk7XG4gIGRvYy50ZXh0KHdhbGxldExhYmVsLCBsZWZ0KDApLCB5KTtcbiAgaWYgKCFjdXJ2ZSkge1xuICAgIC8vIFJlZCBCYXJcbiAgICB5ID0gbW92ZURvd24oeSwgMjApO1xuICAgIGRvYy5zZXRGaWxsQ29sb3IoMjU1LCAyMzAsIDIzMCk7XG4gICAgZG9jLnJlY3QobGVmdCgwKSwgeSwgd2lkdGggLSAyICogbWFyZ2luLCAzMiwgJ0YnKTtcblxuICAgIC8vIHdhcm5pbmcgbWVzc2FnZVxuICAgIHkgPSBtb3ZlRG93bih5LCAyMCk7XG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuYm9keSkuc2V0VGV4dENvbG9yKGNvbG9yLnJlZCk7XG4gICAgZG9jLnRleHQoJ1ByaW50IHRoaXMgZG9jdW1lbnQsIG9yIGtlZXAgaXQgc2VjdXJlbHkgb2ZmbGluZS4gU2VlIGJlbG93IGZvciBGQVEuJywgbGVmdCg3NSksIHkpO1xuICB9XG4gIC8vIEdlbmVyYXRlIHRoZSBmaXJzdCBwYWdlJ3MgZGF0YSBmb3IgdGhlIGJhY2t1cCBQREZcbiAgeSA9IG1vdmVEb3duKHksIDM1KTtcbiAgY29uc3QgcXJTaXplID0gMTMwO1xuICBjb25zdCBxcktleXMgPSBbJ3VzZXInLCAndXNlck1hc3RlclB1YmxpY0tleScsICdiYWNrdXAnLCAnYmFja3VwTWFzdGVyUHVibGljS2V5JywgJ2JpdGdvJywgJ3Bhc3Njb2RlJ10uZmlsdGVyKFxuICAgIChrZXkpID0+ICEhcXJEYXRhW2tleV1cbiAgKTtcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHFyS2V5cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBuYW1lID0gcXJLZXlzW2luZGV4XTtcbiAgICBpZiAoaW5kZXggPT09IDIpIHtcbiAgICAgIC8vIEFkZCAybmQgUGFnZVxuICAgICAgZG9jLmFkZFBhZ2UoKTtcblxuICAgICAgLy8gMm5kIHBhZ2UgdGl0bGVcbiAgICAgIHkgPSAzMDtcbiAgICB9XG5cbiAgICBjb25zdCBxciA9IHFyRGF0YVtuYW1lXTtcbiAgICBsZXQgdG9wWSA9IHk7XG4gICAgY29uc3QgdGV4dExlZnQgPSBsZWZ0KHFyU2l6ZSArIDE1KTtcbiAgICBsZXQgdGV4dEhlaWdodCA9IDA7XG5cbiAgICBjb25zdCBxckltYWdlczogSFRNTENhbnZhc0VsZW1lbnRbXSA9IFtdO1xuICAgIGNvbnN0IGtleXMgPSBzcGxpdEtleXMocXIuZGF0YSwgUVJCaW5hcnlNYXhMZW5ndGgpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgIHFySW1hZ2VzLnB1c2goYXdhaXQgUVJDb2RlLnRvQ2FudmFzKGtleSwgeyBlcnJvckNvcnJlY3Rpb25MZXZlbDogJ0wnIH0pKTtcbiAgICB9XG5cbiAgICBsZXQgbmV4dFFySW5kZXggPSBkcmF3T25lUGFnZU9mUXJDb2RlcyhxckltYWdlcywgZG9jLCB5LCBxclNpemUsIDApO1xuXG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuc3ViaGVhZGVyKS5zZXRUZXh0Q29sb3IoY29sb3IuYmxhY2spO1xuICAgIHkgPSBtb3ZlRG93bih5LCAxMCk7XG4gICAgdGV4dEhlaWdodCArPSAxMDtcbiAgICBkb2MudGV4dChxci50aXRsZSwgdGV4dExlZnQsIHkpO1xuICAgIHRleHRIZWlnaHQgKz0gZG9jLmdldExpbmVIZWlnaHQoKTtcbiAgICB5ID0gbW92ZURvd24oeSwgMTUpO1xuICAgIHRleHRIZWlnaHQgKz0gMTU7XG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuYm9keSkuc2V0VGV4dENvbG9yKGNvbG9yLmRhcmtncmF5KTtcbiAgICBkb2MudGV4dChxci5kZXNjcmlwdGlvbiwgdGV4dExlZnQsIHkpO1xuICAgIHRleHRIZWlnaHQgKz0gZG9jLmdldExpbmVIZWlnaHQoKTtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5ib2R5IC0gMik7XG4gICAgaWYgKHFyPy5kYXRhPy5sZW5ndGggPiBRUkJpbmFyeU1heExlbmd0aCkge1xuICAgICAgeSA9IG1vdmVEb3duKHksIDMwKTtcbiAgICAgIHRleHRIZWlnaHQgKz0gMzA7XG4gICAgICBkb2MudGV4dCgnTm90ZTogeW91IHdpbGwgbmVlZCB0byBwdXQgYWxsIFBhcnRzIHRvZ2V0aGVyIGZvciB0aGUgZnVsbCBrZXknLCB0ZXh0TGVmdCwgeSk7XG4gICAgfVxuICAgIHkgPSBtb3ZlRG93bih5LCAzMCk7XG4gICAgdGV4dEhlaWdodCArPSAzMDtcbiAgICBkb2MudGV4dCgnRGF0YTonLCB0ZXh0TGVmdCwgeSk7XG4gICAgdGV4dEhlaWdodCArPSBkb2MuZ2V0TGluZUhlaWdodCgpO1xuICAgIHkgPSBtb3ZlRG93bih5LCAxNSk7XG4gICAgdGV4dEhlaWdodCArPSAxNTtcbiAgICBjb25zdCB3aWR0aCA9IDcyICogOC41IC0gdGV4dExlZnQgLSAzMDtcbiAgICBkb2Muc2V0Rm9udCgnY291cmllcicpLnNldEZvbnRTaXplKDkpLnNldFRleHRDb2xvcihjb2xvci5ibGFjayk7XG4gICAgY29uc3QgbGluZXMgPSBkb2Muc3BsaXRUZXh0VG9TaXplKHFyLmRhdGEsIHdpZHRoKTtcbiAgICBjb25zdCBidWZmZXIgPSAxMDtcbiAgICBmb3IgKGxldCBsaW5lID0gMDsgbGluZSA8IGxpbmVzLmxlbmd0aDsgbGluZSsrKSB7XG4gICAgICAvLyBhZGQgbmV3IHBhZ2UgaWYgZGF0YSBkb2VzIG5vdCBmaXQgb24gb25lIHBhZ2VcbiAgICAgIGlmICh5ICsgYnVmZmVyID49IGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS5nZXRIZWlnaHQoKSkge1xuICAgICAgICBkb2MuYWRkUGFnZSgpO1xuICAgICAgICB0ZXh0SGVpZ2h0ID0gMDtcbiAgICAgICAgeSA9IDMwO1xuICAgICAgICB0b3BZID0geTtcbiAgICAgICAgbmV4dFFySW5kZXggPSBkcmF3T25lUGFnZU9mUXJDb2RlcyhxckltYWdlcywgZG9jLCB5LCBxclNpemUsIG5leHRRckluZGV4KTtcbiAgICAgICAgZG9jLnNldEZvbnQoJ2NvdXJpZXInKS5zZXRGb250U2l6ZSg5KS5zZXRUZXh0Q29sb3IoY29sb3IuYmxhY2spO1xuICAgICAgfVxuICAgICAgZG9jLnRleHQobGluZXNbbGluZV0sIHRleHRMZWZ0LCB5KTtcbiAgICAgIGlmIChsaW5lICE9PSBsaW5lcy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHkgPSBtb3ZlRG93bih5LCBidWZmZXIpO1xuICAgICAgICB0ZXh0SGVpZ2h0ICs9IGJ1ZmZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgcHVibGljIGtleSBpZiBleGlzdHNcbiAgICBpZiAocXIucHVibGljTWFzdGVyS2V5KSB7XG4gICAgICBjb25zdCB0ZXh0ID0gJ0tleSBJZDogJyArIHFyLnB1YmxpY01hc3RlcktleTtcblxuICAgICAgLy8gR3JheSBiYXJcbiAgICAgIHkgPSBtb3ZlRG93bih5LCAyMCk7XG4gICAgICB0ZXh0SGVpZ2h0ICs9IDIwO1xuICAgICAgZG9jLnNldEZpbGxDb2xvcigyNDcsIDI0OSwgMjQ5KTsgLy8gR3JheSBiYWNrZ3JvdW5kXG4gICAgICBkb2Muc2V0RHJhd0NvbG9yKDAsIDAsIDApOyAvLyBCb3JkZXJcblxuICAgICAgLy8gTGVhdmUgYSBiaXQgb2Ygc3BhY2UgZm9yIHRoZSBzaWRlIG9mIHRoZSByZWN0YW5nbGUuXG4gICAgICBjb25zdCBzcGxpdEtleUlkID0gZG9jLnNwbGl0VGV4dFRvU2l6ZSh0ZXh0LCB3aWR0aCAtIDEwKTtcblxuICAgICAgLy8gVGhlIGhlaWdodCBvZiB0aGUgYm94IG11c3QgYmUgYXQgbGVhc3QgMTUgcHggKGZvciBzaW5nbGUgbGluZSBjYXNlKSwgb3JcbiAgICAgIC8vIGEgbXVsdGlwbGUgb2YgMTMgZm9yIGVhY2ggbGluZS4gIFRoaXMgYWxsb3dzIGZvciBwcm9wZXIgcGFkZGluZy5cbiAgICAgIGRvYy5yZWN0KHRleHRMZWZ0LCB5LCB3aWR0aCwgTWF0aC5tYXgoMTIgKiBzcGxpdEtleUlkLmxlbmd0aCwgMTUpLCAnRkQnKTtcbiAgICAgIHRleHRIZWlnaHQgKz0gc3BsaXRLZXlJZC5sZW5ndGggKiBkb2MuZ2V0TGluZUhlaWdodCgpO1xuICAgICAgZG9jLnRleHQoc3BsaXRLZXlJZCwgdGV4dExlZnQgKyA1LCB5ICsgMTApO1xuICAgIH1cblxuICAgIGRvYy5zZXRGb250KCdoZWx2ZXRpY2EnKTtcbiAgICAvLyBNb3ZlIGRvd24gdGhlIHNpemUgb2YgdGhlIFFSIGNvZGUgbWludXMgYWNjdW11bGF0ZWQgaGVpZ2h0IG9uIHRoZSByaWdodCBzaWRlLCBwbHVzIG1hcmdpblxuICAgIC8vIGlmIHdlIGhhdmUgYSBrZXkgdGhhdCBzcGFucyBtdWx0aXBsZSBwYWdlcywgdGhlbiBleGNsdWRlIFFSIGNvZGUgc2l6ZVxuICAgIGNvbnN0IHJvd0hlaWdodCA9IE1hdGgubWF4KHFyLmRhdGEubGVuZ3RoID4gUVJCaW5hcnlNYXhMZW5ndGggPyBxclNpemUgKyAyMCA6IHFyU2l6ZSwgdGV4dEhlaWdodCk7XG4gICAgY29uc3QgbWFyZ2luQm90dG9tID0gMTU7XG4gICAgeSA9IG1vdmVEb3duKHksIHJvd0hlaWdodCAtICh5IC0gdG9wWSkgKyBtYXJnaW5Cb3R0b20pO1xuICB9XG5cbiAgLy8gQWRkIG5leHQgUGFnZVxuICBkb2MuYWRkUGFnZSgpO1xuXG4gIC8vIG5leHQgcGFnZXMgdGl0bGVcbiAgeSA9IDA7XG4gIHkgPSBtb3ZlRG93bih5LCA1NSk7XG4gIGRvYy5zZXRGb250U2l6ZShmb250LmhlYWRlcikuc2V0VGV4dENvbG9yKGNvbG9yLmJsYWNrKTtcbiAgZG9jLnRleHQoJ0JpdEdvIEtleUNhcmQgRkFRJywgbGVmdCgwKSwgeSk7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIHNlY29uZCBwYWdlJ3MgZGF0YSBmb3IgdGhlIGJhY2t1cCBQREZcbiAgeSA9IG1vdmVEb3duKHksIDMwKTtcbiAgcXVlc3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKHEpIHtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5zdWJoZWFkZXIpLnNldFRleHRDb2xvcihjb2xvci5ibGFjayk7XG4gICAgZG9jLnRleHQocS5xdWVzdGlvbiwgbGVmdCgwKSwgeSk7XG4gICAgeSA9IG1vdmVEb3duKHksIDIwKTtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5ib2R5KS5zZXRUZXh0Q29sb3IoY29sb3IuZGFya2dyYXkpO1xuICAgIHEuYW5zd2VyLmZvckVhY2goZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgIGRvYy50ZXh0KGxpbmUsIGxlZnQoMCksIHkpO1xuICAgICAgeSA9IG1vdmVEb3duKHksIGZvbnQuYm9keSArIDMpO1xuICAgIH0pO1xuICAgIHkgPSBtb3ZlRG93bih5LCAyMik7XG4gIH0pO1xuXG4gIHJldHVybiBkb2M7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/key-card",
|
|
3
|
-
"version": "0.1.2-alpha.
|
|
3
|
+
"version": "0.1.2-alpha.127",
|
|
4
4
|
"description": "key card generator for BitGo wallets",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -33,14 +33,14 @@
|
|
|
33
33
|
]
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@bitgo-beta/sdk-api": "1.6.1-alpha.
|
|
37
|
-
"@bitgo-beta/sdk-core": "2.4.1-alpha.
|
|
38
|
-
"@bitgo-beta/statics": "10.0.1-alpha.
|
|
36
|
+
"@bitgo-beta/sdk-api": "1.6.1-alpha.148",
|
|
37
|
+
"@bitgo-beta/sdk-core": "2.4.1-alpha.148",
|
|
38
|
+
"@bitgo-beta/statics": "10.0.1-alpha.148",
|
|
39
39
|
"jspdf": "^2.5.1",
|
|
40
40
|
"qrcode": "^1.5.1"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/qrcode": "1.5.0"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "3eb6526abfd222dd21df53f5d1bdc50c662a9b46"
|
|
46
46
|
}
|