single-scripture-rcl 3.2.1-beta.2 → 3.2.2-beta
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 +42 -297
- package/dist/components/ScripturePane/ScripturePane.js +8 -85
- package/dist/hooks/useScripture.js +6 -100
- package/dist/hooks/useScriptureResources.js +3 -14
- package/dist/hooks/useScriptureSettings.js +4 -9
- package/dist/utils/ScriptureSettings.js +1 -1
- package/package.json +7 -20
- package/dist/hooks/useScriptureAlignmentEdit.js +0 -633
|
@@ -1,28 +1,6 @@
|
|
|
1
|
-
import "core-js/modules/es.array.
|
|
2
|
-
import "core-js/modules/es.parse-float.js";
|
|
3
|
-
|
|
4
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
-
|
|
6
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
7
|
-
|
|
8
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
-
|
|
10
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
|
-
|
|
12
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
-
|
|
14
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
15
|
-
|
|
16
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
17
|
-
|
|
18
|
-
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
19
|
-
|
|
20
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
21
|
-
|
|
1
|
+
import "core-js/modules/es.array.concat.js";
|
|
22
2
|
import * as React from 'react';
|
|
23
|
-
import useDeepCompareEffect from 'use-deep-compare-effect';
|
|
24
3
|
import { VerseObjects } from 'scripture-resources-rcl';
|
|
25
|
-
import { UsfmFileConversionHelpers } from 'word-aligner-rcl';
|
|
26
4
|
import { ScriptureReference, VerseObjectsType } from '../../types';
|
|
27
5
|
import { getResourceMessage } from '../../utils';
|
|
28
6
|
import { Container, Content } from './styled';
|
|
@@ -39,12 +17,6 @@ var MessageStyle = {
|
|
|
39
17
|
fontFamily: 'Noto Sans',
|
|
40
18
|
fontWeight: 'bold'
|
|
41
19
|
};
|
|
42
|
-
var TextAreaStyle = {
|
|
43
|
-
height: '60%',
|
|
44
|
-
width: '100%',
|
|
45
|
-
minWidth: '220px',
|
|
46
|
-
fontSize: '16px'
|
|
47
|
-
};
|
|
48
20
|
|
|
49
21
|
function ScripturePane(_ref) {
|
|
50
22
|
var reference = _ref.reference,
|
|
@@ -59,16 +31,7 @@ function ScripturePane(_ref) {
|
|
|
59
31
|
isNT = _ref.isNT,
|
|
60
32
|
fontSize = _ref.fontSize,
|
|
61
33
|
getLexiconData = _ref.getLexiconData,
|
|
62
|
-
translate = _ref.translate
|
|
63
|
-
editing = _ref.editing,
|
|
64
|
-
setEditing = _ref.setEditing,
|
|
65
|
-
setVerseChanged = _ref.setVerseChanged;
|
|
66
|
-
|
|
67
|
-
var _React$useState = React.useState(null),
|
|
68
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
69
|
-
initialVerseText = _React$useState2[0],
|
|
70
|
-
setInitialVerseText = _React$useState2[1];
|
|
71
|
-
|
|
34
|
+
translate = _ref.translate;
|
|
72
35
|
var resourceMsg = getResourceMessage(resourceStatus, server, resourceLink, isNT);
|
|
73
36
|
var chapter = reference.chapter,
|
|
74
37
|
verse = reference.verse;
|
|
@@ -80,39 +43,7 @@ function ScripturePane(_ref) {
|
|
|
80
43
|
contentStyle = contentStyle || {
|
|
81
44
|
fontFamily: 'Noto Sans',
|
|
82
45
|
fontSize: '100%'
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
var calculatedFontSize = React.useMemo(function () {
|
|
86
|
-
return parseFloat(TextAreaStyle.fontSize) * fontSize / 100 + 'px';
|
|
87
|
-
}, [fontSize]);
|
|
88
|
-
|
|
89
|
-
var textAreaStyle = _objectSpread(_objectSpread(_objectSpread({}, contentStyle), TextAreaStyle), {}, {
|
|
90
|
-
fontSize: calculatedFontSize
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
useDeepCompareEffect(function () {
|
|
94
|
-
var verseText = UsfmFileConversionHelpers.getUsfmForVerseContent({
|
|
95
|
-
verseObjects: verseObjects
|
|
96
|
-
});
|
|
97
|
-
setInitialVerseText(verseText);
|
|
98
|
-
}, [{
|
|
99
|
-
verseObjects: verseObjects
|
|
100
|
-
}]);
|
|
101
|
-
|
|
102
|
-
function onTextChange(event) {
|
|
103
|
-
var _event$target;
|
|
104
|
-
|
|
105
|
-
// console.log(`onTextChange`, event)
|
|
106
|
-
var newText = event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value;
|
|
107
|
-
var changed = newText !== initialVerseText;
|
|
108
|
-
setVerseChanged(changed, newText, initialVerseText); // console.log(`onTextChange: new text ${changed ? 'changed' : 'unchanged'}: `, newText)
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function onBlur(event) {
|
|
112
|
-
// console.log(`onTextChange`, event)
|
|
113
|
-
setEditing(false);
|
|
114
|
-
}
|
|
115
|
-
|
|
46
|
+
};
|
|
116
47
|
return /*#__PURE__*/React.createElement(Container, {
|
|
117
48
|
style: {
|
|
118
49
|
direction: direction,
|
|
@@ -131,18 +62,10 @@ function ScripturePane(_ref) {
|
|
|
131
62
|
}, " ", resourceMsg, " ")) : /*#__PURE__*/React.createElement(Content, null, /*#__PURE__*/React.createElement("span", {
|
|
132
63
|
style: refStyle
|
|
133
64
|
}, " ", chapter, ":", verse, "\xA0"), /*#__PURE__*/React.createElement("span", {
|
|
134
|
-
style: contentStyle
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}, editing ? /*#__PURE__*/React.createElement("textarea", {
|
|
139
|
-
defaultValue: initialVerseText,
|
|
140
|
-
onChange: onTextChange,
|
|
141
|
-
onBlur: onBlur,
|
|
142
|
-
style: textAreaStyle,
|
|
143
|
-
autoFocus: true
|
|
144
|
-
}) : /*#__PURE__*/React.createElement(VerseObjects, {
|
|
145
|
-
verseObjects: verseObjects,
|
|
65
|
+
style: contentStyle
|
|
66
|
+
}, /*#__PURE__*/React.createElement(VerseObjects, {
|
|
67
|
+
verseKey: "".concat(reference.chapter, ":").concat(reference.verse),
|
|
68
|
+
verseObjects: verseObjects || [],
|
|
146
69
|
disableWordPopover: disableWordPopover,
|
|
147
70
|
getLexiconData: getLexiconData,
|
|
148
71
|
translate: translate
|
|
@@ -153,4 +76,4 @@ ScripturePane.defaultProps = {
|
|
|
153
76
|
verseObjects: []
|
|
154
77
|
};
|
|
155
78
|
export default ScripturePane;
|
|
156
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZVBhbmUvU2NyaXB0dXJlUGFuZS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VEZWVwQ29tcGFyZUVmZmVjdCIsIlZlcnNlT2JqZWN0cyIsIlVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMiLCJTY3JpcHR1cmVSZWZlcmVuY2UiLCJWZXJzZU9iamVjdHNUeXBlIiwiZ2V0UmVzb3VyY2VNZXNzYWdlIiwiQ29udGFpbmVyIiwiQ29udGVudCIsIk1lc3NhZ2VTdHlsZSIsImRpcmVjdGlvbiIsIndoaXRlU3BhY2UiLCJsaW5lSGVpZ2h0IiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImhlaWdodCIsIndpZHRoIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsIlRleHRBcmVhU3R5bGUiLCJtaW5XaWR0aCIsIlNjcmlwdHVyZVBhbmUiLCJyZWZlcmVuY2UiLCJyZWZTdHlsZSIsImNvbnRlbnRTdHlsZSIsInZlcnNlT2JqZWN0cyIsImRpc2FibGVXb3JkUG9wb3ZlciIsInJlc291cmNlU3RhdHVzIiwicmVzb3VyY2VMaW5rIiwic2VydmVyIiwiaXNOVCIsImdldExleGljb25EYXRhIiwidHJhbnNsYXRlIiwiZWRpdGluZyIsInNldEVkaXRpbmciLCJzZXRWZXJzZUNoYW5nZWQiLCJ1c2VTdGF0ZSIsImluaXRpYWxWZXJzZVRleHQiLCJzZXRJbml0aWFsVmVyc2VUZXh0IiwicmVzb3VyY2VNc2ciLCJjaGFwdGVyIiwidmVyc2UiLCJjYWxjdWxhdGVkRm9udFNpemUiLCJ1c2VNZW1vIiwicGFyc2VGbG9hdCIsInRleHRBcmVhU3R5bGUiLCJ2ZXJzZVRleHQiLCJnZXRVc2ZtRm9yVmVyc2VDb250ZW50Iiwib25UZXh0Q2hhbmdlIiwiZXZlbnQiLCJuZXdUZXh0IiwidGFyZ2V0IiwidmFsdWUiLCJjaGFuZ2VkIiwib25CbHVyIiwiZGVmYXVsdFByb3BzIl0sIm1h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QUFBSyxJQUFBLEtBQUssRUFBRTtBQUFFUyxNQUFBQSxRQUFRLFlBQUtBLFFBQUw7QUFBVjtBQUFaLFVBQTRDdUIsV0FBNUMsTUFERixDQUZVLGdCQU1WLG9CQUFDLE9BQUQscUJBQ0U7QUFBTSxJQUFBLEtBQUssRUFBRWhCO0FBQWIsVUFBeUJpQixPQUF6QixPQUFtQ0MsS0FBbkMsU0FERixlQUVFO0FBQU0sSUFBQSxLQUFLLEVBQUVqQixZQUFiO0FBQTJCLElBQUEsT0FBTyxFQUFFLG1CQUFNO0FBQ3hDVSxNQUFBQSxVQUFVLElBQUlBLFVBQVUsQ0FBQyxJQUFELENBQXhCO0FBQ0Q7QUFGRCxLQUlHRCxPQUFPLGdCQUNOO0FBQ0UsSUFBQSxZQUFZLEVBQUVJLGdCQURoQjtBQUVFLElBQUEsUUFBUSxFQUFFVyxZQUZaO0FBR0UsSUFBQSxNQUFNLEVBQUVNLE1BSFY7QUFJRSxJQUFBLEtBQUssRUFBRVQsYUFKVDtBQUtFLElBQUEsU0FBUztBQUxYLElBRE0sZ0JBU04sb0JBQUMsWUFBRDtBQUNFLElBQUEsWUFBWSxFQUFFcEIsWUFEaEI7QUFFRSxJQUFBLGtCQUFrQixFQUFFQyxrQkFGdEI7QUFHRSxJQUFBLGNBQWMsRUFBRUssY0FIbEI7QUFJRSxJQUFBLFNBQVMsRUFBRUM7QUFKYixJQWJKLENBRkYsQ0FQSixDQURGO0FBbUNEOztBQUVEWCxhQUFhLENBQUNrQyxZQUFkLEdBQTZCO0FBQUU5QixFQUFBQSxZQUFZLEVBQUU7QUFBaEIsQ0FBN0I7QUFFQSxlQUFlSixhQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdXNlRGVlcENvbXBhcmVFZmZlY3QgZnJvbSAndXNlLWRlZXAtY29tcGFyZS1lZmZlY3QnXG5pbXBvcnQgeyBWZXJzZU9iamVjdHMgfSBmcm9tICdzY3JpcHR1cmUtcmVzb3VyY2VzLXJjbCdcbmltcG9ydCB7IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMgfSBmcm9tICd3b3JkLWFsaWduZXItcmNsJ1xuaW1wb3J0IHsgU2NyaXB0dXJlUmVmZXJlbmNlLCBWZXJzZU9iamVjdHNUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1lc3NhZ2UgfSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB7IENvbnRhaW5lciwgQ29udGVudCB9IGZyb20gJy4vc3R5bGVkJ1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvKiogY3VycmVudCByZWZlcmVuY2UgKiovXG4gIHJlZmVyZW5jZTogU2NyaXB0dXJlUmVmZXJlbmNlO1xuICAvKiogb3B0aW9uYWwgc3R5bGVzIHRvIHVzZSBmb3IgcmVmZXJlbmNlICoqL1xuICByZWZTdHlsZTogYW55O1xuICAvKiogb3B0aW9uYWwgc3R5bGVzIHRvIHVzZSBmb3IgY29udGVudCAqKi9cbiAgY29udGVudFN0eWxlOiBhbnk7XG4gIC8qKiBsYW5ndWFnZSBkaXJlY3Rpb24gdG8gdXNlICoqL1xuICBkaXJlY3Rpb246IHN0cmluZ3x1bmRlZmluZWQ7XG4gIC8qKiB2ZXJzZU9iamVjdHMgKiovXG4gIHZlcnNlT2JqZWN0czogVmVyc2VPYmplY3RzVHlwZXx1bmRlZmluZWQ7XG4gIC8qKiBpZiB0cnVlIHRoZW4gZG8gbm90IGRpc3BsYXkgbGV4aWNvbiBwb3BvdmVyIG9uIGhvdmVyICoqL1xuICBkaXNhYmxlV29yZFBvcG92ZXI6IGJvb2xlYW58dW5kZWZpbmVkO1xuICAvKiogb2JqZWN0IHRoYXQgY29udGFpbnMgcmVzb3VyY2UgbG9hZGluZyBzdGF0dXMgb3IgZmV0Y2hpbmcgZXJyb3JzICovXG4gIHJlc291cmNlU3RhdHVzOiBvYmplY3R8dW5kZWZpbmVkO1xuICAvKiogcmVzb3VyY2UgdGhhdCB3YXMgbG9hZGVkICovXG4gIHJlc291cmNlTGluazogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIHNlcnZlciAqL1xuICBzZXJ2ZXI6IHN0cmluZ3x1bmRlZmluZWQ7XG4gIC8qKiB0cnVlIGlmIGJyb3dzaW5nIE5UICovXG4gIGlzTlQ6IGJvb2xlYW47XG4gIC8qKiBmb250IHNpemUgZm9yIG1lc3NhZ2VzICovXG4gIGZvbnRTaXplOiBudW1iZXI7XG4gIC8qKiBmdW5jdGlvbiB0byBnZXQgbGF0ZXN0IGxleGljb24gZGF0YSAqL1xuICBnZXRMZXhpY29uRGF0YTogRnVuY3Rpb247XG4gIC8qKiBvcHRpb25hbCBmdW5jdGlvbiBmb3IgbG9jYWxpemF0aW9uICovXG4gIHRyYW5zbGF0ZTogRnVuY3Rpb247XG4gIC8qKiB0cnVlIGlmIGluIGVkaXQgbW9kZSAqL1xuICBlZGl0aW5nOiBib29sZWFuO1xuICAvKiogY2FsbGJhY2sgdG8gc2V0IGVkaXQgbW9kZSAqL1xuICBzZXRFZGl0aW5nOiBGdW5jdGlvbjtcbiAgLyoqIGNhbGxiYWNrIHRvIHNldCB0aGF0IHZlcnNlIGhhcyBjaGFuZ2VkICovXG4gIHNldFZlcnNlQ2hhbmdlZDogRnVuY3Rpb247XG59XG5cbmNvbnN0IE1lc3NhZ2VTdHlsZSA9IHtcbiAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgd2hpdGVTcGFjZTogJ3ByZS13cmFwJyxcbiAgbGluZUhlaWdodDogJ25vcm1hbCcsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgaGVpZ2h0OiAnMTAwJScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIGZvbnRTaXplOiAnMTZweCcsXG4gIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICBmb250V2VpZ2h0OiAnYm9sZCcsXG59XG5cbmNvbnN0IFRleHRBcmVhU3R5bGUgPSB7XG4gIGhlaWdodDogJzYwJScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIG1pbldpZHRoOiAnMjIwcHgnLFxuICBmb250U2l6ZTogJzE2cHgnLFxufVxuXG5cbmZ1bmN0aW9uIFNjcmlwdHVyZVBhbmUoe1xuICByZWZlcmVuY2UsXG4gIHJlZlN0eWxlLFxuICBkaXJlY3Rpb24sXG4gIGNvbnRlbnRTdHlsZSxcbiAgdmVyc2VPYmplY3RzLFxuICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gIHJlc291cmNlU3RhdHVzLFxuICByZXNvdXJjZUxpbmssXG4gIHNlcnZlcixcbiAgaXNOVCxcbiAgZm9udFNpemUsXG4gIGdldExleGljb25EYXRhLFxuICB0cmFuc2xhdGUsXG4gIGVkaXRpbmcsXG4gIHNldEVkaXRpbmcsXG4gIHNldFZlcnNlQ2hhbmdlZCxcbn0gOiBQcm9wcykge1xuICBjb25zdCBbaW5pdGlhbFZlcnNlVGV4dCwgc2V0SW5pdGlhbFZlcnNlVGV4dF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKVxuICBjb25zdCByZXNvdXJjZU1zZyA9IGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1cywgc2VydmVyLCByZXNvdXJjZUxpbmssIGlzTlQpXG4gIGNvbnN0IHsgY2hhcHRlciwgdmVyc2UgfSA9IHJlZmVyZW5jZVxuICBkaXJlY3Rpb24gPSBkaXJlY3Rpb24gfHwgJ2x0cidcblxuICByZWZTdHlsZSA9IHJlZlN0eWxlIHx8IHtcbiAgICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgICBmb250U2l6ZTogJzkwJScsXG4gIH1cblxuICBjb250ZW50U3R5bGUgPSBjb250ZW50U3R5bGUgfHwge1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiAnMTAwJScsXG4gIH1cblxuICAvLyBkeW5hbWljYWxseSBhZGp1c3QgZm9udCBzaXplXG4gIGNvbnN0IGNhbGN1bGF0ZWRGb250U2l6ZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKFxuICAgIHBhcnNlRmxvYXQoVGV4dEFyZWFTdHlsZS5mb250U2l6ZSkgKiBmb250U2l6ZSAvIDEwMCArICdweCdcbiAgKSwgW2ZvbnRTaXplXSlcblxuICBjb25zdCB0ZXh0QXJlYVN0eWxlID0ge1xuICAgIC4uLmNvbnRlbnRTdHlsZSxcbiAgICAuLi5UZXh0QXJlYVN0eWxlLFxuICAgIGZvbnRTaXplOiBjYWxjdWxhdGVkRm9udFNpemUsXG4gIH1cblxuICB1c2VEZWVwQ29tcGFyZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdmVyc2VUZXh0ID0gVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5nZXRVc2ZtRm9yVmVyc2VDb250ZW50KHsgdmVyc2VPYmplY3RzIH0pXG4gICAgc2V0SW5pdGlhbFZlcnNlVGV4dCh2ZXJzZVRleHQpXG4gIH0sIFt7IHZlcnNlT2JqZWN0cyB9XSlcblxuICBmdW5jdGlvbiBvblRleHRDaGFuZ2UoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSB7XG4gICAgLy8gY29uc29sZS5sb2coYG9uVGV4dENoYW5nZWAsIGV2ZW50KVxuICAgIGNvbnN0IG5ld1RleHQgPSBldmVudD8udGFyZ2V0Py52YWx1ZVxuICAgIGNvbnN0IGNoYW5nZWQgPSBuZXdUZXh0ICE9PSBpbml0aWFsVmVyc2VUZXh0XG4gICAgc2V0VmVyc2VDaGFuZ2VkKGNoYW5nZWQsIG5ld1RleHQsIGluaXRpYWxWZXJzZVRleHQpXG4gICAgLy8gY29uc29sZS5sb2coYG9uVGV4dENoYW5nZTogbmV3IHRleHQgJHtjaGFuZ2VkID8gJ2NoYW5nZWQnIDogJ3VuY2hhbmdlZCd9OiBgLCBuZXdUZXh0KVxuICB9XG5cbiAgZnVuY3Rpb24gb25CbHVyKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50Pikge1xuICAgIC8vIGNvbnNvbGUubG9nKGBvblRleHRDaGFuZ2VgLCBldmVudClcbiAgICBzZXRFZGl0aW5nKGZhbHNlKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIHN0eWxlPXt7IGRpcmVjdGlvbiwgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfX0+XG4gICAgICB7cmVzb3VyY2VNc2cgP1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIDxkaXYgc3R5bGU9e01lc3NhZ2VTdHlsZX0+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogYCR7Zm9udFNpemV9JWAgfX0+IHtyZXNvdXJjZU1zZ30gPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA6XG4gICAgICAgIDxDb250ZW50PlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtyZWZTdHlsZX0+IHtjaGFwdGVyfTp7dmVyc2V9Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtjb250ZW50U3R5bGV9IG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIHNldEVkaXRpbmcgJiYgc2V0RWRpdGluZyh0cnVlKVxuICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2VkaXRpbmcgP1xuICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2luaXRpYWxWZXJzZVRleHR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uVGV4dENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgICAgICBzdHlsZT17dGV4dEFyZWFTdHlsZX1cbiAgICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICA8VmVyc2VPYmplY3RzXG4gICAgICAgICAgICAgICAgdmVyc2VPYmplY3RzPXt2ZXJzZU9iamVjdHN9XG4gICAgICAgICAgICAgICAgZGlzYWJsZVdvcmRQb3BvdmVyPXtkaXNhYmxlV29yZFBvcG92ZXJ9XG4gICAgICAgICAgICAgICAgZ2V0TGV4aWNvbkRhdGE9e2dldExleGljb25EYXRhfVxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9Db250ZW50PlxuICAgICAgfVxuICAgIDwvQ29udGFpbmVyPlxuICApXG59XG5cblNjcmlwdHVyZVBhbmUuZGVmYXVsdFByb3BzID0geyB2ZXJzZU9iamVjdHM6IFtdIH1cblxuZXhwb3J0IGRlZmF1bHQgU2NyaXB0dXJlUGFuZVxuIl19
|
|
79
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZVBhbmUvU2NyaXB0dXJlUGFuZS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJWZXJzZU9iamVjdHMiLCJTY3JpcHR1cmVSZWZlcmVuY2UiLCJWZXJzZU9iamVjdHNUeXBlIiwiZ2V0UmVzb3VyY2VNZXNzYWdlIiwiQ29udGFpbmVyIiwiQ29udGVudCIsIk1lc3NhZ2VTdHlsZSIsImRpcmVjdGlvbiIsIndoaXRlU3BhY2UiLCJsaW5lSGVpZ2h0IiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImhlaWdodCIsIndpZHRoIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsIlNjcmlwdHVyZVBhbmUiLCJyZWZlcmVuY2UiLCJyZWZTdHlsZSIsImNvbnRlbnRTdHlsZSIsInZlcnNlT2JqZWN0cyIsImRpc2FibGVXb3JkUG9wb3ZlciIsInJlc291cmNlU3RhdHVzIiwicmVzb3VyY2VMaW5rIiwic2VydmVyIiwiaXNOVCIsImdldExleGljb25EYXRhIiwidHJhbnNsYXRlIiwicmVzb3VyY2VNc2ciLCJjaGFwdGVyIiwidmVyc2UiLCJkZWZhdWx0UHJvcHMiXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFDQSxTQUFTQyxZQUFULFFBQTZCLHlCQUE3QjtBQUNBLFNBQVNDLGtCQUFULEVBQTZCQyxnQkFBN0IsUUFBcUQsYUFBckQ7QUFDQSxTQUFTQyxrQkFBVCxRQUFtQyxhQUFuQztBQUNBLFNBQVNDLFNBQVQsRUFBb0JDLE9BQXBCLFFBQW1DLFVBQW5DO0FBK0JBLElBQU1DLFlBQVksR0FBRztBQUNuQkMsRUFBQUEsU0FBUyxFQUFFLEtBRFE7QUFFbkJDLEVBQUFBLFVBQVUsRUFBRSxVQUZPO0FBR25CQyxFQUFBQSxVQUFVLEVBQUUsUUFITztBQUluQkMsRUFBQUEsT0FBTyxFQUFFLE1BSlU7QUFLbkJDLEVBQUFBLGNBQWMsRUFBRSxRQUxHO0FBTW5CQyxFQUFBQSxVQUFVLEVBQUUsUUFOTztBQU9uQkMsRUFBQUEsTUFBTSxFQUFFLE1BUFc7QUFRbkJDLEVBQUFBLEtBQUssRUFBRSxNQVJZO0FBU25CQyxFQUFBQSxRQUFRLEVBQUUsTUFUUztBQVVuQkMsRUFBQUEsVUFBVSxFQUFFLFdBVk87QUFXbkJDLEVBQUFBLFVBQVUsRUFBRTtBQVhPLENBQXJCOztBQWVBLFNBQVNDLGFBQVQsT0FjVztBQUFBLE1BYlRDLFNBYVMsUUFiVEEsU0FhUztBQUFBLE1BWlRDLFFBWVMsUUFaVEEsUUFZUztBQUFBLE1BWFRiLFNBV1MsUUFYVEEsU0FXUztBQUFBLE1BVlRjLFlBVVMsUUFWVEEsWUFVUztBQUFBLE1BVFRDLFlBU1MsUUFUVEEsWUFTUztBQUFBLE1BUlRDLGtCQVFTLFFBUlRBLGtCQVFTO0FBQUEsTUFQVEMsY0FPUyxRQVBUQSxjQU9TO0FBQUEsTUFOVEMsWUFNUyxRQU5UQSxZQU1TO0FBQUEsTUFMVEMsTUFLUyxRQUxUQSxNQUtTO0FBQUEsTUFKVEMsSUFJUyxRQUpUQSxJQUlTO0FBQUEsTUFIVFosUUFHUyxRQUhUQSxRQUdTO0FBQUEsTUFGVGEsY0FFUyxRQUZUQSxjQUVTO0FBQUEsTUFEVEMsU0FDUyxRQURUQSxTQUNTO0FBQ1QsTUFBTUMsV0FBVyxHQUFHM0Isa0JBQWtCLENBQUNxQixjQUFELEVBQWlCRSxNQUFqQixFQUF5QkQsWUFBekIsRUFBdUNFLElBQXZDLENBQXRDO0FBRFMsTUFFREksT0FGQyxHQUVrQlosU0FGbEIsQ0FFRFksT0FGQztBQUFBLE1BRVFDLEtBRlIsR0FFa0JiLFNBRmxCLENBRVFhLEtBRlI7QUFHVHpCLEVBQUFBLFNBQVMsR0FBR0EsU0FBUyxJQUFJLEtBQXpCO0FBRUFhLEVBQUFBLFFBQVEsR0FBR0EsUUFBUSxJQUFJO0FBQ3JCSixJQUFBQSxVQUFVLEVBQUUsV0FEUztBQUVyQkQsSUFBQUEsUUFBUSxFQUFFO0FBRlcsR0FBdkI7QUFLQU0sRUFBQUEsWUFBWSxHQUFHQSxZQUFZLElBQUk7QUFDN0JMLElBQUFBLFVBQVUsRUFBRSxXQURpQjtBQUU3QkQsSUFBQUEsUUFBUSxFQUFFO0FBRm1CLEdBQS9CO0FBS0Esc0JBQ0Usb0JBQUMsU0FBRDtBQUFXLElBQUEsS0FBSyxFQUFFO0FBQUVSLE1BQUFBLFNBQVMsRUFBVEEsU0FBRjtBQUFhTyxNQUFBQSxLQUFLLEVBQUUsTUFBcEI7QUFBNEJELE1BQUFBLE1BQU0sRUFBRTtBQUFwQztBQUFsQixLQUNHaUIsV0FBVztBQUFBO0FBQ1Y7QUFDQTtBQUFLLElBQUEsS0FBSyxFQUFFeEI7QUFBWixrQkFDRTtBQUFLLElBQUEsS0FBSyxFQUFFO0FBQUVTLE1BQUFBLFFBQVEsWUFBS0EsUUFBTDtBQUFWO0FBQVosVUFBNENlLFdBQTVDLE1BREYsQ0FGVSxnQkFNVixvQkFBQyxPQUFELHFCQUNFO0FBQU0sSUFBQSxLQUFLLEVBQUVWO0FBQWIsVUFBeUJXLE9BQXpCLE9BQW1DQyxLQUFuQyxTQURGLGVBRUU7QUFBTSxJQUFBLEtBQUssRUFBRVg7QUFBYixrQkFDRSxvQkFBQyxZQUFEO0FBQ0UsSUFBQSxRQUFRLFlBQUtGLFNBQVMsQ0FBQ1ksT0FBZixjQUEwQlosU0FBUyxDQUFDYSxLQUFwQyxDQURWO0FBRUUsSUFBQSxZQUFZLEVBQUVWLFlBQVksSUFBSSxFQUZoQztBQUdFLElBQUEsa0JBQWtCLEVBQUVDLGtCQUh0QjtBQUlFLElBQUEsY0FBYyxFQUFFSyxjQUpsQjtBQUtFLElBQUEsU0FBUyxFQUFFQztBQUxiLElBREYsQ0FGRixDQVBKLENBREY7QUF1QkQ7O0FBRURYLGFBQWEsQ0FBQ2UsWUFBZCxHQUE2QjtBQUFFWCxFQUFBQSxZQUFZLEVBQUU7QUFBaEIsQ0FBN0I7QUFFQSxlQUFlSixhQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBWZXJzZU9iamVjdHMgfSBmcm9tICdzY3JpcHR1cmUtcmVzb3VyY2VzLXJjbCdcbmltcG9ydCB7IFNjcmlwdHVyZVJlZmVyZW5jZSwgVmVyc2VPYmplY3RzVHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNZXNzYWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBDb250YWluZXIsIENvbnRlbnQgfSBmcm9tICcuL3N0eWxlZCdcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqIGN1cnJlbnQgcmVmZXJlbmNlICoqL1xuICByZWZlcmVuY2U6IFNjcmlwdHVyZVJlZmVyZW5jZTtcbiAgLyoqIG9wdGlvbmFsIHN0eWxlcyB0byB1c2UgZm9yIHJlZmVyZW5jZSAqKi9cbiAgcmVmU3R5bGU6IGFueTtcbiAgLyoqIG9wdGlvbmFsIHN0eWxlcyB0byB1c2UgZm9yIGNvbnRlbnQgKiovXG4gIGNvbnRlbnRTdHlsZTogYW55O1xuICAvKiogbGFuZ3VhZ2UgZGlyZWN0aW9uIHRvIHVzZSAqKi9cbiAgZGlyZWN0aW9uOiBzdHJpbmd8dW5kZWZpbmVkO1xuICAvKiogdmVyc2VPYmplY3RzICoqL1xuICB2ZXJzZU9iamVjdHM6IFZlcnNlT2JqZWN0c1R5cGV8dW5kZWZpbmVkO1xuICAvKiogaWYgdHJ1ZSB0aGVuIGRvIG5vdCBkaXNwbGF5IGxleGljb24gcG9wb3ZlciBvbiBob3ZlciAqKi9cbiAgZGlzYWJsZVdvcmRQb3BvdmVyOiBib29sZWFufHVuZGVmaW5lZDtcbiAgLyoqIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJlc291cmNlIGxvYWRpbmcgc3RhdHVzIG9yIGZldGNoaW5nIGVycm9ycyAqL1xuICByZXNvdXJjZVN0YXR1czogb2JqZWN0fHVuZGVmaW5lZDtcbiAgLyoqIHJlc291cmNlIHRoYXQgd2FzIGxvYWRlZCAqL1xuICByZXNvdXJjZUxpbms6IHN0cmluZ3x1bmRlZmluZWQ7XG4gIC8qKiBzZXJ2ZXIgKi9cbiAgc2VydmVyOiBzdHJpbmd8dW5kZWZpbmVkO1xuICAvKiogdHJ1ZSBpZiBicm93c2luZyBOVCAqL1xuICBpc05UOiBib29sZWFuO1xuICAvKiogZm9udCBzaXplIGZvciBtZXNzYWdlcyAqL1xuICBmb250U2l6ZTogbnVtYmVyO1xuICAvKiogZnVuY3Rpb24gdG8gZ2V0IGxhdGVzdCBsZXhpY29uIGRhdGEgKi9cbiAgZ2V0TGV4aWNvbkRhdGE6IEZ1bmN0aW9uO1xuICAvKiogb3B0aW9uYWwgZnVuY3Rpb24gZm9yIGxvY2FsaXphdGlvbiAqL1xuICB0cmFuc2xhdGU6IEZ1bmN0aW9uO1xufVxuXG5jb25zdCBNZXNzYWdlU3R5bGUgPSB7XG4gIGRpcmVjdGlvbjogJ2x0cicsXG4gIHdoaXRlU3BhY2U6ICdwcmUtd3JhcCcsXG4gIGxpbmVIZWlnaHQ6ICdub3JtYWwnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGhlaWdodDogJzEwMCUnLFxuICB3aWR0aDogJzEwMCUnLFxuICBmb250U2l6ZTogJzE2cHgnLFxuICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgZm9udFdlaWdodDogJ2JvbGQnLFxufVxuXG5cbmZ1bmN0aW9uIFNjcmlwdHVyZVBhbmUoe1xuICByZWZlcmVuY2UsXG4gIHJlZlN0eWxlLFxuICBkaXJlY3Rpb24sXG4gIGNvbnRlbnRTdHlsZSxcbiAgdmVyc2VPYmplY3RzLFxuICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gIHJlc291cmNlU3RhdHVzLFxuICByZXNvdXJjZUxpbmssXG4gIHNlcnZlcixcbiAgaXNOVCxcbiAgZm9udFNpemUsXG4gIGdldExleGljb25EYXRhLFxuICB0cmFuc2xhdGUsXG59IDogUHJvcHMpIHtcbiAgY29uc3QgcmVzb3VyY2VNc2cgPSBnZXRSZXNvdXJjZU1lc3NhZ2UocmVzb3VyY2VTdGF0dXMsIHNlcnZlciwgcmVzb3VyY2VMaW5rLCBpc05UKVxuICBjb25zdCB7IGNoYXB0ZXIsIHZlcnNlIH0gPSByZWZlcmVuY2VcbiAgZGlyZWN0aW9uID0gZGlyZWN0aW9uIHx8ICdsdHInXG5cbiAgcmVmU3R5bGUgPSByZWZTdHlsZSB8fCB7XG4gICAgZm9udEZhbWlseTogJ05vdG8gU2FucycsXG4gICAgZm9udFNpemU6ICc5MCUnLFxuICB9XG5cbiAgY29udGVudFN0eWxlID0gY29udGVudFN0eWxlIHx8IHtcbiAgICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgICBmb250U2l6ZTogJzEwMCUnLFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIHN0eWxlPXt7IGRpcmVjdGlvbiwgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfX0+XG4gICAgICB7cmVzb3VyY2VNc2cgP1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIDxkaXYgc3R5bGU9e01lc3NhZ2VTdHlsZX0+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogYCR7Zm9udFNpemV9JWAgfX0+IHtyZXNvdXJjZU1zZ30gPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA6XG4gICAgICAgIDxDb250ZW50PlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtyZWZTdHlsZX0+IHtjaGFwdGVyfTp7dmVyc2V9Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtjb250ZW50U3R5bGV9PlxuICAgICAgICAgICAgPFZlcnNlT2JqZWN0c1xuICAgICAgICAgICAgICB2ZXJzZUtleT17YCR7cmVmZXJlbmNlLmNoYXB0ZXJ9OiR7cmVmZXJlbmNlLnZlcnNlfWB9XG4gICAgICAgICAgICAgIHZlcnNlT2JqZWN0cz17dmVyc2VPYmplY3RzIHx8IFtdfVxuICAgICAgICAgICAgICBkaXNhYmxlV29yZFBvcG92ZXI9e2Rpc2FibGVXb3JkUG9wb3Zlcn1cbiAgICAgICAgICAgICAgZ2V0TGV4aWNvbkRhdGE9e2dldExleGljb25EYXRhfVxuICAgICAgICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L0NvbnRlbnQ+XG4gICAgICB9XG4gICAgPC9Db250YWluZXI+XG4gIClcbn1cblxuU2NyaXB0dXJlUGFuZS5kZWZhdWx0UHJvcHMgPSB7IHZlcnNlT2JqZWN0czogW10gfVxuXG5leHBvcnQgZGVmYXVsdCBTY3JpcHR1cmVQYW5lXG4iXX0=
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import "core-js/modules/es.array.concat.js";
|
|
2
1
|
import "core-js/modules/es.array.is-array.js";
|
|
3
|
-
import "core-js/modules/es.array.map.js";
|
|
4
|
-
|
|
5
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
6
|
-
|
|
7
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
8
2
|
|
|
9
3
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10
4
|
|
|
@@ -21,10 +15,9 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
|
|
|
21
15
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
16
|
|
|
23
17
|
// @ts-ignore
|
|
24
|
-
import { useEffect,
|
|
18
|
+
import { useEffect, useState } from 'react';
|
|
25
19
|
import { core, useRsrc } from 'scripture-resources-rcl';
|
|
26
20
|
import { CONTENT_NOT_FOUND_ERROR, ERROR_STATE, INITIALIZED_STATE, INVALID_MANIFEST_ERROR, LOADING_STATE, MANIFEST_NOT_LOADED_ERROR, SCRIPTURE_NOT_LOADED_ERROR } from 'translation-helps-rcl';
|
|
27
|
-
import { getVerses } from 'bible-reference-range';
|
|
28
21
|
import { getResourceLink } from '../utils';
|
|
29
22
|
import { ServerConfig, ScriptureResource, ScriptureReference } from '../types';
|
|
30
23
|
import { parseResourceManifest } from './parseResourceManifest';
|
|
@@ -34,25 +27,13 @@ export function useScripture(_ref) {
|
|
|
34
27
|
var config = _ref.config,
|
|
35
28
|
reference = _ref.reference,
|
|
36
29
|
resource_ = _ref.resource,
|
|
37
|
-
resourceLink_ = _ref.resourceLink
|
|
38
|
-
_ref$wholeBook = _ref.wholeBook,
|
|
39
|
-
wholeBook = _ref$wholeBook === void 0 ? false : _ref$wholeBook;
|
|
30
|
+
resourceLink_ = _ref.resourceLink;
|
|
40
31
|
|
|
41
32
|
var _useState = useState(false),
|
|
42
33
|
_useState2 = _slicedToArray(_useState, 2),
|
|
43
34
|
initialized = _useState2[0],
|
|
44
35
|
setInitialized = _useState2[1];
|
|
45
36
|
|
|
46
|
-
var _useState3 = useState(null),
|
|
47
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
48
|
-
bookObjects = _useState4[0],
|
|
49
|
-
setBookObjects = _useState4[1];
|
|
50
|
-
|
|
51
|
-
var _useState5 = useState(null),
|
|
52
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
53
|
-
versesForRef = _useState6[0],
|
|
54
|
-
setVersesForRef = _useState6[1];
|
|
55
|
-
|
|
56
37
|
var resourceLink = resourceLink_;
|
|
57
38
|
|
|
58
39
|
if (!resourceLink_ && resource_) {
|
|
@@ -77,19 +58,10 @@ export function useScripture(_ref) {
|
|
|
77
58
|
var options = {
|
|
78
59
|
getBibleJson: true
|
|
79
60
|
};
|
|
80
|
-
var bookRef = useMemo(function () {
|
|
81
|
-
var bookRef = _objectSpread({}, reference);
|
|
82
|
-
|
|
83
|
-
if (wholeBook) {
|
|
84
|
-
delete bookRef.chapter; // remove the chapter so the whole book is fetched
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return bookRef;
|
|
88
|
-
}, [reference, wholeBook]);
|
|
89
61
|
|
|
90
62
|
var _useRsrc = useRsrc({
|
|
91
63
|
config: config,
|
|
92
|
-
reference:
|
|
64
|
+
reference: reference,
|
|
93
65
|
resourceLink: resourceLink,
|
|
94
66
|
options: options
|
|
95
67
|
}),
|
|
@@ -100,8 +72,7 @@ export function useScripture(_ref) {
|
|
|
100
72
|
content = _useRsrc$state.content,
|
|
101
73
|
loadingResource = _useRsrc$state.loadingResource,
|
|
102
74
|
loadingContent = _useRsrc$state.loadingContent,
|
|
103
|
-
fetchResponse = _useRsrc$state.fetchResponse
|
|
104
|
-
reloadResource = _useRsrc.actions.reloadResource;
|
|
75
|
+
fetchResponse = _useRsrc$state.fetchResponse;
|
|
105
76
|
|
|
106
77
|
var _parseResourceManifes = parseResourceManifest(resource),
|
|
107
78
|
title = _parseResourceManifes.title,
|
|
@@ -129,65 +100,6 @@ export function useScripture(_ref) {
|
|
|
129
100
|
}
|
|
130
101
|
}, [loading]);
|
|
131
102
|
|
|
132
|
-
function getVersesForRef(ref) {
|
|
133
|
-
var content_ = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : bookObjects;
|
|
134
|
-
|
|
135
|
-
if (content_) {
|
|
136
|
-
var verses = getVerses(content_.chapters, ref);
|
|
137
|
-
|
|
138
|
-
if (languageId === 'el-x-koine' || languageId === 'hbo') {
|
|
139
|
-
verses = verses.map(function (verse) {
|
|
140
|
-
if (verse.verseObjects) {
|
|
141
|
-
var verseObjects_ = core.occurrenceInjectVerseObjects(verse.verseObjects);
|
|
142
|
-
verse.verseObjects = verseObjects_;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
return verse;
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
return verses;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
return null;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
function updateVerse(chapter, verse, verseData) {
|
|
156
|
-
if (bookObjects) {
|
|
157
|
-
var bookObjects_ = _objectSpread({}, bookObjects); // shallow copy
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
if (bookObjects_ !== null && bookObjects_ !== void 0 && bookObjects_.chapters) {
|
|
161
|
-
bookObjects_.chapters = _objectSpread({}, bookObjects_.chapters); // shallow copy chapters
|
|
162
|
-
|
|
163
|
-
if (bookObjects_.chapters[chapter]) {
|
|
164
|
-
bookObjects_.chapters[chapter] = _objectSpread({}, bookObjects_.chapters[chapter]); // shallow copy verses
|
|
165
|
-
|
|
166
|
-
bookObjects_.chapters[chapter][verse] = verseData;
|
|
167
|
-
setBookObjects(bookObjects_);
|
|
168
|
-
return bookObjects_;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return null;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
useEffect(function () {
|
|
177
|
-
if (bookObjects) {
|
|
178
|
-
var _ref5 = "".concat(reference.chapter, ":").concat(reference.verse);
|
|
179
|
-
|
|
180
|
-
var _versesForRef = getVersesForRef(_ref5, bookObjects);
|
|
181
|
-
|
|
182
|
-
setVersesForRef(_versesForRef);
|
|
183
|
-
} else {
|
|
184
|
-
setVersesForRef(null);
|
|
185
|
-
}
|
|
186
|
-
}, [bookObjects]);
|
|
187
|
-
useEffect(function () {
|
|
188
|
-
setBookObjects(content);
|
|
189
|
-
}, [content]);
|
|
190
|
-
|
|
191
103
|
if (languageId === 'el-x-koine' || languageId === 'hbo') {
|
|
192
104
|
verseObjects = core.occurrenceInjectVerseObjects(verseObjects);
|
|
193
105
|
}
|
|
@@ -199,14 +111,8 @@ export function useScripture(_ref) {
|
|
|
199
111
|
resourceLink: resourceLink,
|
|
200
112
|
matchedVerse: matchedVerse,
|
|
201
113
|
verseObjects: verseObjects,
|
|
202
|
-
bookObjects: bookObjects,
|
|
203
114
|
resourceStatus: resourceStatus,
|
|
204
|
-
fetchResponse: fetchResponse
|
|
205
|
-
setBookObjects: setBookObjects,
|
|
206
|
-
getVersesForRef: getVersesForRef,
|
|
207
|
-
versesForRef: versesForRef,
|
|
208
|
-
updateVerse: updateVerse,
|
|
209
|
-
reloadResource: reloadResource
|
|
115
|
+
fetchResponse: fetchResponse
|
|
210
116
|
};
|
|
211
117
|
}
|
|
212
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmUudHN4Il0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsImNvcmUiLCJ1c2VSc3JjIiwiQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IiLCJFUlJPUl9TVEFURSIsIklOSVRJQUxJWkVEX1NUQVRFIiwiSU5WQUxJRF9NQU5JRkVTVF9FUlJPUiIsIkxPQURJTkdfU1RBVEUiLCJNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SIiwiU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1IiLCJnZXRWZXJzZXMiLCJnZXRSZXNvdXJjZUxpbmsiLCJTZXJ2ZXJDb25maWciLCJTY3JpcHR1cmVSZXNvdXJjZSIsIlNjcmlwdHVyZVJlZmVyZW5jZSIsInBhcnNlUmVzb3VyY2VNYW5pZmVzdCIsInVzZVNjcmlwdHVyZSIsImNvbmZpZyIsInJlZmVyZW5jZSIsInJlc291cmNlXyIsInJlc291cmNlIiwicmVzb3VyY2VMaW5rXyIsInJlc291cmNlTGluayIsIndob2xlQm9vayIsImluaXRpYWxpemVkIiwic2V0SW5pdGlhbGl6ZWQiLCJib29rT2JqZWN0cyIsInNldEJvb2tPYmplY3RzIiwidmVyc2VzRm9yUmVmIiwic2V0VmVyc2VzRm9yUmVmIiwib3duZXIiLCJsYW5ndWFnZUlkIiwicHJvamVjdElkIiwiYnJhbmNoIiwicmVmIiwicmVmXyIsInJlc291cmNlSWQiLCJvcHRpb25zIiwiZ2V0QmlibGVKc29uIiwiYm9va1JlZiIsImNoYXB0ZXIiLCJzdGF0ZSIsImJpYmxlSnNvbiIsIm1hdGNoZWRWZXJzZSIsImNvbnRlbnQiLCJsb2FkaW5nUmVzb3VyY2UiLCJsb2FkaW5nQ29udGVudCIsImZldGNoUmVzcG9uc2UiLCJyZWxvYWRSZXNvdXJjZSIsImFjdGlvbnMiLCJ0aXRsZSIsInZlcnNpb24iLCJ2ZXJzZU9iamVjdHMiLCJsb2FkaW5nIiwiY29udGVudE5vdEZvdW5kRXJyb3IiLCJzY3JpcHR1cmVOb3RMb2FkZWRFcnJvciIsIm1hbmlmZXN0Tm90Rm91bmRFcnJvciIsIm1hbmlmZXN0IiwiaW52YWxpZE1hbmlmZXN0RXJyb3IiLCJlcnJvciIsInJlc291cmNlU3RhdHVzIiwiZ2V0VmVyc2VzRm9yUmVmIiwiY29udGVudF8iLCJ2ZXJzZXMiLCJjaGFwdGVycyIsIm1hcCIsInZlcnNlIiwidmVyc2VPYmplY3RzXyIsIm9jY3VycmVuY2VJbmplY3RWZXJzZU9iamVjdHMiLCJ1cGRhdGVWZXJzZSIsInZlcnNlRGF0YSIsImJvb2tPYmplY3RzXyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0EsU0FBU0EsU0FBVCxFQUFvQkMsT0FBcEIsRUFBNkJDLFFBQTdCLFFBQTZDLE9BQTdDO0FBQ0EsU0FDRUMsSUFERixFQUVFQyxPQUZGLFFBR08seUJBSFA7QUFJQSxTQUNFQyx1QkFERixFQUVFQyxXQUZGLEVBR0VDLGlCQUhGLEVBSUVDLHNCQUpGLEVBS0VDLGFBTEYsRUFNRUMseUJBTkYsRUFPRUMsMEJBUEYsUUFRTyx1QkFSUDtBQVNBLFNBQVNDLFNBQVQsUUFBMEIsdUJBQTFCO0FBQ0EsU0FBU0MsZUFBVCxRQUFnQyxVQUFoQztBQUNBLFNBQ0VDLFlBREYsRUFFRUMsaUJBRkYsRUFHRUMsa0JBSEYsUUFJTyxVQUpQO0FBS0EsU0FBU0MscUJBQVQsUUFBc0MseUJBQXRDO0FBZUEsT0FBTyxTQUFTQyxZQUFULE9BTUk7QUFBQTs7QUFBQSxNQUxUQyxNQUtTLFFBTFRBLE1BS1M7QUFBQSxNQUpUQyxTQUlTLFFBSlRBLFNBSVM7QUFBQSxNQUhDQyxTQUdELFFBSFRDLFFBR1M7QUFBQSxNQUZLQyxhQUVMLFFBRlRDLFlBRVM7QUFBQSw0QkFEVEMsU0FDUztBQUFBLE1BRFRBLFNBQ1MsK0JBREcsS0FDSDs7QUFBQSxrQkFDNkJ2QixRQUFRLENBQUMsS0FBRCxDQURyQztBQUFBO0FBQUEsTUFDRndCLFdBREU7QUFBQSxNQUNXQyxjQURYOztBQUFBLG1CQUU2QnpCLFFBQVEsQ0FBQyxJQUFE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QUFDRCxhQUFELENBQWY7QUFDRCxLQUpELE1BSU87QUFDTEMsTUFBQUEsZUFBZSxDQUFDLElBQUQsQ0FBZjtBQUNEO0FBQ0YsR0FSUSxFQVFOLENBQUNILFdBQUQsQ0FSTSxDQUFUO0FBVUE1QixFQUFBQSxTQUFTLENBQUMsWUFBTTtBQUNkNkIsSUFBQUEsY0FBYyxDQUFDaUIsT0FBRCxDQUFkO0FBQ0QsR0FGUSxFQUVOLENBQUNBLE9BQUQsQ0FGTSxDQUFUOztBQUlBLE1BQUliLFVBQVUsS0FBSyxZQUFmLElBQStCQSxVQUFVLEtBQUssS0FBbEQsRUFBeUQ7QUFDdkRxQixJQUFBQSxZQUFZLEdBQUduRCxJQUFJLENBQUNtRSw0QkFBTCxDQUFrQ2hCLFlBQWxDLENBQWY7QUFDRDs7QUFFRCxTQUFPO0FBQ0xGLElBQUFBLEtBQUssRUFBTEEsS0FESztBQUVMQyxJQUFBQSxPQUFPLEVBQVBBLE9BRks7QUFHTGpDLElBQUFBLFNBQVMsRUFBVEEsU0FISztBQUlMSSxJQUFBQSxZQUFZLEVBQVpBLFlBSks7QUFLTHFCLElBQUFBLFlBQVksRUFBWkEsWUFMSztBQU1MUyxJQUFBQSxZQUFZLEVBQVpBLFlBTks7QUFPTDFCLElBQUFBLFdBQVcsRUFBWEEsV0FQSztBQVFMa0MsSUFBQUEsY0FBYyxFQUFkQSxjQVJLO0FBU0xiLElBQUFBLGFBQWEsRUFBYkEsYUFUSztBQVVMcEIsSUFBQUEsY0FBYyxFQUFkQSxjQVZLO0FBV0xrQyxJQUFBQSxlQUFlLEVBQWZBLGVBWEs7QUFZTGpDLElBQUFBLFlBQVksRUFBWkEsWUFaSztBQWFMeUMsSUFBQUEsV0FBVyxFQUFYQSxXQWJLO0FBY0xyQixJQUFBQSxjQUFjLEVBQWRBO0FBZEssR0FBUDtBQWdCRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIGNvcmUsXG4gIHVzZVJzcmMsXG59IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHtcbiAgQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IsXG4gIEVSUk9SX1NUQVRFLFxuICBJTklUSUFMSVpFRF9TVEFURSxcbiAgSU5WQUxJRF9NQU5JRkVTVF9FUlJPUixcbiAgTE9BRElOR19TVEFURSxcbiAgTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUixcbiAgU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1IsXG59IGZyb20gJ3RyYW5zbGF0aW9uLWhlbHBzLXJjbCdcbmltcG9ydCB7IGdldFZlcnNlcyB9IGZyb20gJ2JpYmxlLXJlZmVyZW5jZS1yYW5nZSdcbmltcG9ydCB7IGdldFJlc291cmNlTGluayB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHtcbiAgU2VydmVyQ29uZmlnLFxuICBTY3JpcHR1cmVSZXNvdXJjZSxcbiAgU2NyaXB0dXJlUmVmZXJlbmNlLFxufSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IHBhcnNlUmVzb3VyY2VNYW5pZmVzdCB9IGZyb20gJy4vcGFyc2VSZXNvdXJjZU1hbmlmZXN0J1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvKiogcmVmZXJlbmNlIGZvciBzY3JpcHR1cmUgKiovXG4gIHJlZmVyZW5jZTogU2NyaXB0dXJlUmVmZXJlbmNlO1xuICAvKiogd2hlcmUgdG8gZ2V0IGRhdGEgKiovXG4gIGNvbmZpZzogU2VydmVyQ29uZmlnO1xuICAvKiogb3B0aW9uYWwgZGlyZWN0IHBhdGggdG8gYmlibGUgcmVzb3VyY2UsIGluIGZvcm1hdCAke293bmVyfS8ke2xhbmd1YWdlSWR9LyR7cHJvamVjdElkfS8ke2JyYW5jaH0gKiovXG4gIHJlc291cmNlTGluazogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIG9wdGlvbmFsIHJlc291cmNlIG9iamVjdCB0byB1c2UgdG8gYnVpbGQgcmVzb3VyY2VMaW5rICoqL1xuICByZXNvdXJjZTogU2NyaXB0dXJlUmVzb3VyY2V8dW5kZWZpbmVkO1xuICAvKiogaWYgdHJ1ZSB0aGVuIGZldGNoIHRoZSBlbnRpcmUgYm9vayAqL1xuICB3aG9sZUJvb2s6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTY3JpcHR1cmUoe1xuICBjb25maWcsXG4gIHJlZmVyZW5jZSxcbiAgcmVzb3VyY2U6IHJlc291cmNlXyxcbiAgcmVzb3VyY2VMaW5rOiByZXNvdXJjZUxpbmtfLFxuICB3aG9sZUJvb2sgPSBmYWxzZSxcbn0gOiBQcm9wcykge1xuICBjb25zdCBbaW5pdGlhbGl6ZWQsIHNldEluaXRpYWxpemVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbYm9va09iamVjdHMsIHNldEJvb2tPYmplY3RzXSA9IHVzZVN0YXRlKG51bGwpXG4gIGNvbnN0IFt2ZXJzZXNGb3JSZWYsIHNldFZlcnNlc0ZvclJlZl0gPSB1c2VTdGF0ZShudWxsKVxuICBsZXQgcmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rX1xuXG4gIGlmICghcmVzb3VyY2VMaW5rXyAmJiByZXNvdXJjZV8pIHtcbiAgICBjb25zdCB7XG4gICAgICBvd25lcixcbiAgICAgIGxhbmd1YWdlSWQsXG4gICAgICBwcm9qZWN0SWQsXG4gICAgICBicmFuY2ggPSAnbWFzdGVyJyxcbiAgICAgIHJlZiA9IG51bGwsXG4gICAgfSA9IHJlc291cmNlXyB8fCB7fVxuICAgIGNvbnN0IHJlZl8gPSByZWYgfHwgYnJhbmNoXG4gICAgcmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHtcbiAgICAgIG93bmVyLFxuICAgICAgbGFuZ3VhZ2VJZCxcbiAgICAgIHJlc291cmNlSWQ6IHByb2plY3RJZCxcbiAgICAgIHJlZjogcmVmXyxcbiAgICB9KVxuICB9XG5cbiAgY29uc3Qgb3B0aW9ucyA9IHsgZ2V0QmlibGVKc29uOiB0cnVlIH1cbiAgY29uc3QgYm9va1JlZiA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGJvb2tSZWYgPSB7IC4uLnJlZmVyZW5jZSB9XG5cbiAgICBpZiAod2hvbGVCb29rKSB7XG4gICAgICBkZWxldGUgYm9va1JlZi5jaGFwdGVyIC8vIHJlbW92ZSB0aGUgY2hhcHRlciBzbyB0aGUgd2hvbGUgYm9vayBpcyBmZXRjaGVkXG4gICAgfVxuICAgIHJldHVybiBib29rUmVmXG4gIH0sIFtyZWZlcmVuY2UsIHdob2xlQm9va10pXG5cbiAgY29uc3Qge1xuICAgIHN0YXRlOiB7XG4gICAgICBiaWJsZUpzb24sXG4gICAgICBtYXRjaGVkVmVyc2UsXG4gICAgICByZXNvdXJjZSxcbiAgICAgIGNvbnRlbnQsXG4gICAgICBsb2FkaW5nUmVzb3VyY2UsXG4gICAgICBsb2FkaW5nQ29udGVudCxcbiAgICAgIGZldGNoUmVzcG9uc2UsXG4gICAgfSxcbiAgICBhY3Rpb25zOiB7IHJlbG9hZFJlc291cmNlIH0sXG4gIH0gPSB1c2VSc3JjKHtcbiAgICBjb25maWcsIHJlZmVyZW5jZTogYm9va1JlZiwgcmVzb3VyY2VMaW5rLCBvcHRpb25zLFxuICB9KVxuXG4gIGNvbnN0IHsgdGl0bGUsIHZlcnNpb24gfSA9IHBhcnNlUmVzb3VyY2VNYW5pZmVzdChyZXNvdXJjZSlcbiAgbGV0IHsgdmVyc2VPYmplY3RzIH0gPSBiaWJsZUpzb24gfHwge31cbiAgY29uc3QgeyBsYW5ndWFnZUlkIH0gPSByZXNvdXJjZV8gfHwge31cbiAgY29uc3QgbG9hZGluZyA9IGxvYWRpbmdSZXNvdXJjZSB8fCBsb2FkaW5nQ29udGVudFxuICBjb25zdCBjb250ZW50Tm90Rm91bmRFcnJvciA9ICFjb250ZW50XG4gIGNvbnN0IHNjcmlwdHVyZU5vdExvYWRlZEVycm9yID0gIWJpYmxlSnNvblxuICBjb25zdCBtYW5pZmVzdE5vdEZvdW5kRXJyb3IgPSAhcmVzb3VyY2U/Lm1hbmlmZXN0XG4gIGNvbnN0IGludmFsaWRNYW5pZmVzdEVycm9yID0gIXRpdGxlIHx8ICF2ZXJzaW9uIHx8ICFsYW5ndWFnZUlkXG4gIGNvbnN0IGVycm9yID0gaW5pdGlhbGl6ZWQgJiYgIWxvYWRpbmcgJiZcbiAgICAoY29udGVudE5vdEZvdW5kRXJyb3IgfHwgc2NyaXB0dXJlTm90TG9hZGVkRXJyb3IgfHwgbWFuaWZlc3ROb3RGb3VuZEVycm9yIHx8IGludmFsaWRNYW5pZmVzdEVycm9yKVxuICBjb25zdCByZXNvdXJjZVN0YXR1cyA9IHtcbiAgICBbTE9BRElOR19TVEFURV06IGxvYWRpbmcsXG4gICAgW0NPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SXTogY29udGVudE5vdEZvdW5kRXJyb3IsXG4gICAgW1NDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SXTogc2NyaXB0dXJlTm90TG9hZGVkRXJyb3IsXG4gICAgW01BTklGRVNUX05PVF9MT0FERURfRVJST1JdOiBtYW5pZmVzdE5vdEZvdW5kRXJyb3IsXG4gICAgW0lOVkFMSURfTUFOSUZFU1RfRVJST1JdOiBpbnZhbGlkTWFuaWZlc3RFcnJvcixcbiAgICBbRVJST1JfU1RBVEVdOiBlcnJvcixcbiAgICBbSU5JVElBTElaRURfU1RBVEVdOiBpbml0aWFsaXplZCxcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpbml0aWFsaXplZCkge1xuICAgICAgaWYgKGxvYWRpbmcpIHsgLy8gb25jZSBmaXJzdCBsb2FkIGhhcyBiZWd1biwgd2UgYXJlIGluaXRpYWxpemVkXG4gICAgICAgIHNldEluaXRpYWxpemVkKHRydWUpXG4gICAgICB9XG4gICAgfVxuICB9LCBbbG9hZGluZ10pXG5cbiAgZnVuY3Rpb24gZ2V0VmVyc2VzRm9yUmVmKHJlZiwgY29udGVudF8gPSBib29rT2JqZWN0cykge1xuICAgIGlmIChjb250ZW50Xykge1xuICAgICAgbGV0IHZlcnNlcyA9IGdldFZlcnNlcyhjb250ZW50Xy5jaGFwdGVycywgcmVmKVxuXG4gICAgICBpZiAobGFuZ3VhZ2VJZCA9PT0gJ2VsLXgta29pbmUnIHx8IGxhbmd1YWdlSWQgPT09ICdoYm8nKSB7XG4gICAgICAgIHZlcnNlcyA9IHZlcnNlcy5tYXAodmVyc2UgPT4ge1xuICAgICAgICAgIGlmICh2ZXJzZS52ZXJzZU9iamVjdHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHZlcnNlT2JqZWN0c18gPSBjb3JlLm9jY3VycmVuY2VJbmplY3RWZXJzZU9iamVjdHModmVyc2UudmVyc2VPYmplY3RzKVxuICAgICAgICAgICAgdmVyc2UudmVyc2VPYmplY3RzID0gdmVyc2VPYmplY3RzX1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdmVyc2VcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZlcnNlc1xuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlVmVyc2UoY2hhcHRlciwgdmVyc2UsIHZlcnNlRGF0YSkge1xuICAgIGlmIChib29rT2JqZWN0cykge1xuICAgICAgY29uc3QgYm9va09iamVjdHNfID0geyAuLi5ib29rT2JqZWN0cyB9IC8vIHNoYWxsb3cgY29weVxuXG4gICAgICBpZiAoYm9va09iamVjdHNfPy5jaGFwdGVycykge1xuICAgICAgICBib29rT2JqZWN0c18uY2hhcHRlcnMgPSB7IC4uLmJvb2tPYmplY3RzXy5jaGFwdGVycyB9IC8vIHNoYWxsb3cgY29weSBjaGFwdGVyc1xuXG4gICAgICAgIGlmIChib29rT2JqZWN0c18uY2hhcHRlcnNbY2hhcHRlcl0pIHtcbiAgICAgICAgICBib29rT2JqZWN0c18uY2hhcHRlcnNbY2hhcHRlcl0gPSB7IC4uLmJvb2tPYmplY3RzXy5jaGFwdGVyc1tjaGFwdGVyXSB9IC8vIHNoYWxsb3cgY29weSB2ZXJzZXNcbiAgICAgICAgICBib29rT2JqZWN0c18uY2hhcHRlcnNbY2hhcHRlcl1bdmVyc2VdID0gdmVyc2VEYXRhXG4gICAgICAgICAgc2V0Qm9va09iamVjdHMoYm9va09iamVjdHNfKVxuICAgICAgICAgIHJldHVybiBib29rT2JqZWN0c19cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYm9va09iamVjdHMpIHtcbiAgICAgIGNvbnN0IHJlZiA9IGAke3JlZmVyZW5jZS5jaGFwdGVyfToke3JlZmVyZW5jZS52ZXJzZX1gXG4gICAgICBjb25zdCB2ZXJzZXNGb3JSZWYgPSBnZXRWZXJzZXNGb3JSZWYocmVmLCBib29rT2JqZWN0cylcbiAgICAgIHNldFZlcnNlc0ZvclJlZih2ZXJzZXNGb3JSZWYpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZlcnNlc0ZvclJlZihudWxsKVxuICAgIH1cbiAgfSwgW2Jvb2tPYmplY3RzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEJvb2tPYmplY3RzKGNvbnRlbnQpXG4gIH0sIFtjb250ZW50XSlcblxuICBpZiAobGFuZ3VhZ2VJZCA9PT0gJ2VsLXgta29pbmUnIHx8IGxhbmd1YWdlSWQgPT09ICdoYm8nKSB7XG4gICAgdmVyc2VPYmplY3RzID0gY29yZS5vY2N1cnJlbmNlSW5qZWN0VmVyc2VPYmplY3RzKHZlcnNlT2JqZWN0cylcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdGl0bGUsXG4gICAgdmVyc2lvbixcbiAgICByZWZlcmVuY2UsXG4gICAgcmVzb3VyY2VMaW5rLFxuICAgIG1hdGNoZWRWZXJzZSxcbiAgICB2ZXJzZU9iamVjdHMsXG4gICAgYm9va09iamVjdHMsXG4gICAgcmVzb3VyY2VTdGF0dXMsXG4gICAgZmV0Y2hSZXNwb25zZSxcbiAgICBzZXRCb29rT2JqZWN0cyxcbiAgICBnZXRWZXJzZXNGb3JSZWYsXG4gICAgdmVyc2VzRm9yUmVmLFxuICAgIHVwZGF0ZVZlcnNlLFxuICAgIHJlbG9hZFJlc291cmNlLFxuICB9XG59XG4iXX0=
|
|
118
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmUudHN4Il0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiY29yZSIsInVzZVJzcmMiLCJDT05URU5UX05PVF9GT1VORF9FUlJPUiIsIkVSUk9SX1NUQVRFIiwiSU5JVElBTElaRURfU1RBVEUiLCJJTlZBTElEX01BTklGRVNUX0VSUk9SIiwiTE9BRElOR19TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUiIsImdldFJlc291cmNlTGluayIsIlNlcnZlckNvbmZpZyIsIlNjcmlwdHVyZVJlc291cmNlIiwiU2NyaXB0dXJlUmVmZXJlbmNlIiwicGFyc2VSZXNvdXJjZU1hbmlmZXN0IiwidXNlU2NyaXB0dXJlIiwiY29uZmlnIiwicmVmZXJlbmNlIiwicmVzb3VyY2VfIiwicmVzb3VyY2UiLCJyZXNvdXJjZUxpbmtfIiwicmVzb3VyY2VMaW5rIiwiaW5pdGlhbGl6ZWQiLCJzZXRJbml0aWFsaXplZCIsIm93bmVyIiwibGFuZ3VhZ2VJZCIsInByb2plY3RJZCIsImJyYW5jaCIsInJlZiIsInJlZl8iLCJyZXNvdXJjZUlkIiwib3B0aW9ucyIsImdldEJpYmxlSnNvbiIsInN0YXRlIiwiYmlibGVKc29uIiwibWF0Y2hlZFZlcnNlIiwiY29udGVudCIsImxvYWRpbmdSZXNvdXJjZSIsImxvYWRpbmdDb250ZW50IiwiZmV0Y2hSZXNwb25zZSIsInRpdGxlIiwidmVyc2lvbiIsInZlcnNlT2JqZWN0cyIsImxvYWRpbmciLCJjb250ZW50Tm90Rm91bmRFcnJvciIsInNjcmlwdHVyZU5vdExvYWRlZEVycm9yIiwibWFuaWZlc3ROb3RGb3VuZEVycm9yIiwibWFuaWZlc3QiLCJpbnZhbGlkTWFuaWZlc3RFcnJvciIsImVycm9yIiwicmVzb3VyY2VTdGF0dXMiLCJvY2N1cnJlbmNlSW5qZWN0VmVyc2VPYmplY3RzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7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QUEsWUFBWSxFQUFaQSxZQUxLO0FBTUxPLElBQUFBLFlBQVksRUFBWkEsWUFOSztBQU9MUSxJQUFBQSxjQUFjLEVBQWRBLGNBUEs7QUFRTFgsSUFBQUEsYUFBYSxFQUFiQTtBQVJLLEdBQVA7QUFVRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIGNvcmUsXG4gIHVzZVJzcmMsXG59IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHtcbiAgQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IsXG4gIEVSUk9SX1NUQVRFLFxuICBJTklUSUFMSVpFRF9TVEFURSxcbiAgSU5WQUxJRF9NQU5JRkVTVF9FUlJPUixcbiAgTE9BRElOR19TVEFURSxcbiAgTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUixcbiAgU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1IsXG59IGZyb20gJ3RyYW5zbGF0aW9uLWhlbHBzLXJjbCdcbmltcG9ydCB7IGdldFJlc291cmNlTGluayB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHtcbiAgU2VydmVyQ29uZmlnLFxuICBTY3JpcHR1cmVSZXNvdXJjZSxcbiAgU2NyaXB0dXJlUmVmZXJlbmNlLFxufSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IHBhcnNlUmVzb3VyY2VNYW5pZmVzdCB9IGZyb20gJy4vcGFyc2VSZXNvdXJjZU1hbmlmZXN0J1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvKiogcmVmZXJlbmNlIGZvciBzY3JpcHR1cmUgKiovXG4gIHJlZmVyZW5jZTogU2NyaXB0dXJlUmVmZXJlbmNlO1xuICAvKiogd2hlcmUgdG8gZ2V0IGRhdGEgKiovXG4gIGNvbmZpZzogU2VydmVyQ29uZmlnO1xuICAvKiogb3B0aW9uYWwgZGlyZWN0IHBhdGggdG8gYmlibGUgcmVzb3VyY2UsIGluIGZvcm1hdCAke293bmVyfS8ke2xhbmd1YWdlSWR9LyR7cHJvamVjdElkfS8ke2JyYW5jaH0gKiovXG4gIHJlc291cmNlTGluazogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIG9wdGlvbmFsIHJlc291cmNlIG9iamVjdCB0byB1c2UgdG8gYnVpbGQgcmVzb3VyY2VMaW5rICoqL1xuICByZXNvdXJjZTogU2NyaXB0dXJlUmVzb3VyY2V8dW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlU2NyaXB0dXJlKHtcbiAgY29uZmlnLFxuICByZWZlcmVuY2UsXG4gIHJlc291cmNlOiByZXNvdXJjZV8sXG4gIHJlc291cmNlTGluazogcmVzb3VyY2VMaW5rXyxcbn0gOiBQcm9wcykge1xuICBjb25zdCBbaW5pdGlhbGl6ZWQsIHNldEluaXRpYWxpemVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBsZXQgcmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rX1xuXG4gIGlmICghcmVzb3VyY2VMaW5rXyAmJiByZXNvdXJjZV8pIHtcbiAgICBjb25zdCB7XG4gICAgICBvd25lcixcbiAgICAgIGxhbmd1YWdlSWQsXG4gICAgICBwcm9qZWN0SWQsXG4gICAgICBicmFuY2ggPSAnbWFzdGVyJyxcbiAgICAgIHJlZiA9IG51bGwsXG4gICAgfSA9IHJlc291cmNlXyB8fCB7fVxuICAgIGNvbnN0IHJlZl8gPSByZWYgfHwgYnJhbmNoXG4gICAgcmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHtcbiAgICAgIG93bmVyLFxuICAgICAgbGFuZ3VhZ2VJZCxcbiAgICAgIHJlc291cmNlSWQ6IHByb2plY3RJZCxcbiAgICAgIHJlZjogcmVmXyxcbiAgICB9KVxuICB9XG5cbiAgY29uc3Qgb3B0aW9ucyA9IHsgZ2V0QmlibGVKc29uOiB0cnVlIH1cblxuICBjb25zdCB7XG4gICAgc3RhdGU6IHtcbiAgICAgIGJpYmxlSnNvbixcbiAgICAgIG1hdGNoZWRWZXJzZSxcbiAgICAgIHJlc291cmNlLFxuICAgICAgY29udGVudCxcbiAgICAgIGxvYWRpbmdSZXNvdXJjZSxcbiAgICAgIGxvYWRpbmdDb250ZW50LFxuICAgICAgZmV0Y2hSZXNwb25zZSxcbiAgICB9LFxuICB9ID0gdXNlUnNyYyh7XG4gICAgY29uZmlnLCByZWZlcmVuY2UsIHJlc291cmNlTGluaywgb3B0aW9ucyxcbiAgfSlcblxuICBjb25zdCB7IHRpdGxlLCB2ZXJzaW9uIH0gPSBwYXJzZVJlc291cmNlTWFuaWZlc3QocmVzb3VyY2UpXG4gIGxldCB7IHZlcnNlT2JqZWN0cyB9ID0gYmlibGVKc29uIHx8IHt9XG4gIGNvbnN0IHsgbGFuZ3VhZ2VJZCB9ID0gcmVzb3VyY2VfIHx8IHt9XG4gIGNvbnN0IGxvYWRpbmcgPSBsb2FkaW5nUmVzb3VyY2UgfHwgbG9hZGluZ0NvbnRlbnRcbiAgY29uc3QgY29udGVudE5vdEZvdW5kRXJyb3IgPSAhY29udGVudFxuICBjb25zdCBzY3JpcHR1cmVOb3RMb2FkZWRFcnJvciA9ICFiaWJsZUpzb25cbiAgY29uc3QgbWFuaWZlc3ROb3RGb3VuZEVycm9yID0gIXJlc291cmNlPy5tYW5pZmVzdFxuICBjb25zdCBpbnZhbGlkTWFuaWZlc3RFcnJvciA9ICF0aXRsZSB8fCAhdmVyc2lvbiB8fCAhbGFuZ3VhZ2VJZFxuICBjb25zdCBlcnJvciA9IGluaXRpYWxpemVkICYmICFsb2FkaW5nICYmXG4gICAgKGNvbnRlbnROb3RGb3VuZEVycm9yIHx8IHNjcmlwdHVyZU5vdExvYWRlZEVycm9yIHx8IG1hbmlmZXN0Tm90Rm91bmRFcnJvciB8fCBpbnZhbGlkTWFuaWZlc3RFcnJvcilcbiAgY29uc3QgcmVzb3VyY2VTdGF0dXMgPSB7XG4gICAgW0xPQURJTkdfU1RBVEVdOiBsb2FkaW5nLFxuICAgIFtDT05URU5UX05PVF9GT1VORF9FUlJPUl06IGNvbnRlbnROb3RGb3VuZEVycm9yLFxuICAgIFtTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUl06IHNjcmlwdHVyZU5vdExvYWRlZEVycm9yLFxuICAgIFtNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SXTogbWFuaWZlc3ROb3RGb3VuZEVycm9yLFxuICAgIFtJTlZBTElEX01BTklGRVNUX0VSUk9SXTogaW52YWxpZE1hbmlmZXN0RXJyb3IsXG4gICAgW0VSUk9SX1NUQVRFXTogZXJyb3IsXG4gICAgW0lOSVRJQUxJWkVEX1NUQVRFXTogaW5pdGlhbGl6ZWQsXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGlmIChsb2FkaW5nKSB7IC8vIG9uY2UgZmlyc3QgbG9hZCBoYXMgYmVndW4sIHdlIGFyZSBpbml0aWFsaXplZFxuICAgICAgICBzZXRJbml0aWFsaXplZCh0cnVlKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2xvYWRpbmddKVxuXG4gIGlmIChsYW5ndWFnZUlkID09PSAnZWwteC1rb2luZScgfHwgbGFuZ3VhZ2VJZCA9PT0gJ2hibycpIHtcbiAgICB2ZXJzZU9iamVjdHMgPSBjb3JlLm9jY3VycmVuY2VJbmplY3RWZXJzZU9iamVjdHModmVyc2VPYmplY3RzKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0aXRsZSxcbiAgICB2ZXJzaW9uLFxuICAgIHJlZmVyZW5jZSxcbiAgICByZXNvdXJjZUxpbmssXG4gICAgbWF0Y2hlZFZlcnNlLFxuICAgIHZlcnNlT2JqZWN0cyxcbiAgICByZXNvdXJjZVN0YXR1cyxcbiAgICBmZXRjaFJlc3BvbnNlLFxuICB9XG59XG4iXX0=
|
|
@@ -20,7 +20,6 @@ import { getScriptureResourceSettings } from '../utils/ScriptureSettings';
|
|
|
20
20
|
* @param {string} currentOwner - optional over-ride for transient case where owner in scripture settings have not yet updated
|
|
21
21
|
* @param {object} httpConfig - optional config settings for fetches (timeout, cache, etc.)
|
|
22
22
|
* @param {string} appRef - app default, points to specific ref that could be a branch or tag
|
|
23
|
-
* @param {boolean} wholeBook - if true then fetch the entire book
|
|
24
23
|
*/
|
|
25
24
|
|
|
26
25
|
export function useScriptureResources(_ref) {
|
|
@@ -37,16 +36,7 @@ export function useScriptureResources(_ref) {
|
|
|
37
36
|
_ref$httpConfig = _ref.httpConfig,
|
|
38
37
|
httpConfig = _ref$httpConfig === void 0 ? {} : _ref$httpConfig,
|
|
39
38
|
_ref$appRef = _ref.appRef,
|
|
40
|
-
appRef = _ref$appRef === void 0 ? 'master' : _ref$appRef
|
|
41
|
-
_ref$wholeBook = _ref.wholeBook,
|
|
42
|
-
wholeBook = _ref$wholeBook === void 0 ? false : _ref$wholeBook;
|
|
43
|
-
|
|
44
|
-
if (appRef !== scriptureSettings.ref) {
|
|
45
|
-
scriptureSettings = _objectSpread(_objectSpread({}, scriptureSettings), {}, {
|
|
46
|
-
ref: appRef
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
|
|
39
|
+
appRef = _ref$appRef === void 0 ? 'master' : _ref$appRef;
|
|
50
40
|
var scriptureSettings_ = getScriptureResourceSettings(bookId, scriptureSettings, isNewTestament, originalRepoUrl, currentLanguageId, currentOwner); // convert any default settings strings
|
|
51
41
|
|
|
52
42
|
var scriptureConfig_ = {
|
|
@@ -65,8 +55,7 @@ export function useScriptureResources(_ref) {
|
|
|
65
55
|
config: _objectSpread({
|
|
66
56
|
server: scriptureSettings_.server
|
|
67
57
|
}, httpConfig),
|
|
68
|
-
disableWordPopover: scriptureSettings_.disableWordPopover
|
|
69
|
-
wholeBook: wholeBook
|
|
58
|
+
disableWordPopover: scriptureSettings_.disableWordPopover
|
|
70
59
|
}; // @ts-ignore
|
|
71
60
|
|
|
72
61
|
var scriptureResource = useScripture(scriptureConfig_); // restore any default settings
|
|
@@ -81,4 +70,4 @@ export function useScriptureResources(_ref) {
|
|
|
81
70
|
return scriptureResource;
|
|
82
71
|
}
|
|
83
72
|
export default useScriptureResources;
|
|
84
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVSZXNvdXJjZXMudHN4Il0sIm5hbWVzIjpbInVzZVNjcmlwdHVyZSIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJ1c2VTY3JpcHR1cmVSZXNvdXJjZXMiLCJib29rSWQiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImNoYXB0ZXIiLCJ2ZXJzZSIsImlzTmV3VGVzdGFtZW50Iiwib3JpZ2luYWxSZXBvVXJsIiwiY3VycmVudExhbmd1YWdlSWQiLCJjdXJyZW50T3duZXIiLCJodHRwQ29uZmlnIiwiYXBwUmVmIiwic2NyaXB0dXJlU2V0dGluZ3NfIiwic2NyaXB0dXJlQ29uZmlnXyIsInJlZmVyZW5jZSIsInByb2plY3RJZCIsInJlc291cmNlIiwibGFuZ3VhZ2VJZCIsInJlc291cmNlSWQiLCJvd25lciIsInJlZiIsImJyYW5jaCIsInJlc291cmNlTGluayIsImNvbmZpZyIsInNlcnZlciIsImRpc2FibGVXb3JkUG9wb3ZlciIsInNjcmlwdHVyZVJlc291cmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLFNBQVNBLFlBQVQsUUFBNkIsSUFBN0I7QUFDQSxTQUFTQyw0QkFBVCxRQUE2Qyw0QkFBN0M7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLFNBQVNDLHFCQUFULE9BV0o7QUFBQSxNQVZEQyxNQVVDLFFBVkRBLE1BVUM7QUFBQSxNQVREQyxpQkFTQyxRQVREQSxpQkFTQztBQUFBLE1BUkRDLE9BUUMsUUFSREEsT0FRQztBQUFBLE1BUERDLEtBT0MsUUFQREEsS0FPQztBQUFBLE1BTkRDLGNBTUMsUUFOREEsY0FNQztBQUFBLE1BTERDLGVBS0MsUUFMREEsZUFLQztBQUFBLG1DQUpEQyxpQkFJQztBQUFBLE1BSkRBLGlCQUlDLHNDQUptQixJQUluQjtBQUFBLCtCQUhEQyxZQUdDO0FBQUEsTUFIREEsWUFHQyxrQ0FIYyxJQUdkO0FBQUEsNkJBRkRDLFVBRUM7QUFBQSxNQUZEQSxVQUVDLGdDQUZZLEVBRVo7QUFBQSx5QkFEREMsTUFDQztBQUFBLE1BRERBLE1BQ0MsNEJBRFEsUUFDUjtBQUNELE1BQU1DLGtCQUFrQixHQUFHWiw0QkFBNEIsQ0FBQ0UsTUFBRCxFQUFTQyxpQkFBVCxFQUE0QkcsY0FBNUIsRUFDckRDLGVBRHFELEVBQ3BDQyxpQkFEb0MsRUFDakJDLFlBRGlCLENBQXZELENBREMsQ0FFbUQ7O0FBRXBELE1BQU1JLGdCQUFnQixHQUFHO0FBQ3ZCQyxJQUFBQSxTQUFTLEVBQUU7QUFDVEMsTUFBQUEsU0FBUyxFQUFFYixNQURGO0FBRVRFLE1BQUFBLE9BQU8sRUFBRUEsT0FGQTtBQUdUQyxNQUFBQSxLQUFLLEVBQUVBO0FBSEUsS0FEWTtBQU12QlcsSUFBQUEsUUFBUSxFQUFFO0FBQ1JDLE1BQUFBLFVBQVUsRUFBRUwsa0JBQWtCLENBQUNLLFVBRHZCO0FBRVJGLE1BQUFBLFNBQVMsRUFBRUgsa0JBQWtCLENBQUNNLFVBRnRCO0FBR1JDLE1BQUFBLEtBQUssRUFBRVAsa0JBQWtCLENBQUNPLEtBSGxCO0FBSVJDLE1BQUFBLEdBQUcsRUFBRVIsa0JBQWtCLENBQUNRLEdBQW5CLElBQTBCUixrQkFBa0IsQ0FBQ1MsTUFBN0MsSUFBdURWO0FBSnBELEtBTmE7QUFZdkJXLElBQUFBLFlBQVksRUFBRVYsa0JBQWtCLENBQUNVLFlBWlY7QUFhdkJDLElBQUFBLE1BQU07QUFDSkMsTUFBQUEsTUFBTSxFQUFFWixrQkFBa0IsQ0FBQ1k7QUFEdkIsT0FFRGQsVUFGQyxDQWJpQjtBQWlCdkJlLElBQUFBLGtCQUFrQixFQUFFYixrQkFBa0IsQ0FBQ2E7QUFqQmhCLEdBQXpCLENBSkMsQ0F3QkQ7O0FBQ0EsTUFBTUMsaUJBQWlCLEdBQUczQixZQUFZLENBQUNjLGdCQUFELENBQXRDLENBekJDLENBMEJEOztBQUNBYSxFQUFBQSxpQkFBaUIsQ0FBQ0osWUFBbEIsR0FBaUNuQixpQkFBaUIsQ0FBQ21CLFlBQW5EOztBQUVBLE1BQUksQ0FBQ0ksaUJBQWlCLENBQUMsVUFBRCxDQUF0QixFQUFvQztBQUFFO0FBQ3BDQSxJQUFBQSxpQkFBaUIsQ0FBQyxVQUFELENBQWpCLEdBQWdDYixnQkFBZ0IsQ0FBQ0csUUFBakQ7QUFDRDs7QUFFRCxTQUFPVSxpQkFBUDtBQUNEO0FBRUQsZUFBZXpCLHFCQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU2NyaXB0dXJlIH0gZnJvbSAnLi4nXG5pbXBvcnQgeyBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzIH0gZnJvbSAnLi4vdXRpbHMvU2NyaXB0dXJlU2V0dGluZ3MnXG5cbi8qKlxuICogaG9vayB0byBnZXQgYSBzY3JpcHR1cmUgcmVzb3VyY2VcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5ncyAtIGluZm8gYWJvdXQgdGhlIHNjcmlwdHVyZSBiZWluZyByZWZlcmVuY2VkXG4gKiBAcGFyYW0ge3N0cmluZ30gY2hhcHRlclxuICogQHBhcmFtIHtzdHJpbmd9IHZlcnNlXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGlzTmV3VGVzdGFtZW50XG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsIC0gb3B0aW9uYWwgcGF0aCB0byByZXBvIGZvciBvcmlnaW5hbCBsYW5ndWFnZVxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtvYmplY3R9IGh0dHBDb25maWcgLSBvcHRpb25hbCBjb25maWcgc2V0dGluZ3MgZm9yIGZldGNoZXMgKHRpbWVvdXQsIGNhY2hlLCBldGMuKVxuICogQHBhcmFtIHtzdHJpbmd9IGFwcFJlZiAtIGFwcCBkZWZhdWx0LCBwb2ludHMgdG8gc3BlY2lmaWMgcmVmIHRoYXQgY291bGQgYmUgYSBicmFuY2ggb3IgdGFnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VTY3JpcHR1cmVSZXNvdXJjZXMoe1xuICBib29rSWQsXG4gIHNjcmlwdHVyZVNldHRpbmdzLFxuICBjaGFwdGVyLFxuICB2ZXJzZSxcbiAgaXNOZXdUZXN0YW1lbnQsXG4gIG9yaWdpbmFsUmVwb1VybCxcbiAgY3VycmVudExhbmd1YWdlSWQgPSBudWxsLFxuICBjdXJyZW50T3duZXIgPSBudWxsLFxuICBodHRwQ29uZmlnID0ge30sXG4gIGFwcFJlZiA9ICdtYXN0ZXInLFxufSkge1xuICBjb25zdCBzY3JpcHR1cmVTZXR0aW5nc18gPSBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKGJvb2tJZCwgc2NyaXB0dXJlU2V0dGluZ3MsIGlzTmV3VGVzdGFtZW50LFxuICAgIG9yaWdpbmFsUmVwb1VybCwgY3VycmVudExhbmd1YWdlSWQsIGN1cnJlbnRPd25lcikgLy8gY29udmVydCBhbnkgZGVmYXVsdCBzZXR0aW5ncyBzdHJpbmdzXG5cbiAgY29uc3Qgc2NyaXB0dXJlQ29uZmlnXyA9IHtcbiAgICByZWZlcmVuY2U6IHtcbiAgICAgIHByb2plY3RJZDogYm9va0lkLFxuICAgICAgY2hhcHRlcjogY2hhcHRlcixcbiAgICAgIHZlcnNlOiB2ZXJzZSxcbiAgICB9LFxuICAgIHJlc291cmNlOiB7XG4gICAgICBsYW5ndWFnZUlkOiBzY3JpcHR1cmVTZXR0aW5nc18ubGFuZ3VhZ2VJZCxcbiAgICAgIHByb2plY3RJZDogc2NyaXB0dXJlU2V0dGluZ3NfLnJlc291cmNlSWQsXG4gICAgICBvd25lcjogc2NyaXB0dXJlU2V0dGluZ3NfLm93bmVyLFxuICAgICAgcmVmOiBzY3JpcHR1cmVTZXR0aW5nc18ucmVmIHx8IHNjcmlwdHVyZVNldHRpbmdzXy5icmFuY2ggfHwgYXBwUmVmLFxuICAgIH0sXG4gICAgcmVzb3VyY2VMaW5rOiBzY3JpcHR1cmVTZXR0aW5nc18ucmVzb3VyY2VMaW5rLFxuICAgIGNvbmZpZzoge1xuICAgICAgc2VydmVyOiBzY3JpcHR1cmVTZXR0aW5nc18uc2VydmVyLFxuICAgICAgLi4uaHR0cENvbmZpZyxcbiAgICB9LFxuICAgIGRpc2FibGVXb3JkUG9wb3Zlcjogc2NyaXB0dXJlU2V0dGluZ3NfLmRpc2FibGVXb3JkUG9wb3ZlcixcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgY29uc3Qgc2NyaXB0dXJlUmVzb3VyY2UgPSB1c2VTY3JpcHR1cmUoc2NyaXB0dXJlQ29uZmlnXylcbiAgLy8gcmVzdG9yZSBhbnkgZGVmYXVsdCBzZXR0aW5nc1xuICBzY3JpcHR1cmVSZXNvdXJjZS5yZXNvdXJjZUxpbmsgPSBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmtcblxuICBpZiAoIXNjcmlwdHVyZVJlc291cmNlWydyZXNvdXJjZSddKSB7IC8vIGtlZXAgcmVzb3VyY2UgaWYgbm90IHJldHVybmVkXG4gICAgc2NyaXB0dXJlUmVzb3VyY2VbJ3Jlc291cmNlJ10gPSBzY3JpcHR1cmVDb25maWdfLnJlc291cmNlXG4gIH1cblxuICByZXR1cm4gc2NyaXB0dXJlUmVzb3VyY2Vcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlU2NyaXB0dXJlUmVzb3VyY2VzXG4iXX0=
|
|
@@ -114,9 +114,7 @@ export function useScriptureSettings(_ref) {
|
|
|
114
114
|
setUrlError = _ref.setUrlError,
|
|
115
115
|
httpConfig = _ref.httpConfig,
|
|
116
116
|
greekRepoUrl = _ref.greekRepoUrl,
|
|
117
|
-
hebrewRepoUrl = _ref.hebrewRepoUrl
|
|
118
|
-
_ref$wholeBook = _ref.wholeBook,
|
|
119
|
-
wholeBook = _ref$wholeBook === void 0 ? false : _ref$wholeBook;
|
|
117
|
+
hebrewRepoUrl = _ref.hebrewRepoUrl;
|
|
120
118
|
var isNewTestament = isNT(bookId);
|
|
121
119
|
var scriptureDefaultSettings = getScriptureObject({
|
|
122
120
|
title: title,
|
|
@@ -194,8 +192,7 @@ export function useScriptureSettings(_ref) {
|
|
|
194
192
|
currentLanguageId: languageId,
|
|
195
193
|
currentOwner: owner,
|
|
196
194
|
httpConfig: httpConfig,
|
|
197
|
-
appRef: appRef
|
|
198
|
-
wholeBook: wholeBook
|
|
195
|
+
appRef: appRef
|
|
199
196
|
});
|
|
200
197
|
/**
|
|
201
198
|
* make sure that bookId or projectId are not embedded in link.
|
|
@@ -375,12 +372,10 @@ export function useScriptureSettings(_ref) {
|
|
|
375
372
|
};
|
|
376
373
|
|
|
377
374
|
return {
|
|
378
|
-
isNewTestament: isNewTestament,
|
|
379
375
|
scriptureConfig: scriptureConfig,
|
|
380
376
|
setScripture: setScripture,
|
|
381
|
-
scriptureVersionHist: scriptureVersionHist
|
|
382
|
-
scriptureSettings: scriptureSettings
|
|
377
|
+
scriptureVersionHist: scriptureVersionHist
|
|
383
378
|
};
|
|
384
379
|
}
|
|
385
380
|
export default useScriptureSettings;
|
|
386
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVTZXR0aW5ncy50c3giXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJjb3JlIiwiaXNFcXVhbCIsIktFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlkiLCJTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSIsIklOVkFMSURfUkVQT19VUkxfRVJST1IiLCJJTlZBTElEX1VSTCIsIk1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1IiLCJOVF9PUklHX0xBTkdfQklCTEUiLCJOVF9PUklHX0xBTkciLCJPUklHSU5BTF9TT1VSQ0UiLCJPVF9PUklHX0xBTkdfQklCTEUiLCJPVF9PUklHX0xBTkciLCJSRVBPX05PVF9GT1VORF9FUlJPUiIsIlJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUiIsInNldExvY2FsU3RvcmFnZVZhbHVlIiwicGFyc2VSZXNvdXJjZU1hbmlmZXN0IiwidmFsaWRhdGVEY3NVcmwiLCJnZXRSZXNvdXJjZUxpbmsiLCJnZXRTY3JpcHR1cmVPYmplY3QiLCJnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzIiwidXNlU2NyaXB0dXJlUmVzb3VyY2VzIiwiS0VZX1NFVFRJTkdTX0JBU0UiLCJLRVlfVEFSR0VUX0JBU0UiLCJmaXhTY3JpcHR1cmVTZXR0aW5ncyIsInZlcnNpb25IaXN0Iiwic2NyaXB0dXJlU2V0dGluZ3MiLCJsYW5ndWFnZUlkIiwiY2FyZE51bSIsIm93bmVyIiwicmVzb3VyY2VJZCIsIm5ld1NjcmlwdHVyZVNldHRpbmdzIiwicmVzb3VyY2VMaW5rIiwiYWRkSXRlbVRvSGlzdG9yeSIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJtb2RpZmllZCIsImkiLCJsZW5ndGgiLCJpdGVtIiwiaiIsIm1hdGNoX2l0ZW0iLCJtYXRjaF9yZXNvdXJjZUlkIiwicmVmIiwic2VydmVyIiwic3BsaWNlIiwic2F2ZUhpc3RvcnkiLCJpc1NjcmlwdHVyZVJlc291cmNlIiwic3ViamVjdCIsIkJpYmxlUmVzb3VyY2VzIiwiaXNTY3JpcHR1cmUiLCJpbmNsdWRlcyIsInVzZVNjcmlwdHVyZVNldHRpbmdzIiwiaXNOVCIsInRpdGxlIiwiY2hhcHRlciIsInZlcnNlIiwiYm9va0lkIiwiYXBwUmVmIiwidXNlVXNlckxvY2FsU3RvcmFnZSIsImRpc2FibGVXb3JkUG9wb3ZlciIsIm9yaWdpbmFsTGFuZ3VhZ2VPd25lciIsInNldFVybEVycm9yIiwiaHR0cENvbmZpZyIsImdyZWVrUmVwb1VybCIsImhlYnJld1JlcG9VcmwiLCJ3aG9sZUJvb2siLCJpc05ld1Rlc3RhbWVudCIsInNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncyIsInZlcnNpb25IaXN0b3J5Iiwic2F2ZVZlcnNpb25IaXN0IiwicmVmcmVzaFZlcnNpb25IaXN0Iiwic2NyaXB0dXJlVmVyc2lvbkhpc3QiLCJzZXRTY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJzZXRUYXJnZXQiLCJjbGVhblVwIiwic2V0Q2xlYW5VcCIsIm9sZERlZmF1bHRTZXR0aW5ncyIsInJlbW92ZUl0ZW0iLCJvcmlnaW5hbFJlcG9VcmwiLCJzY3JpcHR1cmVDb25maWciLCJjdXJyZW50TGFuZ3VhZ2VJZCIsImN1cnJlbnRPd25lciIsImNsZWFuUmVzb3VyY2VMaW5rIiwicmVzb3VyY2VMaW5rXyIsInJlc291cmNlTGlua3MiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsInNldFNjcmlwdHVyZSIsInZhbGlkYXRpb25DQiIsInVybCIsIm5ld1VybCIsInBhcnRzIiwiaG9zdG5hbWUiLCJVUkwiLCJjb25zb2xlIiwibG9nIiwicmVtb3ZlVXJsIiwic2VydmVyXyIsInBvcnQiLCJ1cmxfIiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwicmVmZXJlbmNlIiwicHJvamVjdElkIiwiY29uZmlnIiwiY2FjaGUiLCJtYXhBZ2UiLCJ0aGVuIiwicmVzb3VyY2UiLCJlcnJvciIsIm5ld1NjcmlwdHVyZSIsInZlcnNpb24iLCJ3YXJuIiwidXNlcm5hbWUi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QUFHbkcsb0JBQVI7QUFDRCxXQUZNLE1BRUE7QUFDTG1HLFlBQUFBLEtBQUssR0FBRzNHLHNCQUFSO0FBQ0Q7QUFDRjs7QUFDRHlELFFBQUFBLFdBQVcsQ0FBQ2tELEtBQUQsQ0FBWDtBQUNBcEIsUUFBQUEsWUFBWSxJQUFJQSxZQUFZLENBQUMsQ0FBQ29CLEtBQUYsRUFBU0MsWUFBVCxDQUE1QjtBQUNELE9BbEVEO0FBbUVELEtBNUZELE1BNEZPO0FBQUU7QUFDUG5ELE1BQUFBLFdBQVcsQ0FBQyxJQUFELENBQVgsQ0FESyxDQUNhOztBQUNsQlcsTUFBQUEsb0JBQW9CLENBQUNsQyxJQUFELENBQXBCO0FBQ0FxRCxNQUFBQSxZQUFZLElBQUlBLFlBQVksQ0FBQyxJQUFELENBQTVCO0FBQ0Q7QUFDRixHQTNIRDs7QUE2SEEsU0FBTztBQUNMekIsSUFBQUEsY0FBYyxFQUFkQSxjQURLO0FBRUxlLElBQUFBLGVBQWUsRUFBZkEsZUFGSztBQUdMUyxJQUFBQSxZQUFZLEVBQVpBLFlBSEs7QUFJTG5CLElBQUFBLG9CQUFvQixFQUFwQkEsb0JBSks7QUFLTDlDLElBQUFBLGlCQUFpQixFQUFqQkE7QUFMSyxHQUFQO0FBT0Q7QUFFRCxlQUFlMEIsb0JBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjb3JlIH0gZnJvbSAnc2NyaXB0dXJlLXJlc291cmNlcy1yY2wnXG5pbXBvcnQgKiBhcyBpc0VxdWFsIGZyb20gJ2RlZXAtZXF1YWwnXG5pbXBvcnQgeyBLRVlfU0NSSVBUVVJFX1ZFUl9ISVNUT1JZLCBTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSB9IGZyb20gJy4uL3V0aWxzL1NjcmlwdHVyZVZlcnNpb25IaXN0b3J5J1xuaW1wb3J0IHtcbiAgSU5WQUxJRF9SRVBPX1VSTF9FUlJPUixcbiAgSU5WQUxJRF9VUkwsXG4gIE1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1IsXG4gIE5UX09SSUdfTEFOR19CSUJMRSxcbiAgTlRfT1JJR19MQU5HLFxuICBPUklHSU5BTF9TT1VSQ0UsXG4gIE9UX09SSUdfTEFOR19CSUJMRSxcbiAgT1RfT1JJR19MQU5HLFxuICBSRVBPX05PVF9GT1VORF9FUlJPUixcbiAgUkVQT19OT1RfU0NSSVBUVVJFX0VSUk9SLFxuICBzZXRMb2NhbFN0b3JhZ2VWYWx1ZSxcbiAgcGFyc2VSZXNvdXJjZU1hbmlmZXN0LFxuICB2YWxpZGF0ZURjc1VybCxcbn0gZnJvbSAnLi4nXG5pbXBvcnQge1xuICBnZXRSZXNvdXJjZUxpbmssXG4gIGdldFNjcmlwdHVyZU9iamVjdCxcbiAgZ2V0U2NyaXB0dXJlUmVzb3VyY2VTZXR0aW5ncyxcbn0gZnJvbSAnLi4vdXRpbHMvU2NyaXB0dXJlU2V0dGluZ3MnXG5pbXBvcnQgdXNlU2NyaXB0dXJlUmVzb3VyY2VzIGZyb20gJy4vdXNlU2NyaXB0dXJlUmVzb3VyY2VzJ1xuXG5jb25zdCBLRVlfU0VUVElOR1NfQkFTRSA9ICdzY3JpcHR1cmVQYW5lQ29uZmlnXydcbmNvbnN0IEtFWV9UQVJHRVRfQkFTRSA9ICdzY3JpcHR1cmVQYW5lVGFyZ2V0XydcblxuZnVuY3Rpb24gZml4U2NyaXB0dXJlU2V0dGluZ3ModmVyc2lvbkhpc3QsIHNjcmlwdHVyZVNldHRpbmdzLCBsYW5ndWFnZUlkLCBjYXJkTnVtLCBvd25lcikge1xuICAvLyBjbGVhbiB1cCBoYXJkLWNvZGVkIG9yaWdpbmFsIHNvdXJjZXNcbiAgaWYgKChzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID09PSBOVF9PUklHX0xBTkdfQklCTEUpIHx8IChzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID09PSBPVF9PUklHX0xBTkdfQklCTEUpKSB7XG4gICAgaWYgKChzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkICE9PSBOVF9PUklHX0xBTkcpICYmIChzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkICE9PSBPVF9PUklHX0xBTkcpKSB7IC8vIGlmIHRoaXMgaXMgdHJhY2sgd2l0aCBjdXJyZW50IHNlbGVjdGVkIGxhbmd1YWdlIGFuZCB0ZXN0YW1lbnQgb2YgYm9va1xuICAgICAgY29uc3QgbmV3U2NyaXB0dXJlU2V0dGluZ3MgPSB7IC4uLnNjcmlwdHVyZVNldHRpbmdzIH1cbiAgICAgIG5ld1NjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBsYW5ndWFnZUlkXG4gICAgICBuZXdTY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gT1JJR0lOQUxfU09VUkNFXG4gICAgICBuZXdTY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IG93bmVyXG4gICAgICBuZXdTY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsobmV3U2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgICBzZXRMb2NhbFN0b3JhZ2VWYWx1ZShLRVlfU0VUVElOR1NfQkFTRSArIGNhcmROdW0sIG5ld1NjcmlwdHVyZVNldHRpbmdzKVxuICAgICAgdmVyc2lvbkhpc3QuYWRkSXRlbVRvSGlzdG9yeShuZXdTY3JpcHR1cmVTZXR0aW5ncylcbiAgICB9XG4gIH1cblxuICAvLyBjbGVhbiBoaXN0b3J5IG9mIG9yaWdpbmFsIHNvdXJjZXNcbiAgbGV0IGhpc3RvcnkgPSB2ZXJzaW9uSGlzdC5nZXRMYXRlc3QoKSB8fCBbXVxuICBsZXQgbW9kaWZpZWQgPSBmYWxzZVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaGlzdG9yeS5sZW5ndGg7IGkrKykgeyAvLyBzZWFyY2ggZm9yIG9yaWdpbmFsIHNvdXJjZSBkdXBsaWNhdGVzIGluIGhpc3RvcnlcbiAgICBjb25zdCBpdGVtID0gaGlzdG9yeVtpXVxuICAgIGNvbnN0IHJlc291cmNlSWQgPSBpdGVtLnJlc291cmNlSWRcblxuICAgIGlmICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSkge1xuICAgICAgZm9yICggbGV0IGogPSBpICsgMTsgaiA8IGhpc3RvcnkubGVuZ3RoOyBqKyspIHsgLy8gc2VhcmNoIHJlc3Qgb2YgbGlzdCBmb3IgZHVwbGljYXRlcyBvZiBpdGVtIGF0IGlcbiAgICAgICAgY29uc3QgbWF0Y2hfaXRlbSA9IGhpc3Rvcnlbal1cbiAgICAgICAgY29uc3QgbWF0Y2hfcmVzb3VyY2VJZCA9IG1hdGNoX2l0ZW0ucmVzb3VyY2VJZFxuXG4gICAgICAgIGlmICgobWF0Y2hfcmVzb3VyY2VJZCA9PT0gcmVzb3VyY2VJZCkpIHtcbiAgICAgICAgICBpZiAoKGl0ZW0ub3duZXIgPT09IG1hdGNoX2l0ZW0ub3duZXIpICYmXG4gICAgICAgICAgICAoaXRlbS5yZWYgPT09IG1hdGNoX2l0ZW0ucmVmKSAmJlxuICAgICAgICAgICAgKGl0ZW0uc2VydmVyID09PSBtYXRjaF9pdGVtLnNlcnZlcikgJiZcbiAgICAgICAgICAgIChpdGVtLnJlc291cmNlSWQgPT09IG1hdGNoX2l0ZW0ucmVzb3VyY2VJZCkpIHtcbiAgICAgICAgICAgIGhpc3Rvcnkuc3BsaWNlKGosIDEpIC8vIHJlbW92ZSBkdXBsaWNhdGUgaXRlbVxuICAgICAgICAgICAgbW9kaWZpZWQgPSB0cnVlXG4gICAgICAgICAgICBqLS0gLy8gYmFjayB1cCBpbmRleCBzaW5jZSBjb250ZW50cyBzaGlmdGVkXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKG1vZGlmaWVkKSB7XG4gICAgdmVyc2lvbkhpc3Quc2F2ZUhpc3RvcnkoaGlzdG9yeSlcbiAgfVxufVxuXG5mdW5jdGlvbiBpc1NjcmlwdHVyZVJlc291cmNlKHN1YmplY3QpIHtcbiAgY29uc3QgQmlibGVSZXNvdXJjZXMgPSBbICdCaWJsZScsICdBbGlnbmVkIEJpYmxlJywgJ0dyZWVrIE5ldyBUZXN0YW1lbnQnLCAnSGVicmV3IE9sZCBUZXN0YW1lbnQnIF1cbiAgY29uc3QgaXNTY3JpcHR1cmUgPSBCaWJsZVJlc291cmNlcy5pbmNsdWRlcyhzdWJqZWN0KVxuICByZXR1cm4gaXNTY3JpcHR1cmVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNjcmlwdHVyZVNldHRpbmdzKHtcbiAgaXNOVCxcbiAgdGl0bGUsXG4gIGNhcmROdW0sXG4gIGNoYXB0ZXIsXG4gIHZlcnNlLFxuICBib29rSWQsXG4gIG93bmVyLFxuICBzZXJ2ZXIsXG4gIGFwcFJlZixcbiAgbGFuZ3VhZ2VJZCxcbiAgcmVzb3VyY2VJZCxcbiAgcmVzb3VyY2VMaW5rLFxuICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgc2V0VXJsRXJyb3IsXG4gIGh0dHBDb25maWcsXG4gIGdyZWVrUmVwb1VybCxcbiAgaGVicmV3UmVwb1VybCxcbiAgd2hvbGVCb29rID0gZmFsc2UsXG59KSB7XG4gIGNvbnN0IGlzTmV3VGVzdGFtZW50ID0gaXNOVChib29rSWQpXG4gIGNvbnN0IHNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncyA9IGdldFNjcmlwdHVyZU9iamVjdCh7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIHJlZjogYXBwUmVmLFxuICAgIGxhbmd1YWdlSWQsXG4gICAgcmVzb3VyY2VJZCxcbiAgICByZXNvdXJjZUxpbmssXG4gICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgfSlcbiAgY29uc3QgW3ZlcnNpb25IaXN0b3J5LCBzYXZlVmVyc2lvbkhpc3QsIHJlZnJlc2hWZXJzaW9uSGlzdF0gPSB1c2VVc2VyTG9jYWxTdG9yYWdlKEtFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlksIFtdKVxuICBjb25zdCBzY3JpcHR1cmVWZXJzaW9uSGlzdCA9IG5ldyBTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSh2ZXJzaW9uSGlzdG9yeSwgc2F2ZVZlcnNpb25IaXN0LCByZWZyZXNoVmVyc2lvbkhpc3QpXG5cbiAgbGV0IFtzY3JpcHR1cmVTZXR0aW5ncywgc2V0U2NyaXB0dXJlU2V0dGluZ3NdID0gdXNlVXNlckxvY2FsU3RvcmFnZShLRVlfU0VUVElOR1NfQkFTRSArIGNhcmROdW0sIHNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncylcbiAgY29uc3QgY3VycmVudFRhcmdldCA9IHtcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgfVxuICBjb25zdCBbdGFyZ2V0LCBzZXRUYXJnZXRdID0gdXNlVXNlckxvY2FsU3RvcmFnZShLRVlfVEFSR0VUX0JBU0UgKyBjYXJkTnVtLCBjdXJyZW50VGFyZ2V0KVxuICBjb25zdCBbY2xlYW5VcCwgc2V0Q2xlYW5VcF0gPSB1c2VTdGF0ZSh0cnVlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxhbmd1YWdlSWQgJiYgb3duZXIpIHsgLy8gbWFrZSBzdXJlIHdlIGhhdmUgbGFuZ3VhZ2VJZCBhbmQgb3duZXIgc2VsZWN0ZWQgZmlyc3RcbiAgICAgIGlmIChjbGVhblVwKSB7IC8vIGRvIGluaXRpYWwgY2xlYW51cFxuICAgICAgICBmaXhTY3JpcHR1cmVTZXR0aW5ncyhzY3JpcHR1cmVWZXJzaW9uSGlzdCwgc2NyaXB0dXJlU2V0dGluZ3MsIGxhbmd1YWdlSWQsIGNhcmROdW0sIG93bmVyKVxuICAgICAgICBzZXRDbGVhblVwKGZhbHNlKVxuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRXF1YWwoY3VycmVudFRhcmdldCwgdGFyZ2V0KSkgeyAvLyB3aGVuIHRhcmdldCBjaGFuZ2VzLCBzd2l0Y2ggYmFjayB0byBkZWZhdWx0c1xuICAgICAgICBjb25zdCBvbGREZWZhdWx0U2V0dGluZ3MgPSB7IC4uLnNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncywgLi4udGFyZ2V0IH1cbiAgICAgICAgb2xkRGVmYXVsdFNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhvbGREZWZhdWx0U2V0dGluZ3MpXG4gICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LnJlbW92ZUl0ZW0ob2xkRGVmYXVsdFNldHRpbmdzKSAvLyByZW1vdmUgb2xkIGRlZmF1bHQgc2V0dGluZ3MgZnJvbSBoaXN0b3J5XG4gICAgICAgIGZpeFNjcmlwdHVyZVNldHRpbmdzKHNjcmlwdHVyZVZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpXG5cbiAgICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3Moc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzKVxuICAgICAgICBzZXRUYXJnZXQoY3VycmVudFRhcmdldClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3Rvcnkoc2NyaXB0dXJlU2V0dGluZ3MpIC8vIG1ha2Ugc3VyZSBjdXJyZW50IHNjcmlwdHVyZSB2ZXJzaW9uIHBlcnNpc3RlZCBpbiBoaXN0b3J5XG4gICAgICB9XG4gICAgfVxuICB9LCBbbGFuZ3VhZ2VJZCwgb3duZXIsIGNsZWFuVXBdKVxuXG4gIGNvbnN0IG9yaWdpbmFsUmVwb1VybCA9IGlzTmV3VGVzdGFtZW50ID8gZ3JlZWtSZXBvVXJsIDogaGVicmV3UmVwb1VybFxuICBjb25zdCBzY3JpcHR1cmVDb25maWcgPSB1c2VTY3JpcHR1cmVSZXNvdXJjZXMoe1xuICAgIGJvb2tJZCxcbiAgICBzY3JpcHR1cmVTZXR0aW5ncyxcbiAgICBjaGFwdGVyLFxuICAgIHZlcnNlLFxuICAgIGlzTmV3VGVzdGFtZW50LFxuICAgIG9yaWdpbmFsUmVwb1VybCxcbiAgICBjdXJyZW50TGFuZ3VhZ2VJZDogbGFuZ3VhZ2VJZCxcbiAgICBjdXJyZW50T3duZXI6IG93bmVyLFxuICAgIGh0dHBDb25maWcsXG4gICAgYXBwUmVmLFxuICAgIHdob2xlQm9vayxcbiAgfSlcblxuICAvKipcbiAgICogbWFrZSBzdXJlIHRoYXQgYm9va0lkIG9yIHByb2plY3RJZCBhcmUgbm90IGVtYmVkZGVkIGluIGxpbmsuXG4gICAqICAgIEZvciBleGFtcGxlIGluIGBydV9nbC9ydS9yc29iL21hc3Rlci9oZWJgIHRoZSBwcm9qZWN0SWQgaGViIGlzIGluIHRoZSBsaW5rIGFuZCB3aWxsIG92ZXJyaWRlIHRoZVxuICAgKiAgICBwcm9qZWN0SWQgaW4gdGhlIHJlZmVyZW5jZSB3aGVuIHdlIHRyeSB0byBmZXRjaCBsYXRlclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVzb3VyY2VMaW5rXG4gICAqIEByZXR1cm4ge3N0cmluZ30gLSBjbGVhbmVkIHVwIHJlc291cmNlIGxpbmtcbiAgICovXG4gIGZ1bmN0aW9uIGNsZWFuUmVzb3VyY2VMaW5rKHJlc291cmNlTGluaykge1xuICAgIGxldCByZXNvdXJjZUxpbmtfID0gcmVzb3VyY2VMaW5rXG4gICAgY29uc3QgcmVzb3VyY2VMaW5rcyA9IHJlc291cmNlTGlua18/LnNwbGl0KCcvJylcblxuICAgIGlmIChyZXNvdXJjZUxpbmtzPy5sZW5ndGggPiA0KSB7IC8vIGlmIHRvbyBtYW55IGZpZWxkcywgdGhlbiB0cmltXG4gICAgICByZXNvdXJjZUxpbmtfID0gcmVzb3VyY2VMaW5rcz8uc2xpY2UoMCwgNCkuam9pbignLycpXG4gICAgfVxuICAgIHJldHVybiByZXNvdXJjZUxpbmtfXG4gIH1cblxuICAvKipcbiAgICogY2FsbGJhY2sgdG8gZWl0aGVyIGFkZCBuZXcgc2NyaXB0dXJlIGl0ZW0gb3Igc2VsZWN0IGV4aXN0aW5nIGl0ZW0gaW4gaGlzdG9yeVxuICAgKiBAcGFyYW0ge29iamVjdH0gaXRlbSAtIG5ldyBpdGVtIHRvIGFkZCBvciBleGlzdGluZyBpdGVtIHRvIHNlbGVjdCBmcm9tIGhpc3RvcnlcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gdmFsaWRhdGlvbkNCIC0gY2FsbGJhY2sgZnVuY3Rpb24gdG8gcGFzcyBiYWNrIGlmIGl0ZW0gdXJsIHdhcyB2YWxpZCBvciBub3RcbiAgICovXG4gIGNvbnN0IHNldFNjcmlwdHVyZSA9IChpdGVtLCB2YWxpZGF0aW9uQ0IgPSBudWxsKSA9PiB7XG4gICAgbGV0IHVybFxuICAgIGxldCBuZXdVcmwgPSBpdGVtPy51cmxcblxuICAgIGlmIChuZXdVcmwpIHtcbiAgICAgIHNldFVybEVycm9yKG51bGwpIC8vIGNsZWFyIHByZXZpb3VzIHdhcm5pbmdzXG5cbiAgICAgIC8vIGhhbmRsZTogYGdpdEBnaXQuZG9vcjQzLm9yZzp1bmZvbGRpbmdXb3JkL2VuX3VsdC5naXRgXG4gICAgICAvLyAgICBieSBtYXBwaW5nIHRvIGh0dHBzIGdpdCBmZXRjaCB1cmwgKGUuZy4gaHR0cHM6Ly9naXQuZG9vcjQzLm9yZzp1bmZvbGRpbmdXb3JkL2VuX3VsdC5naXQpXG4gICAgICBpZiAobmV3VXJsPy5pbmNsdWRlcygnZ2l0QCcpKSB7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gbmV3VXJsPy5zcGxpdCgnOicpXG4gICAgICAgIGNvbnN0IFssIGhvc3RuYW1lXSA9IHBhcnRzWzBdLnNwbGl0KCdAJylcbiAgICAgICAgbmV3VXJsID0gYGh0dHBzOi8vJHtob3N0bmFtZX0vJHtwYXJ0cy5zbGljZSgxKS5qb2luKCc6Jyl9YFxuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICB1cmwgPSBuZXcgVVJMKG5ld1VybClcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICBjb25zb2xlLmxvZygnaWxsZWdhbCB1cmwnLCBpdGVtLnVybClcbiAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QucmVtb3ZlVXJsKGl0ZW0udXJsKVxuICAgICAgICBzZXRVcmxFcnJvcihJTlZBTElEX1VSTClcbiAgICAgICAgdmFsaWRhdGlvbkNCICYmIHZhbGlkYXRpb25DQihmYWxzZSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHVybCkge1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcbiAgICAgIGxldCBzZXJ2ZXJfXG4gICAgICBsZXQgaG9zdG5hbWUgPSB1cmwuaG9zdG5hbWVcblxuICAgICAgaWYgKGhvc3RuYW1lKSB7XG4gICAgICAgIGlmIChob3N0bmFtZSA9PT0gYGRvb3I0My5vcmdgKSB7XG4gICAgICAgICAgLy8gaGFuZGxlIGNhc2Ugb2YgbGluayB0byBkNDMgcmVhZGVyIHBhZ2UgKGUuZy4gaHR0cHM6Ly9kb29yNDMub3JnL3UvdW5mb2xkaW5nV29yZC9lbl91bHQvKVxuICAgICAgICAgIGhvc3RuYW1lID0gJ2dpdC4nICsgaG9zdG5hbWUgLy8gcmVkaXJlY3QgdG8gZ2l0IHJlcG9cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1cmwucG9ydCkge1xuICAgICAgICAgIGhvc3RuYW1lICs9ICc6JyArIHVybC5wb3J0XG4gICAgICAgIH1cbiAgICAgICAgc2VydmVyXyA9ICdodHRwczovLycgKyBob3N0bmFtZVxuICAgICAgfVxuXG4gICAgICBsZXQgdXJsXyA9IG5ld1VybFxuXG4gICAgICBpZiAoIXVybCkgeyAvLyBpZiBub3QgYSBuZXcgcmVzb3VyY2VcbiAgICAgICAgc2NyaXB0dXJlU2V0dGluZ3MgPSBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKHJlc291cmNlSWQsIGJvb2tJZCwgaXNOZXdUZXN0YW1lbnQsIG9yaWdpbmFsUmVwb1VybCkgLy8gY29udmVydCBhbnkgZGVmYXVsdCBzZXR0aW5ncyBzdHJpbmdzXG4gICAgICAgIHVybF8gPSBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmtcbiAgICAgIH1cblxuICAgICAgLy8gbWFrZSBzdXJlIGl0IGV4aXN0c1xuICAgICAgY29yZS5yZXNvdXJjZUZyb21SZXNvdXJjZUxpbmsoe1xuICAgICAgICByZXNvdXJjZUxpbms6IHVybF8sXG4gICAgICAgIHJlZmVyZW5jZToge1xuICAgICAgICAgIHByb2plY3RJZDogYm9va0lkLFxuICAgICAgICAgIGNoYXB0ZXI6IGNoYXB0ZXIsXG4gICAgICAgICAgdmVyc2U6IHZlcnNlLFxuICAgICAgICB9LFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBzZXJ2ZXI6IHNlcnZlcl8sXG4gICAgICAgICAgY2FjaGU6IHsgbWF4QWdlOiAxICogNjAgKiA2MCAqIDEwMDAgfSwgLy8gMSBoclxuICAgICAgICB9LFxuICAgICAgfSkudGhlbihyZXNvdXJjZSA9PiB7XG4gICAgICAgIGxldCBlcnJvciA9IFJFUE9fTk9UX0ZPVU5EX0VSUk9SXG4gICAgICAgIGxldCBuZXdTY3JpcHR1cmUgPSBudWxsXG5cbiAgICAgICAgaWYgKHJlc291cmNlKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgICAgc3ViamVjdCxcbiAgICAgICAgICB9ID0gcGFyc2VSZXNvdXJjZU1hbmlmZXN0KHJlc291cmNlKVxuICAgICAgICAgIGNvbnN0IGlzU2NyaXB0dXJlID0gaXNTY3JpcHR1cmVSZXNvdXJjZShzdWJqZWN0KVxuXG4gICAgICAgICAgaWYgKCFpc1NjcmlwdHVyZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGB1c2VTY3JpcHR1cmVTZXR0aW5ncy5zZXRTY3JpcHR1cmUgLSBVUkwgaXMgbm90IGEgc2NyaXB0dXJlIHJlc291cmNlOiAke3VybF99YClcbiAgICAgICAgICAgIGVycm9yID0gUkVQT19OT1RfU0NSSVBUVVJFX0VSUk9SXG4gICAgICAgICAgfSBlbHNlIGlmICh0aXRsZSAmJiB2ZXJzaW9uKSB7XG4gICAgICAgICAgICAvLyB3ZSBzdWNjZWVkZWQgaW4gZ2V0dGluZyByZXNvdXJjZSAtIHVzZSBpdFxuICAgICAgICAgICAgbmV3U2NyaXB0dXJlID0gZ2V0U2NyaXB0dXJlT2JqZWN0KHtcbiAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgIHNlcnZlcjogc2VydmVyXyxcbiAgICAgICAgICAgICAgb3duZXI6IHJlc291cmNlLnVzZXJuYW1lLFxuICAgICAgICAgICAgICByZWY6IHJlc291cmNlLnJlZiB8fCAnbWFzdGVyJyxcbiAgICAgICAgICAgICAgbGFuZ3VhZ2VJZDogcmVzb3VyY2UubGFuZ3VhZ2VJZCxcbiAgICAgICAgICAgICAgcmVzb3VyY2VJZDogcmVzb3VyY2UucmVzb3VyY2VJZCxcbiAgICAgICAgICAgICAgcmVzb3VyY2VMaW5rOiBjbGVhblJlc291cmNlTGluayhyZXNvdXJjZT8ucmVzb3VyY2VMaW5rKSxcbiAgICAgICAgICAgICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgICAgICAgICAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgbmV3U2NyaXB0dXJlWyd1c2VyQWRkZWQnXSA9IHRydWVcbiAgICAgICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3U2NyaXB0dXJlKSAvLyBwZXJzaXN0IGluIGxvY2FsIHN0b3JhZ2VcbiAgICAgICAgICAgIHNldFNjcmlwdHVyZVNldHRpbmdzKG5ld1NjcmlwdHVyZSlcbiAgICAgICAgICAgIGVycm9yID0gbnVsbCAvLyBubyBlcnJvclxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdlcnJvciBwYXJzaW5nIG1hbmlmZXN0JywgaXRlbS51cmwpXG4gICAgICAgICAgICBlcnJvciA9IE1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1JcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignbm90IGZvdW5kJywgaXRlbS51cmwpXG4gICAgICAgIH1cbiAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QucmVtb3ZlVXJsKGl0ZW0udXJsKVxuXG4gICAgICAgIGlmIChlcnJvciA9PT0gUkVQT19OT1RfRk9VTkRfRVJST1IpIHsgLy8gaWYgZ2VuZXJpYyBlcnJvciwgdmFsaWRhdGUgdGhlIFVSTFxuICAgICAgICAgIGNvbnN0IHsgdmFsaWRVcmwsIHZhbGlkUmVwb1BhdGggfSA9IHZhbGlkYXRlRGNzVXJsKGl0ZW0udXJsKVxuXG4gICAgICAgICAgaWYgKCF2YWxpZFVybCkge1xuICAgICAgICAgICAgZXJyb3IgPSBJTlZBTElEX1VSTFxuICAgICAgICAgIH0gZWxzZSBpZiAodmFsaWRSZXBvUGF0aCkge1xuICAgICAgICAgICAgZXJyb3IgPSBSRVBPX05PVF9GT1VORF9FUlJPUlxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvciA9IElOVkFMSURfUkVQT19VUkxfRVJST1JcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc2V0VXJsRXJyb3IoZXJyb3IpXG4gICAgICAgIHZhbGlkYXRpb25DQiAmJiB2YWxpZGF0aW9uQ0IoIWVycm9yLCBuZXdTY3JpcHR1cmUpXG4gICAgICB9KVxuICAgIH0gZWxzZSB7IC8vIHNlbGVjdGVkIGEgcHJldmlvdXMgc2V0dGluZ1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcbiAgICAgIHNldFNjcmlwdHVyZVNldHRpbmdzKGl0ZW0pXG4gICAgICB2YWxpZGF0aW9uQ0IgJiYgdmFsaWRhdGlvbkNCKHRydWUpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBzY3JpcHR1cmVDb25maWcsXG4gICAgc2V0U2NyaXB0dXJlLFxuICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LFxuICAgIHNjcmlwdHVyZVNldHRpbmdzLFxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVNjcmlwdHVyZVNldHRpbmdzXG4iXX0=
|
|
381
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVTZXR0aW5ncy50c3giXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJjb3JlIiwiaXNFcXVhbCIsIktFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlkiLCJTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSIsIklOVkFMSURfUkVQT19VUkxfRVJST1IiLCJJTlZBTElEX1VSTCIsIk1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1IiLCJOVF9PUklHX0xBTkdfQklCTEUiLCJOVF9PUklHX0xBTkciLCJPUklHSU5BTF9TT1VSQ0UiLCJPVF9PUklHX0xBTkdfQklCTEUiLCJPVF9PUklHX0xBTkciLCJSRVBPX05PVF9GT1VORF9FUlJPUiIsIlJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUiIsInNldExvY2FsU3RvcmFnZVZhbHVlIiwicGFyc2VSZXNvdXJjZU1hbmlmZXN0IiwidmFsaWRhdGVEY3NVcmwiLCJnZXRSZXNvdXJjZUxpbmsiLCJnZXRTY3JpcHR1cmVPYmplY3QiLCJnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzIiwidXNlU2NyaXB0dXJlUmVzb3VyY2VzIiwiS0VZX1NFVFRJTkdTX0JBU0UiLCJLRVlfVEFSR0VUX0JBU0UiLCJmaXhTY3JpcHR1cmVTZXR0aW5ncyIsInZlcnNpb25IaXN0Iiwic2NyaXB0dXJlU2V0dGluZ3MiLCJsYW5ndWFnZUlkIiwiY2FyZE51bSIsIm93bmVyIiwicmVzb3VyY2VJZCIsIm5ld1NjcmlwdHVyZVNldHRpbmdzIiwicmVzb3VyY2VMaW5rIiwiYWRkSXRlbVRvSGlzdG9yeSIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJtb2RpZmllZCIsImkiLCJsZW5ndGgiLCJpdGVtIiwiaiIsIm1hdGNoX2l0ZW0iLCJtYXRjaF9yZXNvdXJjZUlkIiwicmVmIiwic2VydmVyIiwic3BsaWNlIiwic2F2ZUhpc3RvcnkiLCJpc1NjcmlwdHVyZVJlc291cmNlIiwic3ViamVjdCIsIkJpYmxlUmVzb3VyY2VzIiwiaXNTY3JpcHR1cmUiLCJpbmNsdWRlcyIsInVzZVNjcmlwdHVyZVNldHRpbmdzIiwiaXNOVCIsInRpdGxlIiwiY2hhcHRlciIsInZlcnNlIiwiYm9va0lkIiwiYXBwUmVmIiwidXNlVXNlckxvY2FsU3RvcmFnZSIsImRpc2FibGVXb3JkUG9wb3ZlciIsIm9yaWdpbmFsTGFuZ3VhZ2VPd25lciIsInNldFVybEVycm9yIiwiaHR0cENvbmZpZyIsImdyZWVrUmVwb1VybCIsImhlYnJld1JlcG9VcmwiLCJpc05ld1Rlc3RhbWVudCIsInNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncyIsInZlcnNpb25IaXN0b3J5Iiwic2F2ZVZlcnNpb25IaXN0IiwicmVmcmVzaFZlcnNpb25IaXN0Iiwic2NyaXB0dXJlVmVyc2lvbkhpc3QiLCJzZXRTY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJzZXRUYXJnZXQiLCJjbGVhblVwIiwic2V0Q2xlYW5VcCIsIm9sZERlZmF1bHRTZXR0aW5ncyIsInJlbW92ZUl0ZW0iLCJvcmlnaW5hbFJlcG9VcmwiLCJzY3JpcHR1cmVDb25maWciLCJjdXJyZW50TGFuZ3VhZ2VJZCIsImN1cnJlbnRPd25lciIsImNsZWFuUmVzb3VyY2VMaW5rIiwicmVzb3VyY2VMaW5rXyIsInJlc291cmNlTGlua3MiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsInNldFNjcmlwdHVyZSIsInZhbGlkYXRpb25DQiIsInVybCIsIm5ld1VybCIsInBhcnRzIiwiaG9zdG5hbWUiLCJVUkwiLCJjb25zb2xlIiwibG9nIiwicmVtb3ZlVXJsIiwic2VydmVyXyIsInBvcnQiLCJ1cmxfIiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwicmVmZXJlbmNlIiwicHJvamVjdElkIiwiY29uZmlnIiwiY2FjaGUiLCJtYXhBZ2UiLCJ0aGVuIiwicmVzb3VyY2UiLCJlcnJvciIsIm5ld1NjcmlwdHVyZSIsInZlcnNpb24iLCJ3YXJuIiwidXNlcm5hbWUiLCJ2YWxpZFVybCIs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Q2lELEtBQUQsQ0FBWDtBQUNBcEIsUUFBQUEsWUFBWSxJQUFJQSxZQUFZLENBQUMsQ0FBQ29CLEtBQUYsRUFBU0MsWUFBVCxDQUE1QjtBQUNELE9BbEVEO0FBbUVELEtBNUZELE1BNEZPO0FBQUU7QUFDUGxELE1BQUFBLFdBQVcsQ0FBQyxJQUFELENBQVgsQ0FESyxDQUNhOztBQUNsQlUsTUFBQUEsb0JBQW9CLENBQUNqQyxJQUFELENBQXBCO0FBQ0FvRCxNQUFBQSxZQUFZLElBQUlBLFlBQVksQ0FBQyxJQUFELENBQTVCO0FBQ0Q7QUFDRixHQTNIRDs7QUE2SEEsU0FBTztBQUNMVixJQUFBQSxlQUFlLEVBQWZBLGVBREs7QUFFTFMsSUFBQUEsWUFBWSxFQUFaQSxZQUZLO0FBR0xuQixJQUFBQSxvQkFBb0IsRUFBcEJBO0FBSEssR0FBUDtBQUtEO0FBRUQsZUFBZW5CLG9CQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0ICogYXMgaXNFcXVhbCBmcm9tICdkZWVwLWVxdWFsJ1xuaW1wb3J0IHsgS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSwgU2NyaXB0dXJlVmVyc2lvbkhpc3RvcnkgfSBmcm9tICcuLi91dGlscy9TY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSdcbmltcG9ydCB7XG4gIElOVkFMSURfUkVQT19VUkxfRVJST1IsXG4gIElOVkFMSURfVVJMLFxuICBNQU5JRkVTVF9JTlZBTElEX1NIT1JUX0VSUk9SLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE5UX09SSUdfTEFORyxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIE9UX09SSUdfTEFORyxcbiAgUkVQT19OT1RfRk9VTkRfRVJST1IsXG4gIFJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUixcbiAgc2V0TG9jYWxTdG9yYWdlVmFsdWUsXG4gIHBhcnNlUmVzb3VyY2VNYW5pZmVzdCxcbiAgdmFsaWRhdGVEY3NVcmwsXG59IGZyb20gJy4uJ1xuaW1wb3J0IHtcbiAgZ2V0UmVzb3VyY2VMaW5rLFxuICBnZXRTY3JpcHR1cmVPYmplY3QsXG4gIGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MsXG59IGZyb20gJy4uL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHVzZVNjcmlwdHVyZVJlc291cmNlcyBmcm9tICcuL3VzZVNjcmlwdHVyZVJlc291cmNlcydcblxuY29uc3QgS0VZX1NFVFRJTkdTX0JBU0UgPSAnc2NyaXB0dXJlUGFuZUNvbmZpZ18nXG5jb25zdCBLRVlfVEFSR0VUX0JBU0UgPSAnc2NyaXB0dXJlUGFuZVRhcmdldF8nXG5cbmZ1bmN0aW9uIGZpeFNjcmlwdHVyZVNldHRpbmdzKHZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpIHtcbiAgLy8gY2xlYW4gdXAgaGFyZC1jb2RlZCBvcmlnaW5hbCBzb3VyY2VzXG4gIGlmICgoc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAoc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSkge1xuICAgIGlmICgoc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCAhPT0gTlRfT1JJR19MQU5HKSAmJiAoc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCAhPT0gT1RfT1JJR19MQU5HKSkgeyAvLyBpZiB0aGlzIGlzIHRyYWNrIHdpdGggY3VycmVudCBzZWxlY3RlZCBsYW5ndWFnZSBhbmQgdGVzdGFtZW50IG9mIGJvb2tcbiAgICAgIGNvbnN0IG5ld1NjcmlwdHVyZVNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVTZXR0aW5ncyB9XG4gICAgICBuZXdTY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID0gbGFuZ3VhZ2VJZFxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IE9SSUdJTkFMX1NPVVJDRVxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBvd25lclxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKG5ld1NjcmlwdHVyZVNldHRpbmdzKVxuICAgICAgc2V0TG9jYWxTdG9yYWdlVmFsdWUoS0VZX1NFVFRJTkdTX0JBU0UgKyBjYXJkTnVtLCBuZXdTY3JpcHR1cmVTZXR0aW5ncylcbiAgICAgIHZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3U2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgfVxuICB9XG5cbiAgLy8gY2xlYW4gaGlzdG9yeSBvZiBvcmlnaW5hbCBzb3VyY2VzXG4gIGxldCBoaXN0b3J5ID0gdmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KCkgfHwgW11cbiAgbGV0IG1vZGlmaWVkID0gZmFsc2VcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGhpc3RvcnkubGVuZ3RoOyBpKyspIHsgLy8gc2VhcmNoIGZvciBvcmlnaW5hbCBzb3VyY2UgZHVwbGljYXRlcyBpbiBoaXN0b3J5XG4gICAgY29uc3QgaXRlbSA9IGhpc3RvcnlbaV1cbiAgICBjb25zdCByZXNvdXJjZUlkID0gaXRlbS5yZXNvdXJjZUlkXG5cbiAgICBpZiAoKHJlc291cmNlSWQgPT09IE5UX09SSUdfTEFOR19CSUJMRSkgfHwgKHJlc291cmNlSWQgPT09IE9UX09SSUdfTEFOR19CSUJMRSkgfHwgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkpIHtcbiAgICAgIGZvciAoIGxldCBqID0gaSArIDE7IGogPCBoaXN0b3J5Lmxlbmd0aDsgaisrKSB7IC8vIHNlYXJjaCByZXN0IG9mIGxpc3QgZm9yIGR1cGxpY2F0ZXMgb2YgaXRlbSBhdCBpXG4gICAgICAgIGNvbnN0IG1hdGNoX2l0ZW0gPSBoaXN0b3J5W2pdXG4gICAgICAgIGNvbnN0IG1hdGNoX3Jlc291cmNlSWQgPSBtYXRjaF9pdGVtLnJlc291cmNlSWRcblxuICAgICAgICBpZiAoKG1hdGNoX3Jlc291cmNlSWQgPT09IHJlc291cmNlSWQpKSB7XG4gICAgICAgICAgaWYgKChpdGVtLm93bmVyID09PSBtYXRjaF9pdGVtLm93bmVyKSAmJlxuICAgICAgICAgICAgKGl0ZW0ucmVmID09PSBtYXRjaF9pdGVtLnJlZikgJiZcbiAgICAgICAgICAgIChpdGVtLnNlcnZlciA9PT0gbWF0Y2hfaXRlbS5zZXJ2ZXIpICYmXG4gICAgICAgICAgICAoaXRlbS5yZXNvdXJjZUlkID09PSBtYXRjaF9pdGVtLnJlc291cmNlSWQpKSB7XG4gICAgICAgICAgICBoaXN0b3J5LnNwbGljZShqLCAxKSAvLyByZW1vdmUgZHVwbGljYXRlIGl0ZW1cbiAgICAgICAgICAgIG1vZGlmaWVkID0gdHJ1ZVxuICAgICAgICAgICAgai0tIC8vIGJhY2sgdXAgaW5kZXggc2luY2UgY29udGVudHMgc2hpZnRlZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChtb2RpZmllZCkge1xuICAgIHZlcnNpb25IaXN0LnNhdmVIaXN0b3J5KGhpc3RvcnkpXG4gIH1cbn1cblxuZnVuY3Rpb24gaXNTY3JpcHR1cmVSZXNvdXJjZShzdWJqZWN0KSB7XG4gIGNvbnN0IEJpYmxlUmVzb3VyY2VzID0gWyAnQmlibGUnLCAnQWxpZ25lZCBCaWJsZScsICdHcmVlayBOZXcgVGVzdGFtZW50JywgJ0hlYnJldyBPbGQgVGVzdGFtZW50JyBdXG4gIGNvbnN0IGlzU2NyaXB0dXJlID0gQmlibGVSZXNvdXJjZXMuaW5jbHVkZXMoc3ViamVjdClcbiAgcmV0dXJuIGlzU2NyaXB0dXJlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTY3JpcHR1cmVTZXR0aW5ncyh7XG4gIGlzTlQsXG4gIHRpdGxlLFxuICBjYXJkTnVtLFxuICBjaGFwdGVyLFxuICB2ZXJzZSxcbiAgYm9va0lkLFxuICBvd25lcixcbiAgc2VydmVyLFxuICBhcHBSZWYsXG4gIGxhbmd1YWdlSWQsXG4gIHJlc291cmNlSWQsXG4gIHJlc291cmNlTGluayxcbiAgdXNlVXNlckxvY2FsU3RvcmFnZSxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gIHNldFVybEVycm9yLFxuICBodHRwQ29uZmlnLFxuICBncmVla1JlcG9VcmwsXG4gIGhlYnJld1JlcG9VcmwsXG59KSB7XG4gIGNvbnN0IGlzTmV3VGVzdGFtZW50ID0gaXNOVChib29rSWQpXG4gIGNvbnN0IHNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncyA9IGdldFNjcmlwdHVyZU9iamVjdCh7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIHJlZjogYXBwUmVmLFxuICAgIGxhbmd1YWdlSWQsXG4gICAgcmVzb3VyY2VJZCxcbiAgICByZXNvdXJjZUxpbmssXG4gICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgfSlcbiAgY29uc3QgW3ZlcnNpb25IaXN0b3J5LCBzYXZlVmVyc2lvbkhpc3QsIHJlZnJlc2hWZXJzaW9uSGlzdF0gPSB1c2VVc2VyTG9jYWxTdG9yYWdlKEtFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlksIFtdKVxuICBjb25zdCBzY3JpcHR1cmVWZXJzaW9uSGlzdCA9IG5ldyBTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSh2ZXJzaW9uSGlzdG9yeSwgc2F2ZVZlcnNpb25IaXN0LCByZWZyZXNoVmVyc2lvbkhpc3QpXG5cbiAgbGV0IFtzY3JpcHR1cmVTZXR0aW5ncywgc2V0U2NyaXB0dXJlU2V0dGluZ3NdID0gdXNlVXNlckxvY2FsU3RvcmFnZShLRVlfU0VUVElOR1NfQkFTRSArIGNhcmROdW0sIHNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncylcbiAgY29uc3QgY3VycmVudFRhcmdldCA9IHtcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgfVxuICBjb25zdCBbdGFyZ2V0LCBzZXRUYXJnZXRdID0gdXNlVXNlckxvY2FsU3RvcmFnZShLRVlfVEFSR0VUX0JBU0UgKyBjYXJkTnVtLCBjdXJyZW50VGFyZ2V0KVxuICBjb25zdCBbY2xlYW5VcCwgc2V0Q2xlYW5VcF0gPSB1c2VTdGF0ZSh0cnVlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxhbmd1YWdlSWQgJiYgb3duZXIpIHsgLy8gbWFrZSBzdXJlIHdlIGhhdmUgbGFuZ3VhZ2VJZCBhbmQgb3duZXIgc2VsZWN0ZWQgZmlyc3RcbiAgICAgIGlmIChjbGVhblVwKSB7IC8vIGRvIGluaXRpYWwgY2xlYW51cFxuICAgICAgICBmaXhTY3JpcHR1cmVTZXR0aW5ncyhzY3JpcHR1cmVWZXJzaW9uSGlzdCwgc2NyaXB0dXJlU2V0dGluZ3MsIGxhbmd1YWdlSWQsIGNhcmROdW0sIG93bmVyKVxuICAgICAgICBzZXRDbGVhblVwKGZhbHNlKVxuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRXF1YWwoY3VycmVudFRhcmdldCwgdGFyZ2V0KSkgeyAvLyB3aGVuIHRhcmdldCBjaGFuZ2VzLCBzd2l0Y2ggYmFjayB0byBkZWZhdWx0c1xuICAgICAgICBjb25zdCBvbGREZWZhdWx0U2V0dGluZ3MgPSB7IC4uLnNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncywgLi4udGFyZ2V0IH1cbiAgICAgICAgb2xkRGVmYXVsdFNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhvbGREZWZhdWx0U2V0dGluZ3MpXG4gICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LnJlbW92ZUl0ZW0ob2xkRGVmYXVsdFNldHRpbmdzKSAvLyByZW1vdmUgb2xkIGRlZmF1bHQgc2V0dGluZ3MgZnJvbSBoaXN0b3J5XG4gICAgICAgIGZpeFNjcmlwdHVyZVNldHRpbmdzKHNjcmlwdHVyZVZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpXG5cbiAgICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3Moc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzKVxuICAgICAgICBzZXRUYXJnZXQoY3VycmVudFRhcmdldClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3Rvcnkoc2NyaXB0dXJlU2V0dGluZ3MpIC8vIG1ha2Ugc3VyZSBjdXJyZW50IHNjcmlwdHVyZSB2ZXJzaW9uIHBlcnNpc3RlZCBpbiBoaXN0b3J5XG4gICAgICB9XG4gICAgfVxuICB9LCBbbGFuZ3VhZ2VJZCwgb3duZXIsIGNsZWFuVXBdKVxuXG4gIGNvbnN0IG9yaWdpbmFsUmVwb1VybCA9IGlzTmV3VGVzdGFtZW50ID8gZ3JlZWtSZXBvVXJsIDogaGVicmV3UmVwb1VybFxuICBjb25zdCBzY3JpcHR1cmVDb25maWcgPSB1c2VTY3JpcHR1cmVSZXNvdXJjZXMoe1xuICAgIGJvb2tJZCxcbiAgICBzY3JpcHR1cmVTZXR0aW5ncyxcbiAgICBjaGFwdGVyLFxuICAgIHZlcnNlLFxuICAgIGlzTmV3VGVzdGFtZW50LFxuICAgIG9yaWdpbmFsUmVwb1VybCxcbiAgICBjdXJyZW50TGFuZ3VhZ2VJZDogbGFuZ3VhZ2VJZCxcbiAgICBjdXJyZW50T3duZXI6IG93bmVyLFxuICAgIGh0dHBDb25maWcsXG4gICAgYXBwUmVmLFxuICB9KVxuXG4gIC8qKlxuICAgKiBtYWtlIHN1cmUgdGhhdCBib29rSWQgb3IgcHJvamVjdElkIGFyZSBub3QgZW1iZWRkZWQgaW4gbGluay5cbiAgICogICAgRm9yIGV4YW1wbGUgaW4gYHJ1X2dsL3J1L3Jzb2IvbWFzdGVyL2hlYmAgdGhlIHByb2plY3RJZCBoZWIgaXMgaW4gdGhlIGxpbmsgYW5kIHdpbGwgb3ZlcnJpZGUgdGhlXG4gICAqICAgIHByb2plY3RJZCBpbiB0aGUgcmVmZXJlbmNlIHdoZW4gd2UgdHJ5IHRvIGZldGNoIGxhdGVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZXNvdXJjZUxpbmtcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIGNsZWFuZWQgdXAgcmVzb3VyY2UgbGlua1xuICAgKi9cbiAgZnVuY3Rpb24gY2xlYW5SZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rKSB7XG4gICAgbGV0IHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtcbiAgICBjb25zdCByZXNvdXJjZUxpbmtzID0gcmVzb3VyY2VMaW5rXz8uc3BsaXQoJy8nKVxuXG4gICAgaWYgKHJlc291cmNlTGlua3M/Lmxlbmd0aCA+IDQpIHsgLy8gaWYgdG9vIG1hbnkgZmllbGRzLCB0aGVuIHRyaW1cbiAgICAgIHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtzPy5zbGljZSgwLCA0KS5qb2luKCcvJylcbiAgICB9XG4gICAgcmV0dXJuIHJlc291cmNlTGlua19cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayB0byBlaXRoZXIgYWRkIG5ldyBzY3JpcHR1cmUgaXRlbSBvciBzZWxlY3QgZXhpc3RpbmcgaXRlbSBpbiBoaXN0b3J5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBpdGVtIC0gbmV3IGl0ZW0gdG8gYWRkIG9yIGV4aXN0aW5nIGl0ZW0gdG8gc2VsZWN0IGZyb20gaGlzdG9yeVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSB2YWxpZGF0aW9uQ0IgLSBjYWxsYmFjayBmdW5jdGlvbiB0byBwYXNzIGJhY2sgaWYgaXRlbSB1cmwgd2FzIHZhbGlkIG9yIG5vdFxuICAgKi9cbiAgY29uc3Qgc2V0U2NyaXB0dXJlID0gKGl0ZW0sIHZhbGlkYXRpb25DQiA9IG51bGwpID0+IHtcbiAgICBsZXQgdXJsXG4gICAgbGV0IG5ld1VybCA9IGl0ZW0/LnVybFxuXG4gICAgaWYgKG5ld1VybCkge1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcblxuICAgICAgLy8gaGFuZGxlOiBgZ2l0QGdpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdGBcbiAgICAgIC8vICAgIGJ5IG1hcHBpbmcgdG8gaHR0cHMgZ2l0IGZldGNoIHVybCAoZS5nLiBodHRwczovL2dpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdClcbiAgICAgIGlmIChuZXdVcmw/LmluY2x1ZGVzKCdnaXRAJykpIHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBuZXdVcmw/LnNwbGl0KCc6JylcbiAgICAgICAgY29uc3QgWywgaG9zdG5hbWVdID0gcGFydHNbMF0uc3BsaXQoJ0AnKVxuICAgICAgICBuZXdVcmwgPSBgaHR0cHM6Ly8ke2hvc3RuYW1lfS8ke3BhcnRzLnNsaWNlKDEpLmpvaW4oJzonKX1gXG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwobmV3VXJsKVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdpbGxlZ2FsIHVybCcsIGl0ZW0udXJsKVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG4gICAgICAgIHNldFVybEVycm9yKElOVkFMSURfVVJMKVxuICAgICAgICB2YWxpZGF0aW9uQ0IgJiYgdmFsaWRhdGlvbkNCKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgbGV0IHNlcnZlcl9cbiAgICAgIGxldCBob3N0bmFtZSA9IHVybC5ob3N0bmFtZVxuXG4gICAgICBpZiAoaG9zdG5hbWUpIHtcbiAgICAgICAgaWYgKGhvc3RuYW1lID09PSBgZG9vcjQzLm9yZ2ApIHtcbiAgICAgICAgICAvLyBoYW5kbGUgY2FzZSBvZiBsaW5rIHRvIGQ0MyByZWFkZXIgcGFnZSAoZS5nLiBodHRwczovL2Rvb3I0My5vcmcvdS91bmZvbGRpbmdXb3JkL2VuX3VsdC8pXG4gICAgICAgICAgaG9zdG5hbWUgPSAnZ2l0LicgKyBob3N0bmFtZSAvLyByZWRpcmVjdCB0byBnaXQgcmVwb1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHVybC5wb3J0KSB7XG4gICAgICAgICAgaG9zdG5hbWUgKz0gJzonICsgdXJsLnBvcnRcbiAgICAgICAgfVxuICAgICAgICBzZXJ2ZXJfID0gJ2h0dHBzOi8vJyArIGhvc3RuYW1lXG4gICAgICB9XG5cbiAgICAgIGxldCB1cmxfID0gbmV3VXJsXG5cbiAgICAgIGlmICghdXJsKSB7IC8vIGlmIG5vdCBhIG5ldyByZXNvdXJjZVxuICAgICAgICBzY3JpcHR1cmVTZXR0aW5ncyA9IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MocmVzb3VyY2VJZCwgYm9va0lkLCBpc05ld1Rlc3RhbWVudCwgb3JpZ2luYWxSZXBvVXJsKSAvLyBjb252ZXJ0IGFueSBkZWZhdWx0IHNldHRpbmdzIHN0cmluZ3NcbiAgICAgICAgdXJsXyA9IHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGlua1xuICAgICAgfVxuXG4gICAgICAvLyBtYWtlIHN1cmUgaXQgZXhpc3RzXG4gICAgICBjb3JlLnJlc291cmNlRnJvbVJlc291cmNlTGluayh7XG4gICAgICAgIHJlc291cmNlTGluazogdXJsXyxcbiAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgcHJvamVjdElkOiBib29rSWQsXG4gICAgICAgICAgY2hhcHRlcjogY2hhcHRlcixcbiAgICAgICAgICB2ZXJzZTogdmVyc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIHNlcnZlcjogc2VydmVyXyxcbiAgICAgICAgICBjYWNoZTogeyBtYXhBZ2U6IDEgKiA2MCAqIDYwICogMTAwMCB9LCAvLyAxIGhyXG4gICAgICAgIH0sXG4gICAgICB9KS50aGVuKHJlc291cmNlID0+IHtcbiAgICAgICAgbGV0IGVycm9yID0gUkVQT19OT1RfRk9VTkRfRVJST1JcbiAgICAgICAgbGV0IG5ld1NjcmlwdHVyZSA9IG51bGxcblxuICAgICAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgICBzdWJqZWN0LFxuICAgICAgICAgIH0gPSBwYXJzZVJlc291cmNlTWFuaWZlc3QocmVzb3VyY2UpXG4gICAgICAgICAgY29uc3QgaXNTY3JpcHR1cmUgPSBpc1NjcmlwdHVyZVJlc291cmNlKHN1YmplY3QpXG5cbiAgICAgICAgICBpZiAoIWlzU2NyaXB0dXJlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYHVzZVNjcmlwdHVyZVNldHRpbmdzLnNldFNjcmlwdHVyZSAtIFVSTCBpcyBub3QgYSBzY3JpcHR1cmUgcmVzb3VyY2U6ICR7dXJsX31gKVxuICAgICAgICAgICAgZXJyb3IgPSBSRVBPX05PVF9TQ1JJUFRVUkVfRVJST1JcbiAgICAgICAgICB9IGVsc2UgaWYgKHRpdGxlICYmIHZlcnNpb24pIHtcbiAgICAgICAgICAgIC8vIHdlIHN1Y2NlZWRlZCBpbiBnZXR0aW5nIHJlc291cmNlIC0gdXNlIGl0XG4gICAgICAgICAgICBuZXdTY3JpcHR1cmUgPSBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgc2VydmVyOiBzZXJ2ZXJfLFxuICAgICAgICAgICAgICBvd25lcjogcmVzb3VyY2UudXNlcm5hbWUsXG4gICAgICAgICAgICAgIHJlZjogcmVzb3VyY2UucmVmIHx8ICdtYXN0ZXInLFxuICAgICAgICAgICAgICBsYW5ndWFnZUlkOiByZXNvdXJjZS5sYW5ndWFnZUlkLFxuICAgICAgICAgICAgICByZXNvdXJjZUlkOiByZXNvdXJjZS5yZXNvdXJjZUlkLFxuICAgICAgICAgICAgICByZXNvdXJjZUxpbms6IGNsZWFuUmVzb3VyY2VMaW5rKHJlc291cmNlPy5yZXNvdXJjZUxpbmspLFxuICAgICAgICAgICAgICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gICAgICAgICAgICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBuZXdTY3JpcHR1cmVbJ3VzZXJBZGRlZCddID0gdHJ1ZVxuICAgICAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QuYWRkSXRlbVRvSGlzdG9yeShuZXdTY3JpcHR1cmUpIC8vIHBlcnNpc3QgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3MobmV3U2NyaXB0dXJlKVxuICAgICAgICAgICAgZXJyb3IgPSBudWxsIC8vIG5vIGVycm9yXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIHBhcnNpbmcgbWFuaWZlc3QnLCBpdGVtLnVybClcbiAgICAgICAgICAgIGVycm9yID0gTUFOSUZFU1RfSU5WQUxJRF9TSE9SVF9FUlJPUlxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdub3QgZm91bmQnLCBpdGVtLnVybClcbiAgICAgICAgfVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG5cbiAgICAgICAgaWYgKGVycm9yID09PSBSRVBPX05PVF9GT1VORF9FUlJPUikgeyAvLyBpZiBnZW5lcmljIGVycm9yLCB2YWxpZGF0ZSB0aGUgVVJMXG4gICAgICAgICAgY29uc3QgeyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9ID0gdmFsaWRhdGVEY3NVcmwoaXRlbS51cmwpXG5cbiAgICAgICAgICBpZiAoIXZhbGlkVXJsKSB7XG4gICAgICAgICAgICBlcnJvciA9IElOVkFMSURfVVJMXG4gICAgICAgICAgfSBlbHNlIGlmICh2YWxpZFJlcG9QYXRoKSB7XG4gICAgICAgICAgICBlcnJvciA9IFJFUE9fTk9UX0ZPVU5EX0VSUk9SXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yID0gSU5WQUxJRF9SRVBPX1VSTF9FUlJPUlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZXRVcmxFcnJvcihlcnJvcilcbiAgICAgICAgdmFsaWRhdGlvbkNCICYmIHZhbGlkYXRpb25DQighZXJyb3IsIG5ld1NjcmlwdHVyZSlcbiAgICAgIH0pXG4gICAgfSBlbHNlIHsgLy8gc2VsZWN0ZWQgYSBwcmV2aW91cyBzZXR0aW5nXG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3MoaXRlbSlcbiAgICAgIHZhbGlkYXRpb25DQiAmJiB2YWxpZGF0aW9uQ0IodHJ1ZSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHNjcmlwdHVyZUNvbmZpZyxcbiAgICBzZXRTY3JpcHR1cmUsXG4gICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlU2NyaXB0dXJlU2V0dGluZ3NcbiJdfQ==
|