single-scripture-rcl 3.3.3-beta.7 → 3.3.3-patch.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ScriptureCard/ScriptureCard.js +193 -44
- package/dist/components/ScripturePane/ScripturePane.js +16 -10
- package/dist/hooks/useScripture.js +1 -1
- package/dist/hooks/useScriptureAlignmentEdit.js +28 -14
- package/dist/utils/ScriptureSettings.js +11 -6
- package/dist/utils/index.js +2 -1
- package/dist/utils/maps.js +41 -0
- package/package.json +3 -2
|
@@ -393,11 +393,16 @@ export function cleanupVerseObjects(verseObjects) {
|
|
|
393
393
|
for (var i = 0, l = verseObjects_.length; i < l; i++) {
|
|
394
394
|
var vo = verseObjects_[i];
|
|
395
395
|
|
|
396
|
-
if (vo.type === 'word') {
|
|
397
|
-
var word = _objectSpread(
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
396
|
+
if (vo.type === 'word' && (vo.occurrence || vo.occurrences)) {
|
|
397
|
+
var word = _objectSpread({}, vo);
|
|
398
|
+
|
|
399
|
+
if (vo.occurrence) {
|
|
400
|
+
word.occurrence = fixOccurrence(vo.occurrence);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
if (vo.occurrences) {
|
|
404
|
+
word.occurrences = fixOccurrence(vo.occurrences);
|
|
405
|
+
}
|
|
401
406
|
|
|
402
407
|
verseObjects_[i] = word;
|
|
403
408
|
} else if (vo.children) {
|
|
@@ -416,4 +421,4 @@ export function cleanupVerseObjects(verseObjects) {
|
|
|
416
421
|
|
|
417
422
|
return [];
|
|
418
423
|
}
|
|
419
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9TY3JpcHR1cmVTZXR0aW5ncy50cyJdLCJuYW1lcyI6WyJDT05URU5UX05PVF9GT1VORF9FUlJPUiIsIklOVkFMSURfTUFOSUZFU1RfRVJST1IiLCJMT0FESU5HX1NUQVRFIiwiTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUiIsIlNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SIiwiQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHIiwiTE9BRElOR19SRVNPVVJDRSIsIk1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHIiwiTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyIsIk5UX09SSUdfTEFORyIsIk5UX09SSUdfTEFOR19CSUJMRSIsIk9SSUdJTkFMX1NPVVJDRSIsIk9UX09SSUdfTEFORyIsIk9UX09SSUdfTEFOR19CSUJMRSIsIlNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHIiwiVEFSR0VUX0xJVEVSQUwiLCJUQVJHRVRfU0lNUExJRklFRCIsIkRJU0FCTEVfV09SRF9QT1BPVkVSIiwiZ2V0UmVzb3VyY2VMaW5rIiwic2NyaXB0dXJlIiwicmVmIiwiYnJhbmNoIiwib3duZXIiLCJsYW5ndWFnZUlkIiwicmVzb3VyY2VJZCIsImdldFNjcmlwdHVyZU9iamVjdCIsInRpdGxlIiwic2VydmVyIiwicmVzb3VyY2VMaW5rIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiZ2V0VmVyc2VEYXRhRnJvbVNjcmlwQ29uZmlnIiwic2NyaXB0dXJlQ29uZmlnIiwidmVyc2VOdW0iLCJ2ZXJzZXNGb3JSZWYiLCJmaW5kIiwidmVyc2VSZWYiLCJ2ZXJzZSIsImlzT3JpZ2luYWxCaWJsZSIsImlzT3JpZyIsImNsZWFudXBBY2NvdW50U2V0dGluZ3MiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRPd25lciIsImN1cnJlbnRMYW5ndWFnZUlkIiwic3BsaXRVcmwiLCJvcmlnaW5hbFJlcG9VcmwiLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJib29rSWQiLCJzY3JpcHR1cmVTZXR0aW5nc18iLCJpc05ld1Rlc3RhbWVudCIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsImxhYmVsIiwic2V0U2NyaXB0dXJlIiwic2NyaXB0dXJlVmVyc2lvbkhpc3QiLCJoaXN0b3J5IiwiZ2V0TGF0ZXN0IiwiaW5kZXgiLCJmaW5kSXRlbUluZGV4QnlLZXkiLCJzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyIsIm9wdGlvbnMiLCJjdXJyZW50IiwiYWxsb3dVc2VySW5wdXQiLCJvbkNoYW5nZSIsInZhbGlkYXRpb25DQiIsIml0ZW0iLCJuZXdJdGVtIiwiYWRkSXRlbVRvSGlzdG9yeSIsImdldEl0ZW1CeVRpdGxlIiwiZGVsZXRlSXRlbSIsImRlbGV0ZUluZGV4IiwicmVtb3ZlSXRlbUJ5SW5kZXgiLCJnZXRSZXBvVXJsIiwiaXNOVCIsInJlcG9VcmwiLCJzcGxpdCIsImUiLCJnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsiLCJlcnJvckNvZGUiLCJlcnJvck1zZyIsInZhbGlkYXRlRGNzVXJsIiwidmFsaWRSZXBvUGF0aCIsInZhbGlkVXJsIiwicGFydHMiLCJwcm90b2NvbCIsImhvc3QiLCJ1c2VyIiwicmVwbyIsImhvc3RQYXJ0cyIsImxlbmd0aCIsInBhcnQiLCJwcm9qZWN0SWQiLCJjb25zb2xlIiwibG9nIiwiZ2V0UmVzb3VyY2VFcnJvck1lc3NhZ2UiLCJyZXNvdXJjZVN0YXR1cyIsIm1lc3NhZ2UiLCJnZXRSZXNvdXJjZU1lc3NhZ2UiLCJnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyIsImZpeE9jY3VycmVuY2UiLCJvY2N1cnJlbmNlIiwicGFyc2VJbnQiLCJjbGVhbnVwVmVyc2VPYmplY3RzIiwidmVyc2VPYmplY3RzIiwidmVyc2VPYmplY3RzXyIsImkiLCJsIiwidm8iLCJ0eXBlIiwid29yZCIsIm9jY3VycmVu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YixHQUFtQk8sS0FBbkI7QUFDRDtBQUNGOztBQUNELFdBQU9SLGFBQVA7QUFDRDs7QUFDRCxTQUFPLEVBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SLFxuICBJTlZBTElEX01BTklGRVNUX0VSUk9SLFxuICBMT0FESU5HX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxuICBTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHtcbiAgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBMT0FESU5HX1JFU09VUkNFLFxuICBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyxcbiAgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyxcbiAgTlRfT1JJR19MQU5HLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBUQVJHRVRfTElURVJBTCxcbiAgVEFSR0VUX1NJTVBMSUZJRUQsXG59IGZyb20gJy4vY29tbW9uJ1xuXG5leHBvcnQgY29uc3QgRElTQUJMRV9XT1JEX1BPUE9WRVIgPSB0cnVlIC8vIGRpc2FibGUgd29yZCBwb3BvdmVyIGZvciBldmVyeSBzY3JpcHR1cmUgcGFuZSBidXQgb3JpZ2luYWwgbGFuZ3VhZ2VzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlKSB7XG4gIGNvbnN0IHJlZiA9IHNjcmlwdHVyZS5yZWYgfHwgc2NyaXB0dXJlLmJyYW5jaFxuICByZXR1cm4gYCR7c2NyaXB0dXJlLm93bmVyfS8ke3NjcmlwdHVyZS5sYW5ndWFnZUlkfS8ke3NjcmlwdHVyZS5yZXNvdXJjZUlkfS8ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICB0aXRsZSxcbiAgc2VydmVyLFxuICBvd25lcixcbiAgcmVmLFxuICBsYW5ndWFnZUlkLFxuICByZXNvdXJjZUlkLFxuICByZXNvdXJjZUxpbmssXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxufSkge1xuICBjb25zdCBzY3JpcHR1cmUgPSB7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICByZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICByZXNvdXJjZUxpbmssXG4gIH1cblxuICBpZiAoIXJlc291cmNlTGluaykge1xuICAgIHNjcmlwdHVyZS5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgICAgb3duZXIsXG4gICAgICByZWYsXG4gICAgICBsYW5ndWFnZUlkLFxuICAgICAgcmVzb3VyY2VJZCxcbiAgICB9KVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVcbn1cblxuLyoqXG4gKiByZXR1cm4gdmVyc2UgZGF0YSBnaXZlbiBhIHNjcmlwdHVyZSBjb25maWcgYW5kIHZlcnNlIG51bWJlclxuICogQHBhcmFtIHNjcmlwdHVyZUNvbmZpZ1xuICogQHBhcmFtIHZlcnNlTnVtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzZURhdGFGcm9tU2NyaXBDb25maWcoc2NyaXB0dXJlQ29uZmlnLCB2ZXJzZU51bSkge1xuICByZXR1cm4gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWY/LmZpbmQoXG4gICAgdmVyc2VSZWYgPT4gdmVyc2VSZWYudmVyc2UgPT09IHZlcnNlTnVtXG4gIClcbn1cblxuLyoqXG4gKiByZXR1cm4gdHJ1ZSBpZiByZXNvdXJjZSBpcyBhbiBvcmlnaW5hbCBsYW5ndWFnZSBiaWJsZVxuICogQHBhcmFtIHJlc291cmNlSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3JpZ2luYWxCaWJsZShyZXNvdXJjZUlkKSB7XG4gIGNvbnN0IGlzT3JpZyA9ICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSlcbiAgcmV0dXJuIGlzT3JpZ1xufVxuXG4vKipcbiAqIG1ha2Ugc3VyZSBzY3JpcHR1cmVTZXR0aW5ncyBhcmUgdXAgdG8gZGF0ZSB3aXRoIGN1cnJlbnQgb3duZXIgYW5kIGxhbmd1YWdlXG4gKiBAcGFyYW0ge29iamVjdH0gc2NyaXB0dXJlU2V0dGluZ3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3M6IGFueSwgY3VycmVudE93bmVyOiBhbnksIGN1cnJlbnRMYW5ndWFnZUlkOiBhbnkpIHtcbiAgaWYgKGN1cnJlbnRPd25lciAmJiAoY3VycmVudE93bmVyICE9PSBzY3JpcHR1cmVTZXR0aW5ncy5vd25lcikpIHsgLy8gaWYgb3duZXIgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBjdXJyZW50T3duZXJcbiAgfVxuXG4gIGlmIChjdXJyZW50TGFuZ3VhZ2VJZCAmJiAoY3VycmVudExhbmd1YWdlSWQgIT09IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQpKSB7IC8vIGlmIGxhbmd1YWdlIGNoYW5nZWQsIHVwZGF0ZSBzY3JpcHR1cmVTZXR0aW5nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBjdXJyZW50TGFuZ3VhZ2VJZFxuICB9XG59XG5cbi8qKlxuICogc2VwYXJhdGUgVVJMIGludG8gc2VydmVyIGFuZCByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpIHtcbiAgaWYgKG9yaWdpbmFsUmVwb1VybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3JpZ2luYWxSZXBvVXJsKVxuICAgIGNvbnN0IHNlcnZlciA9IHVybC5vcmlnaW5cbiAgICBjb25zdCByZXNvdXJjZUxpbmsgPSB1cmwucGF0aG5hbWUgKyAodXJsLnNlYXJjaCB8fCAnJylcbiAgICByZXR1cm4geyBzZXJ2ZXIsIHJlc291cmNlTGluayB9XG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogZ2V0IHRoZSBzY3JpcHR1cmUgc2V0dGluZ3MgbmVlZGVkIGZvciBmZXRjaCAtIGZvciBPcmlnTGFuZywgVUxULCBHTFQgd2lsbCByZXBsYWNlIG93bmVyIGFuZCBsYW5ndWFnZUlkIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc19cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdUZXN0YW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmwgLSBvcHRpb25hbCBwYXRoIHRvIHJlcG8gZm9yIG9yaWdpbmFsIGxhbmd1YWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKFxuICBib29rSWQsIHNjcmlwdHVyZVNldHRpbmdzXywgaXNOZXdUZXN0YW1lbnQsXG4gIG9yaWdpbmFsUmVwb1VybD1udWxsLFxuICBjdXJyZW50TGFuZ3VhZ2VJZD1udWxsLFxuICBjdXJyZW50T3duZXI9bnVsbCxcbikge1xuICBjb25zdCBzY3JpcHR1cmVTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlU2V0dGluZ3NfIH1cbiAgc2NyaXB0dXJlU2V0dGluZ3MuZGlzYWJsZVdvcmRQb3BvdmVyID0gRElTQUJMRV9XT1JEX1BPUE9WRVJcbiAgY29uc3QgcmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzXy5yZXNvdXJjZUlkXG5cbiAgaWYgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkge1xuICAgIC8vIHNlbGVjdCBvcmlnaW5hbCBsYW5ndWFnZSBCaWJsZSBiYXNlZCBvbiB3aGljaCB0ZXN0YW1lbnQgdGhlIGJvb2sgYmVsb25nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBpc05ld1Rlc3RhbWVudCA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBpc05ld1Rlc3RhbWVudFxuICAgICAgPyBOVF9PUklHX0xBTkdfQklCTEVcbiAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG5cbiAgICBpZiAoc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyKSB7XG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IHNjcmlwdHVyZVNldHRpbmdzLm9yaWdpbmFsTGFuZ3VhZ2VPd25lclxuICAgIH1cblxuICAgIGlmIChvcmlnaW5hbFJlcG9VcmwpIHsgLy8gdXNlIHRoaXMgdXJsIGlmIGRlZmluZWRcbiAgICAgIGNvbnN0IHsgc2VydmVyLCByZXNvdXJjZUxpbmsgfSA9IHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybClcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnNlcnZlciA9IHNlcnZlclxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rXG4gICAgfSBlbHNlIHsgLy8gZmFsbCBiYWNrIHRvIGFwcCBkZWZhdWx0c1xuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICAgIH1cbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBmYWxzZVxuICB9IGVsc2UgaWYgKHJlc291cmNlSWQgPT09IFRBUkdFVF9MSVRFUkFMKSB7XG4gICAgY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5ncywgY3VycmVudE93bmVyLCBjdXJyZW50TGFuZ3VhZ2VJZClcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9PT0gJ2VuJyA/ICd1bHQnIDogJ2dsdCdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX1NJTVBMSUZJRUQpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VzdCcgOiAnZ3N0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfVxuICByZXR1cm4gc2NyaXB0dXJlU2V0dGluZ3Ncbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyh7XG4gIGxhYmVsLFxuICByZXNvdXJjZUxpbmssXG4gIHNldFNjcmlwdHVyZSxcbiAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG59KSB7XG4gIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICBsZXQgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3Jlc291cmNlTGluaycsIHJlc291cmNlTGluaylcblxuICBjb25zdCBzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyA9IHtcbiAgICBsYWJlbCwgLy8gbGFiZWwgZm9yIGNvbWJvYm94XG4gICAgb3B0aW9uczogaGlzdG9yeSxcbiAgICBjdXJyZW50OiBpbmRleCxcbiAgICBhbGxvd1VzZXJJbnB1dDogdHJ1ZSxcbiAgICBvbkNoYW5nZTogKHRpdGxlLCBpbmRleCwgdmFsaWRhdGlvbkNCPW51bGwpID0+IHtcbiAgICAgIGxldCBpdGVtXG5cbiAgICAgIGlmICgoaW5kZXggPCAwKSAmJiB0aXRsZSkge1xuICAgICAgICBjb25zdCBuZXdJdGVtID0ge1xuICAgICAgICAgIHVybDogdGl0bGUsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KG5ld0l0ZW0pXG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBpdGVtID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClbaW5kZXhdXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRJdGVtQnlUaXRsZSh0aXRsZSlcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgc2V0U2NyaXB0dXJlKGl0ZW0sIHZhbGlkYXRpb25DQilcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlbGV0ZUl0ZW06IHRpdGxlID0+IHtcbiAgICAgIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICAgICAgY29uc3QgZGVsZXRlSW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3RpdGxlJywgdGl0bGUpXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVJdGVtQnlJbmRleChkZWxldGVJbmRleClcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXBvVXJsKHJlc291cmNlTGluazogc3RyaW5nLCBzZXJ2ZXI6IHN0cmluZywgaXNOVDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGxldCByZXBvVXJsXG5cbiAgdHJ5IHtcbiAgICBsZXQgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkXSA9IHJlc291cmNlTGluay5zcGxpdCgnLycpXG5cbiAgICBzd2l0Y2ggKHJlc291cmNlSWQpIHtcbiAgICBjYXNlIE9SSUdJTkFMX1NPVVJDRTpcbiAgICAgIGxhbmd1YWdlSWQgPSBpc05UID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgICByZXNvdXJjZUlkID0gaXNOVFxuICAgICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgICA6IE9UX09SSUdfTEFOR19CSUJMRVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX0xJVEVSQUw6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VsdCcgOiAnZ2x0J1xuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX1NJTVBMSUZJRUQ6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VzdCcgOiAnZ3N0J1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVwb1VybCA9IGAke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cmVzb3VyY2VJZH1gXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyByZXNvdXJjZUxpbmsgd2FzIGludmFsaWRcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGAke3NlcnZlciB8fCAnJ30vJHtyZXBvVXJsfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhcbiAgcmVzb3VyY2VMaW5rOiBzdHJpbmcsXG4gIHNlcnZlcjogc3RyaW5nLFxuICBlcnJvckNvZGU6IHN0cmluZyxcbiAgaXNOVDogYm9vbGVhbik6IHN0cmluZ1xue1xuICBjb25zdCByZXBvVXJsID0gZ2V0UmVwb1VybChyZXNvdXJjZUxpbmssIHNlcnZlciwgaXNOVClcbiAgY29uc3QgZXJyb3JNc2cgPSBlcnJvckNvZGUgKyByZXBvVXJsXG4gIHJldHVybiBlcnJvck1zZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEY3NVcmwodXJsKSB7XG4gIGxldCB2YWxpZFJlcG9QYXRoID0gZmFsc2VcbiAgbGV0IHZhbGlkVXJsID0gZmFsc2VcblxuICB0cnkge1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCcvJylcbiAgICBjb25zdCBbcHJvdG9jb2wsICwgaG9zdCwgdXNlciwgcmVwb10gPSBwYXJ0c1xuICAgIHZhbGlkVXJsID0gKHByb3RvY29sID09PSAnaHR0cHM6JylcbiAgICBjb25zdCBob3N0UGFydHMgPSBob3N0ID8gaG9zdC5zcGxpdCgnLicpIDogW11cblxuICAgIGlmIChob3N0UGFydHMubGVuZ3RoID49IDIpIHtcbiAgICAgIGZvciAobGV0IHBhcnQgb2YgaG9zdFBhcnRzKSB7XG4gICAgICAgIGlmICghcGFydCkge1xuICAgICAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoIHByb3RvY29sICYmIGhvc3QgJiYgdXNlciAmJiByZXBvICkge1xuICAgICAgY29uc3QgW2xhbmd1YWdlSWQsIHByb2plY3RJZF0gPSByZXBvLnNwbGl0KCdfJylcbiAgICAgIHZhbGlkUmVwb1BhdGggPSBsYW5ndWFnZUlkICYmIHByb2plY3RJZFxuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgY29uc29sZS5sb2coJ0ludmFsaWQgRENTIFVSTDogJyArIHVybClcbiAgfVxuICByZXR1cm4geyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUVycm9yTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0KSB7XG4gIGxldCBtZXNzYWdlID0gJydcblxuICBpZiAocmVzb3VyY2VTdGF0dXNbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW0lOVkFMSURfTUFOSUZFU1RfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbQ09OVEVOVF9OT1RfRk9VTkRfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IEJPT0tfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW1NDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBTQ1JJUFRVUkVfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZGVjb2RlIHJlc291cmNlIHN0YXR1cyBpbnRvIHN0cmluZy4gIEN1cnJlbnRseSBvbmx5IEVuZ2xpc2hcbiAqIEBwYXJhbSByZXNvdXJjZVN0YXR1cyAtIG9iamVjdCB0aGF0IGNvbnRhaW5zIHN0YXRlIGFuZCBlcnJvcnMgdGhhdCBhcmUgZGV0ZWN0ZWRcbiAqIEBwYXJhbSBzZXJ2ZXIgLSBjb250YWlucyB0aGUgc2VydmVyIGJlaW5nIHVzZWRcbiAqIEBwYXJhbSByZXNvdXJjZUxpbmsgLSBwYXRoIHRvIHJlcG8gb24gc2VydmVyXG4gKiBAcGFyYW0gaXNOVCAtIHRydWUgaWYgTlQgYm9va1xuICogQHJldHVybiBlbXB0eSBzdHJpbmcgaWYgbm8gZXJyb3IsIGVsc2UgcmV0dXJucyB1c2VyIGVycm9yIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0LCBzZXJ2ZXI6IHN0cmluZywgcmVzb3VyY2VMaW5rOiBzdHJpbmcsIGlzTlQ6IGJvb2xlYW4pIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tMT0FESU5HX1NUQVRFXSkge1xuICAgIG1lc3NhZ2UgPSBMT0FESU5HX1JFU09VUkNFXG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9IGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzKVxuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rLCBzZXJ2ZXIsIG1lc3NhZ2UsIGlzTlQpXG4gICAgfVxuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZ2VuZXJhdGUgcmVzb3VyY2Ugc3RyaW5nXG4gKiBAcGFyYW0gb3duZXJcbiAqIEBwYXJhbSBsYW5ndWFnZUlkXG4gKiBAcGFyYW0gcHJvamVjdElkXG4gKiBAcGFyYW0gcmVmXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyhvd25lcjogc3RyaW5nLCBsYW5ndWFnZUlkOiBzdHJpbmcsIHByb2plY3RJZDogc3RyaW5nLCByZWY6IHN0cmluZykge1xuICByZXR1cm4gYGFwaS92MS9yZXBvcy8ke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cHJvamVjdElkfS9jb250ZW50cz9yZWY9JHtyZWZ9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZml4T2NjdXJyZW5jZShvY2N1cnJlbmNlKSB7XG4gIGlmICh0eXBlb2Ygb2NjdXJyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQob2NjdXJyZW5jZSlcbiAgfVxuICByZXR1cm4gb2NjdXJyZW5jZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cFZlcnNlT2JqZWN0cyh2ZXJzZU9iamVjdHMpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgY29uc3QgdmVyc2VPYmplY3RzXyA9IFsuLi52ZXJzZU9iamVjdHNdXG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHZlcnNlT2JqZWN0c18ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB2byA9IHZlcnNlT2JqZWN0c19baV1cblxuICAgICAgaWYgKHZvLnR5cGUgPT09ICd3b3JkJykge1xuICAgICAgICBjb25zdCB3b3JkID0ge1xuICAgICAgICAgIC4uLnZvLFxuICAgICAgICAgIG9jY3VycmVuY2U6IGZpeE9jY3VycmVuY2Uodm8ub2NjdXJyZW5jZSksXG4gICAgICAgICAgb2NjdXJyZW5jZXM6IGZpeE9jY3VycmVuY2Uodm8ub2NjdXJyZW5jZXMpLFxuICAgICAgICB9XG4gICAgICAgIHZlcnNlT2JqZWN0c19baV0gPSB3b3JkXG4gICAgICB9IGVsc2UgaWYgKHZvLmNoaWxkcmVuKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gY2xlYW51cFZlcnNlT2JqZWN0cyh2by5jaGlsZHJlbilcbiAgICAgICAgY29uc3QgbmV3Vm8gPSB7XG4gICAgICAgICAgLi4udm8sXG4gICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIH1cbiAgICAgICAgdmVyc2VPYmplY3RzX1tpXSA9IG5ld1ZvXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2ZXJzZU9iamVjdHNfXG4gIH1cbiAgcmV0dXJuIFtdXG59XG4iXX0=
|
|
424
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9TY3JpcHR1cmVTZXR0aW5ncy50cyJdLCJuYW1lcyI6WyJDT05URU5UX05PVF9GT1VORF9FUlJPUiIsIklOVkFMSURfTUFOSUZFU1RfRVJST1IiLCJMT0FESU5HX1NUQVRFIiwiTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUiIsIlNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SIiwiQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHIiwiTE9BRElOR19SRVNPVVJDRSIsIk1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHIiwiTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyIsIk5UX09SSUdfTEFORyIsIk5UX09SSUdfTEFOR19CSUJMRSIsIk9SSUdJTkFMX1NPVVJDRSIsIk9UX09SSUdfTEFORyIsIk9UX09SSUdfTEFOR19CSUJMRSIsIlNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHIiwiVEFSR0VUX0xJVEVSQUwiLCJUQVJHRVRfU0lNUExJRklFRCIsIkRJU0FCTEVfV09SRF9QT1BPVkVSIiwiZ2V0UmVzb3VyY2VMaW5rIiwic2NyaXB0dXJlIiwicmVmIiwiYnJhbmNoIiwib3duZXIiLCJsYW5ndWFnZUlkIiwicmVzb3VyY2VJZCIsImdldFNjcmlwdHVyZU9iamVjdCIsInRpdGxlIiwic2VydmVyIiwicmVzb3VyY2VMaW5rIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiZ2V0VmVyc2VEYXRhRnJvbVNjcmlwQ29uZmlnIiwic2NyaXB0dXJlQ29uZmlnIiwidmVyc2VOdW0iLCJ2ZXJzZXNGb3JSZWYiLCJmaW5kIiwidmVyc2VSZWYiLCJ2ZXJzZSIsImlzT3JpZ2luYWxCaWJsZSIsImlzT3JpZyIsImNsZWFudXBBY2NvdW50U2V0dGluZ3MiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRPd25lciIsImN1cnJlbnRMYW5ndWFnZUlkIiwic3BsaXRVcmwiLCJvcmlnaW5hbFJlcG9VcmwiLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJib29rSWQiLCJzY3JpcHR1cmVTZXR0aW5nc18iLCJpc05ld1Rlc3RhbWVudCIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsImxhYmVsIiwic2V0U2NyaXB0dXJlIiwic2NyaXB0dXJlVmVyc2lvbkhpc3QiLCJoaXN0b3J5IiwiZ2V0TGF0ZXN0IiwiaW5kZXgiLCJmaW5kSXRlbUluZGV4QnlLZXkiLCJzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyIsIm9wdGlvbnMiLCJjdXJyZW50IiwiYWxsb3dVc2VySW5wdXQiLCJvbkNoYW5nZSIsInZhbGlkYXRpb25DQiIsIml0ZW0iLCJuZXdJdGVtIiwiYWRkSXRlbVRvSGlzdG9yeSIsImdldEl0ZW1CeVRpdGxlIiwiZGVsZXRlSXRlbSIsImRlbGV0ZUluZGV4IiwicmVtb3ZlSXRlbUJ5SW5kZXgiLCJnZXRSZXBvVXJsIiwiaXNOVCIsInJlcG9VcmwiLCJzcGxpdCIsImUiLCJnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsiLCJlcnJvckNvZGUiLCJlcnJvck1zZyIsInZhbGlkYXRlRGNzVXJsIiwidmFsaWRSZXBvUGF0aCIsInZhbGlkVXJsIiwicGFydHMiLCJwcm90b2NvbCIsImhvc3QiLCJ1c2VyIiwicmVwbyIsImhvc3RQYXJ0cyIsImxlbmd0aCIsInBhcnQiLCJwcm9qZWN0SWQiLCJjb25zb2xlIiwibG9nIiwiZ2V0UmVzb3VyY2VFcnJvck1lc3NhZ2UiLCJyZXNvdXJjZVN0YXR1cyIsIm1lc3NhZ2UiLCJnZXRSZXNvdXJjZU1lc3NhZ2UiLCJnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyIsImZpeE9jY3VycmVuY2UiLCJvY2N1cnJlbmNlIiwicGFyc2VJbnQiLCJjbGVhbnVwVmVyc2VPYmplY3RzIiwidmVyc2VPYmplY3RzIiwidmVyc2VPYmplY3RzXyIsImkiLCJsIiwidm8iLCJ0eXBlIiwib2NjdXJyZW5jZXMiLCJ3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aUI7QUFDdEIsWUFBTUEsUUFBUSxHQUFHVCxtQkFBbUIsQ0FBQ0ssRUFBRSxDQUFDSSxRQUFKLENBQXBDOztBQUNBLFlBQU1DLEtBQUssbUNBQ05MLEVBRE07QUFFVEksVUFBQUEsUUFBUSxFQUFSQTtBQUZTLFVBQVg7O0FBSUFQLFFBQUFBLGFBQWEsQ0FBQ0MsQ0FBRCxDQUFiLEdBQW1CTyxLQUFuQjtBQUNEO0FBQ0Y7O0FBQ0QsV0FBT1IsYUFBUDtBQUNEOztBQUNELFNBQU8sRUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IsXG4gIElOVkFMSURfTUFOSUZFU1RfRVJST1IsXG4gIExPQURJTkdfU1RBVEUsXG4gIE1BTklGRVNUX05PVF9MT0FERURfRVJST1IsXG4gIFNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SLFxufSBmcm9tICd0cmFuc2xhdGlvbi1oZWxwcy1yY2wnXG5pbXBvcnQge1xuICBCT09LX05PVF9GT1VORF9FUlJPUl9NU0csXG4gIExPQURJTkdfUkVTT1VSQ0UsXG4gIE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHLFxuICBNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBOVF9PUklHX0xBTkcsXG4gIE5UX09SSUdfTEFOR19CSUJMRSxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkcsXG4gIE9UX09SSUdfTEFOR19CSUJMRSxcbiAgU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0csXG4gIFRBUkdFVF9MSVRFUkFMLFxuICBUQVJHRVRfU0lNUExJRklFRCxcbn0gZnJvbSAnLi9jb21tb24nXG5cbmV4cG9ydCBjb25zdCBESVNBQkxFX1dPUkRfUE9QT1ZFUiA9IHRydWUgLy8gZGlzYWJsZSB3b3JkIHBvcG92ZXIgZm9yIGV2ZXJ5IHNjcmlwdHVyZSBwYW5lIGJ1dCBvcmlnaW5hbCBsYW5ndWFnZXNcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTGluayhzY3JpcHR1cmUpIHtcbiAgY29uc3QgcmVmID0gc2NyaXB0dXJlLnJlZiB8fCBzY3JpcHR1cmUuYnJhbmNoXG4gIHJldHVybiBgJHtzY3JpcHR1cmUub3duZXJ9LyR7c2NyaXB0dXJlLmxhbmd1YWdlSWR9LyR7c2NyaXB0dXJlLnJlc291cmNlSWR9LyR7cmVmfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZU9iamVjdCh7XG4gIHRpdGxlLFxuICBzZXJ2ZXIsXG4gIG93bmVyLFxuICByZWYsXG4gIGxhbmd1YWdlSWQsXG4gIHJlc291cmNlSWQsXG4gIHJlc291cmNlTGluayxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG59KSB7XG4gIGNvbnN0IHNjcmlwdHVyZSA9IHtcbiAgICB0aXRsZSxcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICAgIHJlZixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgIHJlc291cmNlTGluayxcbiAgfVxuXG4gIGlmICghcmVzb3VyY2VMaW5rKSB7XG4gICAgc2NyaXB0dXJlLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayh7XG4gICAgICBvd25lcixcbiAgICAgIHJlZixcbiAgICAgIGxhbmd1YWdlSWQsXG4gICAgICByZXNvdXJjZUlkLFxuICAgIH0pXG4gIH1cbiAgcmV0dXJuIHNjcmlwdHVyZVxufVxuXG4vKipcbiAqIHJldHVybiB2ZXJzZSBkYXRhIGdpdmVuIGEgc2NyaXB0dXJlIGNvbmZpZyBhbmQgdmVyc2UgbnVtYmVyXG4gKiBAcGFyYW0gc2NyaXB0dXJlQ29uZmlnXG4gKiBAcGFyYW0gdmVyc2VOdW1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNlRGF0YUZyb21TY3JpcENvbmZpZyhzY3JpcHR1cmVDb25maWcsIHZlcnNlTnVtKSB7XG4gIHJldHVybiBzY3JpcHR1cmVDb25maWc/LnZlcnNlc0ZvclJlZj8uZmluZChcbiAgICB2ZXJzZVJlZiA9PiB2ZXJzZVJlZi52ZXJzZSA9PT0gdmVyc2VOdW1cbiAgKVxufVxuXG4vKipcbiAqIHJldHVybiB0cnVlIGlmIHJlc291cmNlIGlzIGFuIG9yaWdpbmFsIGxhbmd1YWdlIGJpYmxlXG4gKiBAcGFyYW0gcmVzb3VyY2VJZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPcmlnaW5hbEJpYmxlKHJlc291cmNlSWQpIHtcbiAgY29uc3QgaXNPcmlnID0gKChyZXNvdXJjZUlkID09PSBOVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPUklHSU5BTF9TT1VSQ0UpKVxuICByZXR1cm4gaXNPcmlnXG59XG5cbi8qKlxuICogbWFrZSBzdXJlIHNjcmlwdHVyZVNldHRpbmdzIGFyZSB1cCB0byBkYXRlIHdpdGggY3VycmVudCBvd25lciBhbmQgbGFuZ3VhZ2VcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc1xuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5nczogYW55LCBjdXJyZW50T3duZXI6IGFueSwgY3VycmVudExhbmd1YWdlSWQ6IGFueSkge1xuICBpZiAoY3VycmVudE93bmVyICYmIChjdXJyZW50T3duZXIgIT09IHNjcmlwdHVyZVNldHRpbmdzLm93bmVyKSkgeyAvLyBpZiBvd25lciBjaGFuZ2VkLCB1cGRhdGUgc2NyaXB0dXJlU2V0dGluZ3NcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IGN1cnJlbnRPd25lclxuICB9XG5cbiAgaWYgKGN1cnJlbnRMYW5ndWFnZUlkICYmIChjdXJyZW50TGFuZ3VhZ2VJZCAhPT0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCkpIHsgLy8gaWYgbGFuZ3VhZ2UgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9IGN1cnJlbnRMYW5ndWFnZUlkXG4gIH1cbn1cblxuLyoqXG4gKiBzZXBhcmF0ZSBVUkwgaW50byBzZXJ2ZXIgYW5kIHJlc291cmNlIGxpbmtcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybCkge1xuICBpZiAob3JpZ2luYWxSZXBvVXJsKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChvcmlnaW5hbFJlcG9VcmwpXG4gICAgY29uc3Qgc2VydmVyID0gdXJsLm9yaWdpblxuICAgIGNvbnN0IHJlc291cmNlTGluayA9IHVybC5wYXRobmFtZSArICh1cmwuc2VhcmNoIHx8ICcnKVxuICAgIHJldHVybiB7IHNlcnZlciwgcmVzb3VyY2VMaW5rIH1cbiAgfVxuICByZXR1cm4ge31cbn1cblxuLyoqXG4gKiBnZXQgdGhlIHNjcmlwdHVyZSBzZXR0aW5ncyBuZWVkZWQgZm9yIGZldGNoIC0gZm9yIE9yaWdMYW5nLCBVTFQsIEdMVCB3aWxsIHJlcGxhY2Ugb3duZXIgYW5kIGxhbmd1YWdlSWQgd2l0aCBjb3JyZWN0IHZhbHVlc1xuICogQHBhcmFtIHtzdHJpbmd9IGJvb2tJZFxuICogQHBhcmFtIHtvYmplY3R9IHNjcmlwdHVyZVNldHRpbmdzX1xuICogQHBhcmFtIHtib29sZWFufSBpc05ld1Rlc3RhbWVudFxuICogQHBhcmFtIHtzdHJpbmd9IG9yaWdpbmFsUmVwb1VybCAtIG9wdGlvbmFsIHBhdGggdG8gcmVwbyBmb3Igb3JpZ2luYWwgbGFuZ3VhZ2VcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50TGFuZ3VhZ2VJZCAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgbGFuZ3VhZ2UgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudE93bmVyIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBvd25lciBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MoXG4gIGJvb2tJZCwgc2NyaXB0dXJlU2V0dGluZ3NfLCBpc05ld1Rlc3RhbWVudCxcbiAgb3JpZ2luYWxSZXBvVXJsPW51bGwsXG4gIGN1cnJlbnRMYW5ndWFnZUlkPW51bGwsXG4gIGN1cnJlbnRPd25lcj1udWxsLFxuKSB7XG4gIGNvbnN0IHNjcmlwdHVyZVNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVTZXR0aW5nc18gfVxuICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBESVNBQkxFX1dPUkRfUE9QT1ZFUlxuICBjb25zdCByZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3NfLnJlc291cmNlSWRcblxuICBpZiAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSB7XG4gICAgLy8gc2VsZWN0IG9yaWdpbmFsIGxhbmd1YWdlIEJpYmxlIGJhc2VkIG9uIHdoaWNoIHRlc3RhbWVudCB0aGUgYm9vayBiZWxvbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9IGlzTmV3VGVzdGFtZW50ID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IGlzTmV3VGVzdGFtZW50XG4gICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgOiBPVF9PUklHX0xBTkdfQklCTEVcblxuICAgIGlmIChzY3JpcHR1cmVTZXR0aW5ncy5vcmlnaW5hbExhbmd1YWdlT3duZXIpIHtcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLm93bmVyID0gc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyXG4gICAgfVxuXG4gICAgaWYgKG9yaWdpbmFsUmVwb1VybCkgeyAvLyB1c2UgdGhpcyB1cmwgaWYgZGVmaW5lZFxuICAgICAgY29uc3QgeyBzZXJ2ZXIsIHJlc291cmNlTGluayB9ID0gc3BsaXRVcmwob3JpZ2luYWxSZXBvVXJsKVxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3Muc2VydmVyID0gc2VydmVyXG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSByZXNvdXJjZUxpbmtcbiAgICB9IGVsc2UgeyAvLyBmYWxsIGJhY2sgdG8gYXBwIGRlZmF1bHRzXG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgfVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLmRpc2FibGVXb3JkUG9wb3ZlciA9IGZhbHNlXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX0xJVEVSQUwpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VsdCcgOiAnZ2x0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfSBlbHNlIGlmIChyZXNvdXJjZUlkID09PSBUQVJHRVRfU0lNUExJRklFRCkge1xuICAgIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3MsIGN1cnJlbnRPd25lciwgY3VycmVudExhbmd1YWdlSWQpXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPT09ICdlbicgPyAndXN0JyA6ICdnc3QnXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVTZXR0aW5nc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzKHtcbiAgbGFiZWwsXG4gIHJlc291cmNlTGluayxcbiAgc2V0U2NyaXB0dXJlLFxuICBzY3JpcHR1cmVWZXJzaW9uSGlzdCxcbn0pIHtcbiAgY29uc3QgaGlzdG9yeSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldExhdGVzdCgpXG4gIGxldCBpbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCAncmVzb3VyY2VMaW5rJywgcmVzb3VyY2VMaW5rKVxuXG4gIGNvbnN0IHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnID0ge1xuICAgIGxhYmVsLCAvLyBsYWJlbCBmb3IgY29tYm9ib3hcbiAgICBvcHRpb25zOiBoaXN0b3J5LFxuICAgIGN1cnJlbnQ6IGluZGV4LFxuICAgIGFsbG93VXNlcklucHV0OiB0cnVlLFxuICAgIG9uQ2hhbmdlOiAodGl0bGUsIGluZGV4LCB2YWxpZGF0aW9uQ0I9bnVsbCkgPT4ge1xuICAgICAgbGV0IGl0ZW1cblxuICAgICAgaWYgKChpbmRleCA8IDApICYmIHRpdGxlKSB7XG4gICAgICAgIGNvbnN0IG5ld0l0ZW0gPSB7XG4gICAgICAgICAgdXJsOiB0aXRsZSxcbiAgICAgICAgICB0aXRsZSxcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3SXRlbSlcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVtpbmRleF1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXRlbSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldEl0ZW1CeVRpdGxlKHRpdGxlKVxuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbSkge1xuICAgICAgICBzZXRTY3JpcHR1cmUoaXRlbSwgdmFsaWRhdGlvbkNCKVxuICAgICAgfVxuICAgIH0sXG4gICAgZGVsZXRlSXRlbTogdGl0bGUgPT4ge1xuICAgICAgY29uc3QgaGlzdG9yeSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldExhdGVzdCgpXG4gICAgICBjb25zdCBkZWxldGVJbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCAndGl0bGUnLCB0aXRsZSlcbiAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LnJlbW92ZUl0ZW1CeUluZGV4KGRlbGV0ZUluZGV4KVxuICAgIH0sXG4gIH1cblxuICByZXR1cm4gc2NyaXB0dXJlU2VsZWN0b3JDb25maWdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlcG9VcmwocmVzb3VyY2VMaW5rOiBzdHJpbmcsIHNlcnZlcjogc3RyaW5nLCBpc05UOiBib29sZWFuKTogc3RyaW5nIHtcbiAgbGV0IHJlcG9VcmxcblxuICB0cnkge1xuICAgIGxldCBbb3duZXIsIGxhbmd1YWdlSWQsIHJlc291cmNlSWRdID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcblxuICAgIHN3aXRjaCAocmVzb3VyY2VJZCkge1xuICAgIGNhc2UgT1JJR0lOQUxfU09VUkNFOlxuICAgICAgbGFuZ3VhZ2VJZCA9IGlzTlQgPyBOVF9PUklHX0xBTkcgOiBPVF9PUklHX0xBTkdcbiAgICAgIHJlc291cmNlSWQgPSBpc05UXG4gICAgICAgID8gTlRfT1JJR19MQU5HX0JJQkxFXG4gICAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG4gICAgICBicmVha1xuXG4gICAgY2FzZSBUQVJHRVRfTElURVJBTDpcbiAgICAgIHJlc291cmNlSWQgPSAobGFuZ3VhZ2VJZCA9PT0gJ2VuJykgPyAndWx0JyA6ICdnbHQnXG4gICAgICBicmVha1xuXG4gICAgY2FzZSBUQVJHRVRfU0lNUExJRklFRDpcbiAgICAgIHJlc291cmNlSWQgPSAobGFuZ3VhZ2VJZCA9PT0gJ2VuJykgPyAndXN0JyA6ICdnc3QnXG4gICAgICBicmVha1xuICAgIH1cbiAgICByZXBvVXJsID0gYCR7b3duZXJ9LyR7bGFuZ3VhZ2VJZH1fJHtyZXNvdXJjZUlkfWBcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIHJlc291cmNlTGluayB3YXMgaW52YWxpZFxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gYCR7c2VydmVyIHx8ICcnfS8ke3JlcG9Vcmx9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JNZXNzYWdlRm9yUmVzb3VyY2VMaW5rKFxuICByZXNvdXJjZUxpbms6IHN0cmluZyxcbiAgc2VydmVyOiBzdHJpbmcsXG4gIGVycm9yQ29kZTogc3RyaW5nLFxuICBpc05UOiBib29sZWFuKTogc3RyaW5nXG57XG4gIGNvbnN0IHJlcG9VcmwgPSBnZXRSZXBvVXJsKHJlc291cmNlTGluaywgc2VydmVyLCBpc05UKVxuICBjb25zdCBlcnJvck1zZyA9IGVycm9yQ29kZSArIHJlcG9VcmxcbiAgcmV0dXJuIGVycm9yTXNnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURjc1VybCh1cmwpIHtcbiAgbGV0IHZhbGlkUmVwb1BhdGggPSBmYWxzZVxuICBsZXQgdmFsaWRVcmwgPSBmYWxzZVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcGFydHMgPSB1cmwuc3BsaXQoJy8nKVxuICAgIGNvbnN0IFtwcm90b2NvbCwgLCBob3N0LCB1c2VyLCByZXBvXSA9IHBhcnRzXG4gICAgdmFsaWRVcmwgPSAocHJvdG9jb2wgPT09ICdodHRwczonKVxuICAgIGNvbnN0IGhvc3RQYXJ0cyA9IGhvc3QgPyBob3N0LnNwbGl0KCcuJykgOiBbXVxuXG4gICAgaWYgKGhvc3RQYXJ0cy5sZW5ndGggPj0gMikge1xuICAgICAgZm9yIChsZXQgcGFydCBvZiBob3N0UGFydHMpIHtcbiAgICAgICAgaWYgKCFwYXJ0KSB7XG4gICAgICAgICAgdmFsaWRVcmwgPSBmYWxzZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFsaWRVcmwgPSBmYWxzZVxuICAgIH1cblxuICAgIGlmICggcHJvdG9jb2wgJiYgaG9zdCAmJiB1c2VyICYmIHJlcG8gKSB7XG4gICAgICBjb25zdCBbbGFuZ3VhZ2VJZCwgcHJvamVjdElkXSA9IHJlcG8uc3BsaXQoJ18nKVxuICAgICAgdmFsaWRSZXBvUGF0aCA9IGxhbmd1YWdlSWQgJiYgcHJvamVjdElkXG4gICAgfVxuICB9IGNhdGNoIHtcbiAgICBjb25zb2xlLmxvZygnSW52YWxpZCBEQ1MgVVJMOiAnICsgdXJsKVxuICB9XG4gIHJldHVybiB7IHZhbGlkVXJsLCB2YWxpZFJlcG9QYXRoIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzOiBvYmplY3QpIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbSU5WQUxJRF9NQU5JRkVTVF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfSU5WQUxJRF9FUlJPUl9NU0dcbiAgfSBlbHNlIGlmIChyZXNvdXJjZVN0YXR1c1tDT05URU5UX05PVF9GT1VORF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH1cbiAgcmV0dXJuIG1lc3NhZ2Vcbn1cblxuLyoqXG4gKiBkZWNvZGUgcmVzb3VyY2Ugc3RhdHVzIGludG8gc3RyaW5nLiAgQ3VycmVudGx5IG9ubHkgRW5nbGlzaFxuICogQHBhcmFtIHJlc291cmNlU3RhdHVzIC0gb2JqZWN0IHRoYXQgY29udGFpbnMgc3RhdGUgYW5kIGVycm9ycyB0aGF0IGFyZSBkZXRlY3RlZFxuICogQHBhcmFtIHNlcnZlciAtIGNvbnRhaW5zIHRoZSBzZXJ2ZXIgYmVpbmcgdXNlZFxuICogQHBhcmFtIHJlc291cmNlTGluayAtIHBhdGggdG8gcmVwbyBvbiBzZXJ2ZXJcbiAqIEBwYXJhbSBpc05UIC0gdHJ1ZSBpZiBOVCBib29rXG4gKiBAcmV0dXJuIGVtcHR5IHN0cmluZyBpZiBubyBlcnJvciwgZWxzZSByZXR1cm5zIHVzZXIgZXJyb3IgbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VNZXNzYWdlKHJlc291cmNlU3RhdHVzOiBvYmplY3QsIHNlcnZlcjogc3RyaW5nLCByZXNvdXJjZUxpbms6IHN0cmluZywgaXNOVDogYm9vbGVhbikge1xuICBsZXQgbWVzc2FnZSA9ICcnXG5cbiAgaWYgKHJlc291cmNlU3RhdHVzW0xPQURJTkdfU1RBVEVdKSB7XG4gICAgbWVzc2FnZSA9IExPQURJTkdfUkVTT1VSQ0VcbiAgfSBlbHNlIHtcbiAgICBtZXNzYWdlID0gZ2V0UmVzb3VyY2VFcnJvck1lc3NhZ2UocmVzb3VyY2VTdGF0dXMpXG5cbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgbWVzc2FnZSA9IGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhyZXNvdXJjZUxpbmssIHNlcnZlciwgbWVzc2FnZSwgaXNOVClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1lc3NhZ2Vcbn1cblxuLyoqXG4gKiBnZW5lcmF0ZSByZXNvdXJjZSBzdHJpbmdcbiAqIEBwYXJhbSBvd25lclxuICogQHBhcmFtIGxhbmd1YWdlSWRcbiAqIEBwYXJhbSBwcm9qZWN0SWRcbiAqIEBwYXJhbSByZWZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTGlua1NwZWNpZmljKG93bmVyOiBzdHJpbmcsIGxhbmd1YWdlSWQ6IHN0cmluZywgcHJvamVjdElkOiBzdHJpbmcsIHJlZjogc3RyaW5nKSB7XG4gIHJldHVybiBgYXBpL3YxL3JlcG9zLyR7b3duZXJ9LyR7bGFuZ3VhZ2VJZH1fJHtwcm9qZWN0SWR9L2NvbnRlbnRzP3JlZj0ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXhPY2N1cnJlbmNlKG9jY3VycmVuY2UpIHtcbiAgaWYgKHR5cGVvZiBvY2N1cnJlbmNlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBwYXJzZUludChvY2N1cnJlbmNlKVxuICB9XG4gIHJldHVybiBvY2N1cnJlbmNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbnVwVmVyc2VPYmplY3RzKHZlcnNlT2JqZWN0cykge1xuICBpZiAodmVyc2VPYmplY3RzPy5sZW5ndGgpIHtcbiAgICBjb25zdCB2ZXJzZU9iamVjdHNfID0gWy4uLnZlcnNlT2JqZWN0c11cblxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gdmVyc2VPYmplY3RzXy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNvbnN0IHZvID0gdmVyc2VPYmplY3RzX1tpXVxuXG4gICAgICBpZiAodm8udHlwZSA9PT0gJ3dvcmQnICYmICh2by5vY2N1cnJlbmNlIHx8IHZvLm9jY3VycmVuY2VzKSkge1xuICAgICAgICBjb25zdCB3b3JkID0geyAuLi52byB9XG5cbiAgICAgICAgaWYgKHZvLm9jY3VycmVuY2UpIHtcbiAgICAgICAgICB3b3JkLm9jY3VycmVuY2UgPSBmaXhPY2N1cnJlbmNlKHZvLm9jY3VycmVuY2UpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodm8ub2NjdXJyZW5jZXMpIHtcbiAgICAgICAgICB3b3JkLm9jY3VycmVuY2VzID0gZml4T2NjdXJyZW5jZSh2by5vY2N1cnJlbmNlcylcbiAgICAgICAgfVxuICAgICAgICB2ZXJzZU9iamVjdHNfW2ldID0gd29yZFxuICAgICAgfSBlbHNlIGlmICh2by5jaGlsZHJlbikge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGNsZWFudXBWZXJzZU9iamVjdHModm8uY2hpbGRyZW4pXG4gICAgICAgIGNvbnN0IG5ld1ZvID0ge1xuICAgICAgICAgIC4uLnZvLFxuICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICB9XG4gICAgICAgIHZlcnNlT2JqZWN0c19baV0gPSBuZXdWb1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmVyc2VPYmplY3RzX1xuICB9XG4gIHJldHVybiBbXVxufVxuIl19
|
package/dist/utils/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './common';
|
|
2
2
|
export * from './delay';
|
|
3
|
+
export * from './maps';
|
|
3
4
|
export * from './LocalStorage';
|
|
4
5
|
export * from './ScriptureSettings';
|
|
5
6
|
export * from './ScriptureVersionHistory';
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQWQ7QUFDQSxjQUFjLFNBQWQ7QUFDQSxjQUFjLFFBQWQ7QUFDQSxjQUFjLGdCQUFkO0FBQ0EsY0FBYyxxQkFBZDtBQUNBLGNBQWMsMkJBQWQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbidcbmV4cG9ydCAqIGZyb20gJy4vZGVsYXknXG5leHBvcnQgKiBmcm9tICcuL21hcHMnXG5leHBvcnQgKiBmcm9tICcuL0xvY2FsU3RvcmFnZSdcbmV4cG9ydCAqIGZyb20gJy4vU2NyaXB0dXJlU2V0dGluZ3MnXG5leHBvcnQgKiBmcm9tICcuL1NjcmlwdHVyZVZlcnNpb25IaXN0b3J5J1xuXG5cbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import "core-js/modules/es.array.from.js";
|
|
2
|
+
import "core-js/modules/es.array.iterator.js";
|
|
3
|
+
import "core-js/modules/es.object.to-string.js";
|
|
4
|
+
import "core-js/modules/es.string.iterator.js";
|
|
5
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
6
|
+
import * as isEqual from 'deep-equal';
|
|
7
|
+
/**
|
|
8
|
+
* do quick comparison of two maps
|
|
9
|
+
* @param {Map} map1
|
|
10
|
+
* @param map2
|
|
11
|
+
* @return {boolean} - true if same
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export function areMapsTheSame(map1, map2) {
|
|
15
|
+
if (map1.size !== map2.size) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
var keys1 = Array.from(map1.keys());
|
|
20
|
+
var keys2 = Array.from(map2.keys());
|
|
21
|
+
|
|
22
|
+
if (!isEqual(keys1, keys2)) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var different = false;
|
|
27
|
+
|
|
28
|
+
for (var _i = 0, _keys = keys1; _i < _keys.length; _i++) {
|
|
29
|
+
var key = _keys[_i];
|
|
30
|
+
var value1 = map1.get(key);
|
|
31
|
+
var value2 = map2.get(key);
|
|
32
|
+
|
|
33
|
+
if (!isEqual(value1, value2)) {
|
|
34
|
+
different = true;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return !different;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9tYXBzLmpzIl0sIm5hbWVzIjpbImlzRXF1YWwiLCJhcmVNYXBzVGhlU2FtZSIsIm1hcDEiLCJtYXAyIiwic2l6ZSIsImtleXMxIiwiQXJyYXkiLCJmcm9tIiwia2V5cyIsImtleXMyIiwiZGlmZmVyZW50Iiwia2V5IiwidmFsdWUxIiwiZ2V0IiwidmFsdWUyIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sS0FBS0EsT0FBWixNQUF5QixZQUF6QjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLFNBQVNDLGNBQVQsQ0FBeUJDLElBQXpCLEVBQStCQyxJQUEvQixFQUFzQztBQUMzQyxNQUFJRCxJQUFJLENBQUNFLElBQUwsS0FBY0QsSUFBSSxDQUFDQyxJQUF2QixFQUE2QjtBQUMzQixXQUFPLEtBQVA7QUFDRDs7QUFFRCxNQUFNQyxLQUFLLEdBQUdDLEtBQUssQ0FBQ0MsSUFBTixDQUFZTCxJQUFJLENBQUNNLElBQUwsRUFBWixDQUFkO0FBQ0EsTUFBTUMsS0FBSyxHQUFHSCxLQUFLLENBQUNDLElBQU4sQ0FBWUosSUFBSSxDQUFDSyxJQUFMLEVBQVosQ0FBZDs7QUFFQSxNQUFJLENBQUNSLE9BQU8sQ0FBQ0ssS0FBRCxFQUFRSSxLQUFSLENBQVosRUFBNEI7QUFDMUIsV0FBTyxLQUFQO0FBQ0Q7O0FBRUQsTUFBSUMsU0FBUyxHQUFHLEtBQWhCOztBQUVBLDJCQUFrQkwsS0FBbEIsMkJBQXlCO0FBQXBCLFFBQU1NLEdBQUcsWUFBVDtBQUNILFFBQU1DLE1BQU0sR0FBR1YsSUFBSSxDQUFDVyxHQUFMLENBQVNGLEdBQVQsQ0FBZjtBQUNBLFFBQU1HLE1BQU0sR0FBR1gsSUFBSSxDQUFDVSxHQUFMLENBQVNGLEdBQVQsQ0FBZjs7QUFFQSxRQUFJLENBQUNYLE9BQU8sQ0FBQ1ksTUFBRCxFQUFTRSxNQUFULENBQVosRUFBOEI7QUFDNUJKLE1BQUFBLFNBQVMsR0FBRyxJQUFaO0FBQ0E7QUFDRDtBQUNGOztBQUVELFNBQU8sQ0FBQ0EsU0FBUjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaXNFcXVhbCBmcm9tICdkZWVwLWVxdWFsJ1xuXG4vKipcbiAqIGRvIHF1aWNrIGNvbXBhcmlzb24gb2YgdHdvIG1hcHNcbiAqIEBwYXJhbSB7TWFwfSBtYXAxXG4gKiBAcGFyYW0gbWFwMlxuICogQHJldHVybiB7Ym9vbGVhbn0gLSB0cnVlIGlmIHNhbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFyZU1hcHNUaGVTYW1lKCBtYXAxLCBtYXAyICkge1xuICBpZiAobWFwMS5zaXplICE9PSBtYXAyLnNpemUpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGNvbnN0IGtleXMxID0gQXJyYXkuZnJvbSggbWFwMS5rZXlzKCkgKVxuICBjb25zdCBrZXlzMiA9IEFycmF5LmZyb20oIG1hcDIua2V5cygpIClcblxuICBpZiAoIWlzRXF1YWwoa2V5czEsIGtleXMyKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgbGV0IGRpZmZlcmVudCA9IGZhbHNlXG5cbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5czEpIHtcbiAgICBjb25zdCB2YWx1ZTEgPSBtYXAxLmdldChrZXkpXG4gICAgY29uc3QgdmFsdWUyID0gbWFwMi5nZXQoa2V5KVxuXG4gICAgaWYgKCFpc0VxdWFsKHZhbHVlMSwgdmFsdWUyKSkge1xuICAgICAgZGlmZmVyZW50ID0gdHJ1ZVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gIWRpZmZlcmVudFxufVxuXG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "single-scripture-rcl",
|
|
3
3
|
"description": "A React Component Library for Rendering a Single Scripture Resource.",
|
|
4
|
-
"version": "3.3.3-
|
|
4
|
+
"version": "3.3.3-patch.2",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/unfoldingWord/single-scripture-rcl.git"
|
|
@@ -98,6 +98,7 @@
|
|
|
98
98
|
"source-map-loader": "^1.1.3",
|
|
99
99
|
"styled-components": "^5.2.1",
|
|
100
100
|
"ts-loader": "^8.0.12",
|
|
101
|
-
"typescript": "^4.1.3"
|
|
101
|
+
"typescript": "^4.1.3",
|
|
102
|
+
"uw-quote-helpers": "0.0.1-beta.15"
|
|
102
103
|
}
|
|
103
104
|
}
|