@pie-element/explicit-constructed-response 11.0.0 → 11.1.0-beta.1

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/configure/CHANGELOG.md +10 -0
  3. package/configure/lib/__tests__/alternateResponses.test.js +503 -0
  4. package/configure/lib/__tests__/alternateSection.test.js +372 -0
  5. package/configure/lib/__tests__/ecr-toolbar.test.js +214 -0
  6. package/configure/lib/__tests__/main.test.js +470 -0
  7. package/configure/lib/__tests__/markupUtils.test.js +55 -0
  8. package/configure/lib/__tests__/utils.test.js +62 -0
  9. package/configure/lib/alternateResponses.js +1 -1
  10. package/configure/lib/alternateSection.js +1 -1
  11. package/configure/lib/defaults.js +1 -1
  12. package/configure/lib/ecr-toolbar.js +1 -1
  13. package/configure/lib/index.js +1 -1
  14. package/configure/lib/main.js +1 -1
  15. package/configure/lib/markupUtils.js +1 -1
  16. package/configure/lib/utils.js +1 -1
  17. package/configure/package.json +3 -3
  18. package/controller/CHANGELOG.md +10 -0
  19. package/controller/lib/__tests__/index.spec.js +30 -0
  20. package/controller/lib/__tests__/index.test.js +950 -0
  21. package/controller/lib/defaults.js +1 -1
  22. package/controller/lib/index.js +1 -1
  23. package/controller/package.json +3 -3
  24. package/docs/demo/pie.manifest.json +11 -0
  25. package/lib/__tests__/main.test.js +166 -0
  26. package/lib/index.js +1 -1
  27. package/lib/main.js +1 -1
  28. package/lib/print.js +1 -1
  29. package/module/configure.js +1 -1
  30. package/module/element.js +1 -1
  31. package/module/index.html +1 -1
  32. package/module/manifest.json +4 -4
  33. package/module/print.html +1 -1
  34. package/module/print.js +1 -1
  35. package/package.json +7 -7
  36. package/LICENSE.md +0 -5
@@ -20,4 +20,4 @@ var _default = exports.default = {
20
20
  teacherInstructionsEnabled: true,
21
21
  toolbarEditorPosition: 'bottom'
22
22
  };
23
- //# sourceMappingURL=defaults.js.map
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjaG9pY2VzIiwiZGlzcGxheVR5cGUiLCJtYXJrdXAiLCJtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkIiwicGxheWVyU3BlbGxDaGVja0VuYWJsZWQiLCJwcm9tcHQiLCJwcm9tcHRFbmFibGVkIiwicmF0aW9uYWxlIiwicmF0aW9uYWxlRW5hYmxlZCIsInNwZWxsQ2hlY2tFbmFibGVkIiwic3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiLCJ0b29sYmFyRWRpdG9yUG9zaXRpb24iXSwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBjaG9pY2VzOiB7fSxcbiAgZGlzcGxheVR5cGU6ICdibG9jaycsXG4gIG1hcmt1cDogJycsXG4gIG1heExlbmd0aFBlckNob2ljZUVuYWJsZWQ6IHRydWUsXG4gIHBsYXllclNwZWxsQ2hlY2tFbmFibGVkOiB0cnVlLFxuICBwcm9tcHQ6ICcnLFxuICBwcm9tcHRFbmFibGVkOiB0cnVlLFxuICByYXRpb25hbGU6ICcnLFxuICByYXRpb25hbGVFbmFibGVkOiB0cnVlLFxuICBzcGVsbENoZWNrRW5hYmxlZDogdHJ1ZSxcbiAgc3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQ6IHRydWUsXG4gIHRlYWNoZXJJbnN0cnVjdGlvbnM6ICcnLFxuICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgdG9vbGJhckVkaXRvclBvc2l0aW9uOiAnYm90dG9tJyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztpQ0FBZTtFQUNiQSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0VBQ1hDLFdBQVcsRUFBRSxPQUFPO0VBQ3BCQyxNQUFNLEVBQUUsRUFBRTtFQUNWQyx5QkFBeUIsRUFBRSxJQUFJO0VBQy9CQyx1QkFBdUIsRUFBRSxJQUFJO0VBQzdCQyxNQUFNLEVBQUUsRUFBRTtFQUNWQyxhQUFhLEVBQUUsSUFBSTtFQUNuQkMsU0FBUyxFQUFFLEVBQUU7RUFDYkMsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QkMsaUJBQWlCLEVBQUUsSUFBSTtFQUN2QkMsMEJBQTBCLEVBQUUsSUFBSTtFQUNoQ0MsbUJBQW1CLEVBQUUsRUFBRTtFQUN2QkMsMEJBQTBCLEVBQUUsSUFBSTtFQUNoQ0MscUJBQXFCLEVBQUU7QUFDekIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -365,4 +365,4 @@ const validate = (model = {}, config = {}) => {
365
365
  return errors;
366
366
  };
367
367
  exports.validate = validate;
368
- //# sourceMappingURL=index.js.map
368
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2hFcyIsIl9oZSIsIl9jb250cm9sbGVyVXRpbHMiLCJfdHJhbnNsYXRvciIsIl9kZWZhdWx0cyIsInRyYW5zbGF0b3IiLCJUcmFuc2xhdG9yIiwibG9nIiwiZGVidWciLCJwcmVwYXJlQ2hvaWNlIiwibW9kZSIsImRlZmF1bHRGZWVkYmFjayIsImNob2ljZSIsIm91dCIsImxhYmVsIiwidmFsdWUiLCJjb3JyZWN0IiwiZmVlZGJhY2tUeXBlIiwiZmVlZGJhY2siLCJ0eXBlIiwiZXhwb3J0cyIsImdldEZlZWRiYWNrIiwiZ2V0QWRqdXN0ZWRMZW5ndGgiLCJsZW5ndGgiLCJNYXRoIiwiYWJzIiwiSW5maW5pdHkiLCJkZWNvZGVIdG1sRW50aXRpZXMiLCJzdHIiLCJyZXBsYWNlIiwibm9ybWFsaXplIiwicXVlc3Rpb24iLCJkZWZhdWx0cyIsIm1vZGVsIiwic2Vzc2lvbiIsImVudiIsImNob2ljZXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsIm1hcCIsIml0ZW0iLCJpbmRleCIsIm5vcm1hbGl6ZWRRdWVzdGlvbiIsImFzc2lnbiIsImluY29ycmVjdCIsInByZXBhcmVDaG9pY2VGbiIsInJlZHVjZSIsIm9iaiIsImFyZWEiLCJyZXNwQXJlYSIsImNob3NlblZhbHVlIiwidmFsIiwiaXNFbXB0eSIsImZpbmQiLCJjIiwicHJlcGFyZVZhbCIsInNob3dOb3RlIiwidmFsdWVzIiwic29tZSIsIm5vdGUiLCJ0IiwibG5nIiwibGFuZ3VhZ2UiLCJtYXhMZW5ndGhQZXJDaG9pY2UiLCJtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkIiwidW5kZWZpbmVkTGVuZ3RocyIsImxhYmVsTGVuZ3Roc0FyciIsIm1heCIsImRpc2FibGVkIiwiZGlzcGxheVR5cGUiLCJyb2xlIiwibWFya3VwIiwicGxheWVyU3BlbGxDaGVja0VuYWJsZWQiLCJwcm9tcHQiLCJwcm9tcHRFbmFibGVkIiwicmF0aW9uYWxlIiwicmVzcG9uc2VDb3JyZWN0IiwiZ2V0U2NvcmUiLCJ1bmRlZmluZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwicmVzcG9uc2VBcmVhSW5wdXRDb25maWd1cmF0aW9uIiwiZXh0cmFDU1NSdWxlcyIsInJhdGlvbmFsZUVuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsImh0bWwiLCJkZWNvZGVIVE1MIiwiZ2V0SW5uZXJUZXh0IiwidHJpbSIsImNvbmZpZyIsInJlc3BvbnNlQXJlYXMiLCJtYXRjaCIsIm1heFNjb3JlIiwiY29ycmVjdENvdW50IiwidG90YWwiLCJ0b0ZpeGVkIiwicGFyc2VGbG9hdCIsImdldExvZ1RyYWNlIiwidHJhY2VMb2ciLCJ0b3RhbEFyZWFzIiwicHVzaCIsImZpbGxlZEFyZWFzIiwiZW50cmllcyIsImZpbHRlciIsImFyZWFLZXkiLCJzdHVkZW50QW5zd2VyIiwiY29ycmVjdE9wdGlvbnMiLCJpc0NvcnJlY3QiLCJvcHRpb24iLCJwYXJzZUludCIsImhhc0FsdGVybmF0ZXMiLCJvcHRpb25BcnJheSIsInBhcnRpYWxTY29yaW5nRW5hYmxlZCIsInBhcnRpYWxTY29yaW5nIiwiZW5hYmxlZCIsInNjb3JlIiwib3V0Y29tZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiZW1wdHkiLCJjcmVhdGVDb3JyZWN0UmVzcG9uc2VTZXNzaW9uIiwiaSIsImlkIiwicmVwbGFjZUFsbCIsImRlY29kZSIsImdldENvbnRlbnQiLCJ2YWxpZGF0ZSIsIm1heFJlc3BvbnNlQXJlYXMiLCJhbGxDaG9pY2VzRXJyb3JzIiwiZXJyb3JzIiwiZmllbGQiLCJyZXF1aXJlZCIsInJldmVyc2VkQ2hvaWNlcyIsInJldmVyc2UiLCJjaG9pY2VzRXJyb3JzIiwiaWRlbnRpY2FsQW5zd2VyIiwic2xpY2UiLCJuYk9mUmVzcG9uc2VBcmVhcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgZmluZCwgaXNFbXB0eSwgbWFwLCByZWR1Y2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGVjb2RlIH0gZnJvbSAnaGUnO1xuaW1wb3J0IHsgcGFydGlhbFNjb3JpbmcgfSBmcm9tICdAcGllLWxpYi9jb250cm9sbGVyLXV0aWxzJztcbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gJ0BwaWUtbGliL3RyYW5zbGF0b3InO1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJy4vZGVmYXVsdHMnO1xuXG5jb25zdCB7IHRyYW5zbGF0b3IgfSA9IFRyYW5zbGF0b3I7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdleHBsaWNpdC1jb25zdHJ1Y3RlZC1yZXNwb25zZTpjb250cm9sbGVyJyk7XG5cbmV4cG9ydCBjb25zdCBwcmVwYXJlQ2hvaWNlID0gKG1vZGUsIGRlZmF1bHRGZWVkYmFjaykgPT4gKGNob2ljZSkgPT4ge1xuICBjb25zdCBvdXQgPSB7XG4gICAgbGFiZWw6IGNob2ljZS5sYWJlbCxcbiAgICB2YWx1ZTogY2hvaWNlLnZhbHVlLFxuICB9O1xuXG4gIGlmIChtb2RlID09PSAnZXZhbHVhdGUnKSB7XG4gICAgb3V0LmNvcnJlY3QgPSB0cnVlO1xuXG4gICAgY29uc3QgZmVlZGJhY2tUeXBlID0gKGNob2ljZS5mZWVkYmFjayAmJiBjaG9pY2UuZmVlZGJhY2sudHlwZSkgfHwgJ25vbmUnO1xuXG4gICAgaWYgKGZlZWRiYWNrVHlwZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICBvdXQuZmVlZGJhY2sgPSBkZWZhdWx0RmVlZGJhY2tbJ2NvcnJlY3QnXTtcbiAgICB9IGVsc2UgaWYgKGZlZWRiYWNrVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIG91dC5mZWVkYmFjayA9IGNob2ljZS5mZWVkYmFjay52YWx1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb3V0O1xufTtcblxuY29uc3QgZ2V0RmVlZGJhY2sgPSAodmFsdWUpID0+IHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgcmV0dXJuICdjb3JyZWN0JztcbiAgfVxuXG4gIHJldHVybiAnaW5jb3JyZWN0Jztcbn07XG5cbi8vIGFsc28gdXNlZCBpbiBjb25maWd1cmUvc3JjL21hcmt1cFV0aWxzLmpzXG5jb25zdCBnZXRBZGp1c3RlZExlbmd0aCA9IChsZW5ndGgpID0+IHtcbiAgaWYgKE1hdGguYWJzKGxlbmd0aCkgPT09IEluZmluaXR5KSB7XG4gICAgcmV0dXJuIDI7XG4gIH1cblxuICBpZiAobGVuZ3RoIDw9IDIpIHtcbiAgICByZXR1cm4gbGVuZ3RoICsgMjtcbiAgfVxuXG4gIGlmIChsZW5ndGggPD0gNCkge1xuICAgIHJldHVybiBsZW5ndGggKyAzO1xuICB9XG5cbiAgaWYgKGxlbmd0aCA8PSA2KSB7XG4gICAgcmV0dXJuIGxlbmd0aCArIDQ7XG4gIH1cblxuICByZXR1cm4gbGVuZ3RoICsgNTtcbn07XG5cbi8vIHdlIGNhbid0IHVzZSB0aGUgZG9tIHBhcnNlciBoZXJlIGJlY2F1c2UgaXQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgbm9kZSBlbnZpcm9ubWVudFxuY29uc3QgZGVjb2RlSHRtbEVudGl0aWVzID0gKHN0cikgPT4ge1xuICBpZiAoIXN0cikgcmV0dXJuICcnO1xuICByZXR1cm4gc3RyXG4gICAgLnJlcGxhY2UoLyZsdDsvZywgJzwnKVxuICAgIC5yZXBsYWNlKC8mZ3Q7L2csICc+JylcbiAgICAucmVwbGFjZSgvJnF1b3Q7L2csICdcIicpXG4gICAgLnJlcGxhY2UoLyYjeDI3O3wmIzM5Oy9nLCBcIidcIilcbiAgICAucmVwbGFjZSgvJmFtcDsvZywgJyYnKTtcbn07XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemUgPSAocXVlc3Rpb24pID0+ICh7IC4uLmRlZmF1bHRzLCAuLi5xdWVzdGlvbiB9KTtcblxuLyoqXG4gKlxuICogQHBhcmFtIHsqfSBxdWVzdGlvblxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0geyp9IGVudlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbW9kZWwocXVlc3Rpb24sIHNlc3Npb24sIGVudikge1xuICAvLyB0aGlzIHdhcyBhZGRlZCB0byB0cmVhdCBhbiBleGNlcHRpb24sIHdoZW4gdGhlIG1vZGVsIGhhcyBjaG9pY2VzIHdpdGhvdXRcbiAgLy8gdGhlIFwidmFsdWVcIiBwcm9wZXJ0eSBsaWtlOiB7IGxhYmVsOiAndGVzdCcgfVxuICBpZiAocXVlc3Rpb24uY2hvaWNlcykge1xuICAgIE9iamVjdC5rZXlzKHF1ZXN0aW9uLmNob2ljZXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgcXVlc3Rpb24uY2hvaWNlc1trZXldID0gKHF1ZXN0aW9uLmNob2ljZXNba2V5XSB8fCBbXSkubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoIWl0ZW0udmFsdWUpIHtcbiAgICAgICAgICBsb2coJ0Nob2ljZSBkb2VzIG5vdCBjb250YWluIFwidmFsdWVcIiBwcm9wZXJ0eSwgd2hpY2ggaXMgcmVxdWlyZWQuJywgaXRlbSk7XG4gICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IGAke2luZGV4fWAsIC4uLml0ZW0gfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkUXVlc3Rpb24gPSBub3JtYWxpemUocXVlc3Rpb24pO1xuICBjb25zdCBkZWZhdWx0RmVlZGJhY2sgPSBPYmplY3QuYXNzaWduKFxuICAgIHsgY29ycmVjdDogJ0NvcnJlY3QnLCBpbmNvcnJlY3Q6ICdJbmNvcnJlY3QnIH0sXG4gICAgbm9ybWFsaXplZFF1ZXN0aW9uLmRlZmF1bHRGZWVkYmFjayxcbiAgKTtcbiAgY29uc3QgcHJlcGFyZUNob2ljZUZuID0gcHJlcGFyZUNob2ljZShlbnYubW9kZSwgZGVmYXVsdEZlZWRiYWNrKTtcbiAgY29uc3QgY2hvaWNlcyA9IHJlZHVjZShcbiAgICBub3JtYWxpemVkUXVlc3Rpb24uY2hvaWNlcyxcbiAgICAob2JqLCBhcmVhLCBrZXkpID0+IHtcbiAgICAgIG9ialtrZXldID0gbWFwKGFyZWEsIHByZXBhcmVDaG9pY2VGbik7XG5cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSxcbiAgICB7fSxcbiAgKTtcblxuICBjb25zdCB7IHZhbHVlID0ge30gfSA9IHNlc3Npb24gfHwge307XG4gIGNvbnN0IGZlZWRiYWNrID1cbiAgICBlbnYubW9kZSA9PT0gJ2V2YWx1YXRlJ1xuICAgICAgPyByZWR1Y2UoXG4gICAgICAgICAgbm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZXMsXG4gICAgICAgICAgKG9iaiwgcmVzcEFyZWEsIGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hvc2VuVmFsdWUgPSB2YWx1ZSAmJiB2YWx1ZVtrZXldO1xuICAgICAgICAgICAgY29uc3QgdmFsID0gIWlzRW1wdHkoY2hvc2VuVmFsdWUpICYmIGZpbmQocmVzcEFyZWEsIChjKSA9PiBwcmVwYXJlVmFsKGMubGFiZWwpID09PSBwcmVwYXJlVmFsKGNob3NlblZhbHVlKSk7XG5cbiAgICAgICAgICAgIG9ialtrZXldID0gZ2V0RmVlZGJhY2sodmFsKTtcblxuICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHt9LFxuICAgICAgICApXG4gICAgICA6IHt9O1xuXG4gIC8vIGNoZWNrIGlmIGF0IGxlYXN0IG9uZSBjaG9pY2UgaGFzIGFuIGFsdGVybmF0ZVxuICBjb25zdCBzaG93Tm90ZSA9IE9iamVjdC52YWx1ZXMoY2hvaWNlcykuc29tZSgoY2hvaWNlKSA9PiBjaG9pY2U/Lmxlbmd0aCA+IDEpO1xuICBjb25zdCBub3RlID1cbiAgICBub3JtYWxpemVkUXVlc3Rpb24ubm90ZSB8fFxuICAgIHRyYW5zbGF0b3IudCgnY29tbW9uOmNvbW1vbkNvcnJlY3RBbnN3ZXJXaXRoQWx0ZXJuYXRlcycsIHsgbG5nOiBub3JtYWxpemVkUXVlc3Rpb24ubGFuZ3VhZ2UgfSk7XG5cbiAgY29uc3QgeyBtYXhMZW5ndGhQZXJDaG9pY2UgPSBbXSwgbWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCB9ID0gbm9ybWFsaXplZFF1ZXN0aW9uO1xuICBjb25zdCB1bmRlZmluZWRMZW5ndGhzID0gIW1heExlbmd0aFBlckNob2ljZS5sZW5ndGg7XG5cbiAgLy8gY2FsY3VsYXRlIG1heExlbmd0aFBlckNob2ljZSBhcnJheSBpZiBpdCBpcyBub3QgZGVmaW5lZCBvciBkZWZpbmVkIGluY29ycmVjdGx5XG4gIE9iamVjdC52YWx1ZXMoY2hvaWNlcykuZm9yRWFjaCgoY2hvaWNlLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IGxhYmVsTGVuZ3Roc0FyciA9IChjaG9pY2UgfHwgW10pLm1hcCgoY2hvaWNlKSA9PiBkZWNvZGVIdG1sRW50aXRpZXMoY2hvaWNlLmxhYmVsIHx8ICcnKS5sZW5ndGgpO1xuICAgIGNvbnN0IGxlbmd0aCA9IE1hdGgubWF4KC4uLmxhYmVsTGVuZ3Roc0Fycik7XG5cbiAgICBpZiAoXG4gICAgICB1bmRlZmluZWRMZW5ndGhzIHx8XG4gICAgICAhbWF4TGVuZ3RoUGVyQ2hvaWNlW2luZGV4XSB8fFxuICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlW2luZGV4XSA8IGxlbmd0aCB8fFxuICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlW2luZGV4XSA+IGxlbmd0aCArIDEwXG4gICAgKSB7XG4gICAgICBtYXhMZW5ndGhQZXJDaG9pY2VbaW5kZXhdID0gZ2V0QWRqdXN0ZWRMZW5ndGgobGVuZ3RoKTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IG91dCA9IHtcbiAgICBjaG9pY2VzLFxuICAgIGRpc2FibGVkOiBlbnYubW9kZSAhPT0gJ2dhdGhlcicsXG4gICAgZGlzcGxheVR5cGU6IG5vcm1hbGl6ZWRRdWVzdGlvbi5kaXNwbGF5VHlwZSxcbiAgICBtb2RlOiBlbnYubW9kZSxcbiAgICByb2xlOiBlbnYucm9sZSxcbiAgICBmZWVkYmFjayxcbiAgICBsYW5ndWFnZTogbm9ybWFsaXplZFF1ZXN0aW9uLmxhbmd1YWdlLFxuICAgIG1hcmt1cDogbm9ybWFsaXplZFF1ZXN0aW9uLm1hcmt1cCxcbiAgICBtYXhMZW5ndGhQZXJDaG9pY2UsXG4gICAgbWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCxcbiAgICBub3RlLFxuICAgIHBsYXllclNwZWxsQ2hlY2tFbmFibGVkOiBub3JtYWxpemVkUXVlc3Rpb24ucGxheWVyU3BlbGxDaGVja0VuYWJsZWQsXG4gICAgcHJvbXB0OiBub3JtYWxpemVkUXVlc3Rpb24ucHJvbXB0RW5hYmxlZCA/IG5vcm1hbGl6ZWRRdWVzdGlvbi5wcm9tcHQgOiBkZWZhdWx0cy5wcm9tcHQsXG4gICAgcmF0aW9uYWxlOiBkZWZhdWx0cy5yYXRpb25hbGUsXG4gICAgcmVzcG9uc2VDb3JyZWN0OiBlbnYubW9kZSA9PT0gJ2V2YWx1YXRlJyA/IGdldFNjb3JlKG5vcm1hbGl6ZWRRdWVzdGlvbiwgc2Vzc2lvbikgPT09IDEgOiB1bmRlZmluZWQsXG4gICAgc2hvd05vdGUsXG4gICAgdGVhY2hlckluc3RydWN0aW9uczogZGVmYXVsdHMudGVhY2hlckluc3RydWN0aW9ucyxcbiAgICByZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb246IG5vcm1hbGl6ZWRRdWVzdGlvbi5yZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb24sXG4gICAgZXh0cmFDU1NSdWxlczogbm9ybWFsaXplZFF1ZXN0aW9uLmV4dHJhQ1NTUnVsZXMsXG4gIH07XG5cbiAgaWYgKGVudi5yb2xlID09PSAnaW5zdHJ1Y3RvcicgJiYgKGVudi5tb2RlID09PSAndmlldycgfHwgZW52Lm1vZGUgPT09ICdldmFsdWF0ZScpKSB7XG4gICAgb3V0LnJhdGlvbmFsZSA9IG5vcm1hbGl6ZWRRdWVzdGlvbi5yYXRpb25hbGVFbmFibGVkID8gbm9ybWFsaXplZFF1ZXN0aW9uLnJhdGlvbmFsZSA6IGRlZmF1bHRzLnJhdGlvbmFsZTtcbiAgICBvdXQudGVhY2hlckluc3RydWN0aW9ucyA9IG5vcm1hbGl6ZWRRdWVzdGlvbi50ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZFxuICAgICAgPyBub3JtYWxpemVkUXVlc3Rpb24udGVhY2hlckluc3RydWN0aW9uc1xuICAgICAgOiBkZWZhdWx0cy50ZWFjaGVySW5zdHJ1Y3Rpb25zO1xuICB9XG5cbiAgcmV0dXJuIG91dDtcbn1cblxuZXhwb3J0IGNvbnN0IHByZXBhcmVWYWwgPSAoaHRtbCkgPT4ge1xuICByZXR1cm4gZGVjb2RlSFRNTChnZXRJbm5lclRleHQoaHRtbCkudHJpbSgpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTY29yZSA9IChjb25maWcsIHNlc3Npb24pID0+IHtcbiAgY29uc3QgeyB2YWx1ZSB9ID0gc2Vzc2lvbiB8fCB7fTtcblxuICBpZiAoIXNlc3Npb24gfHwgaXNFbXB0eShzZXNzaW9uKSB8fCAhdmFsdWUpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlQXJlYXMgPSBjb25maWcubWFya3VwICYmIGNvbmZpZy5tYXJrdXAubWF0Y2goL1xce1xceyguKz8pXFx9XFx9L2cpO1xuICBjb25zdCBtYXhTY29yZSA9IHJlc3BvbnNlQXJlYXMgPyByZXNwb25zZUFyZWFzLmxlbmd0aCA6IDA7XG4gIGNvbnN0IGNvcnJlY3RDb3VudCA9IHJlZHVjZShcbiAgICBjb25maWcuY2hvaWNlcyxcbiAgICAodG90YWwsIHJlc3BBcmVhLCBrZXkpID0+IHtcbiAgICAgIGNvbnN0IGNob3NlblZhbHVlID0gdmFsdWUgJiYgdmFsdWVba2V5XTtcblxuICAgICAgaWYgKGlzRW1wdHkoY2hvc2VuVmFsdWUpIHx8ICFmaW5kKHJlc3BBcmVhLCAoYykgPT4gcHJlcGFyZVZhbChjLmxhYmVsKSA9PT0gcHJlcGFyZVZhbChjaG9zZW5WYWx1ZSkpKSB7XG4gICAgICAgIHJldHVybiB0b3RhbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRvdGFsICsgMTtcbiAgICB9LFxuICAgIDAsXG4gICk7XG5cbiAgY29uc3Qgc3RyID0gbWF4U2NvcmUgPyAoY29ycmVjdENvdW50IC8gbWF4U2NvcmUpLnRvRml4ZWQoMikgOiAwO1xuXG4gIHJldHVybiBwYXJzZUZsb2F0KHN0cik7XG59O1xuXG4gIC8qKlxuICogR2VuZXJhdGVzIGRldGFpbGVkIHRyYWNlIGxvZyBmb3Igc2NvcmluZyBldmFsdWF0aW9uXG4gKiBAcGFyYW0ge09iamVjdH0gbW9kZWwgLSB0aGUgcXVlc3Rpb24gbW9kZWxcbiAqIEBwYXJhbSB7T2JqZWN0fSBzZXNzaW9uIC0gdGhlIHN0dWRlbnQgc2Vzc2lvblxuICogQHBhcmFtIHtPYmplY3R9IGVudiAtIHRoZSBlbnZpcm9ubWVudFxuICogQHJldHVybnMge0FycmF5fSB0cmFjZUxvZyAtIGFycmF5IG9mIHRyYWNlIG1lc3NhZ2VzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRMb2dUcmFjZSA9IChtb2RlbCwgc2Vzc2lvbiwgZW52KSA9PiB7XG4gIGNvbnN0IHRyYWNlTG9nID0gW107XG4gIGNvbnN0IHsgdmFsdWUgfSA9IHNlc3Npb24gfHwge307XG4gIGNvbnN0IHsgY2hvaWNlcywgbWFya3VwIH0gPSBtb2RlbCB8fCB7fTtcbiAgXG4gIGNvbnN0IHJlc3BvbnNlQXJlYXMgPSBtYXJrdXAgPyBtYXJrdXAubWF0Y2goL1xce1xceyguKz8pXFx9XFx9L2cpIDogW107XG4gIGNvbnN0IHRvdGFsQXJlYXMgPSByZXNwb25zZUFyZWFzID8gcmVzcG9uc2VBcmVhcy5sZW5ndGggOiAwO1xuICBcbiAgdHJhY2VMb2cucHVzaChgJHt0b3RhbEFyZWFzfSByZXNwb25zZSBhcmVhKHMpIGRlZmluZWQgaW4gdGhpcyBxdWVzdGlvbi5gKTtcbiAgXG4gIGlmICh2YWx1ZSAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGZpbGxlZEFyZWFzID0gT2JqZWN0LmVudHJpZXModmFsdWUpLmZpbHRlcigoW2tleSwgdmFsXSkgPT4gdmFsICYmIHZhbC50cmltKCkpLmxlbmd0aDtcbiAgICB0cmFjZUxvZy5wdXNoKGBTdHVkZW50IGZpbGxlZCAke2ZpbGxlZEFyZWFzfSBvdXQgb2YgJHt0b3RhbEFyZWFzfSByZXNwb25zZSBhcmVhKHMpLmApO1xuICAgIFxuICAgIE9iamVjdC5rZXlzKGNob2ljZXMgfHwge30pLmZvckVhY2goKGFyZWFLZXkpID0+IHtcbiAgICAgIGNvbnN0IHN0dWRlbnRBbnN3ZXIgPSAodmFsdWUgJiYgdmFsdWVbYXJlYUtleV0pIHx8ICcnO1xuICAgICAgY29uc3QgY29ycmVjdE9wdGlvbnMgPSBjaG9pY2VzW2FyZWFLZXldIHx8IFtdO1xuICAgICAgY29uc3QgaXNDb3JyZWN0ID0gIWlzRW1wdHkoc3R1ZGVudEFuc3dlci50cmltKCkpICYmIFxuICAgICAgICBjb3JyZWN0T3B0aW9ucy5zb21lKG9wdGlvbiA9PiBwcmVwYXJlVmFsKG9wdGlvbi5sYWJlbCkgPT09IHByZXBhcmVWYWwoc3R1ZGVudEFuc3dlcikpO1xuICAgICAgXG4gICAgICBpZiAoc3R1ZGVudEFuc3dlci50cmltKCkpIHtcbiAgICAgICAgdHJhY2VMb2cucHVzaChgUmVzcG9uc2UgYXJlYSAke3BhcnNlSW50KGFyZWFLZXkpICsgMX06ICR7aXNDb3JyZWN0ID8gJ0NPUlJFQ1QnIDogJ0lOQ09SUkVDVCd9LmApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJhY2VMb2cucHVzaChgUmVzcG9uc2UgYXJlYSAke3BhcnNlSW50KGFyZWFLZXkpICsgMX06IGxlZnQgZW1wdHkuYCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgdHJhY2VMb2cucHVzaCgnU3R1ZGVudCBkaWQgbm90IGZpbGwgYW55IHJlc3BvbnNlIGFyZWFzLicpO1xuICB9XG5cbiAgY29uc3QgaGFzQWx0ZXJuYXRlcyA9IE9iamVjdC52YWx1ZXMoY2hvaWNlcyB8fCB7fSkuc29tZShvcHRpb25BcnJheSA9PiBvcHRpb25BcnJheS5sZW5ndGggPiAxKTtcbiAgaWYgKGhhc0FsdGVybmF0ZXMpIHtcbiAgICB0cmFjZUxvZy5wdXNoKGBBbHRlcm5hdGUgYW5zd2VycyBhcmUgYWNjZXB0ZWQgZm9yIHNvbWUgcmVzcG9uc2UgYXJlYXMuYCk7XG4gIH1cblxuICBjb25zdCBwYXJ0aWFsU2NvcmluZ0VuYWJsZWQgPSBwYXJ0aWFsU2NvcmluZy5lbmFibGVkKG1vZGVsLCBlbnYpO1xuICBcbiAgaWYgKHBhcnRpYWxTY29yaW5nRW5hYmxlZCkge1xuICAgIHRyYWNlTG9nLnB1c2goYFNjb3JlIGNhbGN1bGF0ZWQgdXNpbmcgcGFydGlhbCBzY29yaW5nLmApO1xuICAgIHRyYWNlTG9nLnB1c2goYFN0dWRlbnQgcmVjZWl2ZXMgY3JlZGl0IGZvciBlYWNoIGNvcnJlY3RseSBmaWxsZWQgcmVzcG9uc2UgYXJlYS5gKTtcbiAgICBcbiAgICBpZiAodmFsdWUgJiYgT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA+IDApIHtcbiAgICAgIGxldCBjb3JyZWN0Q291bnQgPSAwO1xuICAgICAgT2JqZWN0LmtleXMoY2hvaWNlcyB8fCB7fSkuZm9yRWFjaCgoYXJlYUtleSkgPT4ge1xuICAgICAgICBjb25zdCBzdHVkZW50QW5zd2VyID0gKHZhbHVlICYmIHZhbHVlW2FyZWFLZXldKSB8fCAnJztcbiAgICAgICAgY29uc3QgY29ycmVjdE9wdGlvbnMgPSBjaG9pY2VzW2FyZWFLZXldIHx8IFtdO1xuICAgICAgICBjb25zdCBpc0NvcnJlY3QgPSAhaXNFbXB0eShzdHVkZW50QW5zd2VyLnRyaW0oKSkgJiYgXG4gICAgICAgICAgY29ycmVjdE9wdGlvbnMuc29tZShvcHRpb24gPT4gcHJlcGFyZVZhbChvcHRpb24ubGFiZWwpID09PSBwcmVwYXJlVmFsKHN0dWRlbnRBbnN3ZXIpKTtcbiAgICAgICAgaWYgKGlzQ29ycmVjdCkgY29ycmVjdENvdW50Kys7XG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgdHJhY2VMb2cucHVzaChgUGFydGlhbCBzY29yaW5nOiAke2NvcnJlY3RDb3VudH0gY29ycmVjdCBvdXQgb2YgJHt0b3RhbEFyZWFzfSByZXNwb25zZSBhcmVhcy5gKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdHJhY2VMb2cucHVzaChgU2NvcmUgY2FsY3VsYXRlZCB1c2luZyBhbGwtb3Itbm90aGluZyBzY29yaW5nLmApO1xuICAgIHRyYWNlTG9nLnB1c2goYFN0dWRlbnQgbXVzdCBmaWxsIGFsbCByZXNwb25zZSBhcmVhcyBjb3JyZWN0bHkgdG8gcmVjZWl2ZSBmdWxsIGNyZWRpdC5gKTtcbiAgfVxuXG4gIGNvbnN0IHNjb3JlID0gZ2V0U2NvcmUobW9kZWwsIHNlc3Npb24pO1xuICB0cmFjZUxvZy5wdXNoKGBTY29yZTogJHtzY29yZX0uYCk7XG5cbiAgcmV0dXJuIHRyYWNlTG9nO1xufTtcblxuLyoqXG4gKiBUaGUgc2NvcmUgaXMgcGFydGlhbCBieSBkZWZhdWx0IGZvciBjaGVja2JveCBtb2RlLCBhbGxPck5vdGhpbmcgZm9yIHJhZGlvIG1vZGUuXG4gKiBUbyBkaXNhYmxlIHBhcnRpYWwgc2NvcmluZyBmb3IgY2hlY2tib3ggbW9kZSB5b3UgZWl0aGVyIHNldCBtb2RlbC5wYXJ0aWFsU2NvcmluZyA9IGZhbHNlIG9yIGVudi5wYXJ0aWFsU2NvcmluZyA9XG4gKiBmYWxzZS4gdGhlIHZhbHVlIGluIGBlbnZgIHdpbGwgb3ZlcnJpZGUgdGhlIHZhbHVlIGluIGBtb2RlbGAuXG4gKiBAcGFyYW0ge09iamVjdH0gbW9kZWwgLSB0aGUgbWFpbiBtb2RlbFxuICogQHBhcmFtIHtib29sZWFufSBtb2RlbC5wYXJ0aWFsU2NvcmluZyAtIGlzIHBhcnRpYWwgc2NvcmluZyBlbmFibGVkIChpZiB1bmRlZmluZWQgc2V0IHRvIHRvIHRydWUpXG4gKiBAcGFyYW0geyp9IHNlc3Npb25cbiAqIEBwYXJhbSB7T2JqZWN0fSBlbnZcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gZW52LnBhcnRpYWxTY29yaW5nIC0gaXMgcGFydGlhbCBzY29yaW5nIGVuYWJsZWQgKGlmIHVuZGVmaW5lZCBkZWZhdWx0IHRvIHRydWUpIFRoaXMgb3ZlcnJpZGVzXG4gKiAgIGBtb2RlbC5wYXJ0aWFsU2NvcmluZ2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdXRjb21lKG1vZGVsLCBzZXNzaW9uLCBlbnYgPSB7fSkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBpZiAoIXNlc3Npb24gfHwgaXNFbXB0eShzZXNzaW9uKSkge1xuICAgICAgcmVzb2x2ZSh7IFxuICAgICAgICBzY29yZTogMCwgXG4gICAgICAgIGVtcHR5OiB0cnVlLCBcbiAgICAgICAgdHJhY2VMb2c6IFsnU3R1ZGVudCBkaWQgbm90IGZpbGwgYW55IHJlc3BvbnNlIGFyZWFzLiBTY29yZTogMC4nXSBcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0cmFjZUxvZyA9IGdldExvZ1RyYWNlKG1vZGVsLCBzZXNzaW9uLCBlbnYpO1xuICAgICAgY29uc3QgcGFydGlhbFNjb3JpbmdFbmFibGVkID0gcGFydGlhbFNjb3JpbmcuZW5hYmxlZChtb2RlbCwgZW52KTtcbiAgICAgIGNvbnN0IHNjb3JlID0gZ2V0U2NvcmUobW9kZWwsIHNlc3Npb24pO1xuXG4gICAgICByZXNvbHZlKHsgXG4gICAgICAgIHNjb3JlOiBwYXJ0aWFsU2NvcmluZ0VuYWJsZWQgPyBzY29yZSA6IHNjb3JlID09PSAxID8gMSA6IDAsIFxuICAgICAgICBlbXB0eTogZmFsc2UsXG4gICAgICAgIHRyYWNlTG9nIFxuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNvcnJlY3RSZXNwb25zZVNlc3Npb24gPSAocXVlc3Rpb24sIGVudikgPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBpZiAoZW52Lm1vZGUgIT09ICdldmFsdWF0ZScgJiYgZW52LnJvbGUgPT09ICdpbnN0cnVjdG9yJykge1xuICAgICAgY29uc3QgeyBjaG9pY2VzIH0gPSBxdWVzdGlvbjtcbiAgICAgIGNvbnN0IHZhbHVlID0ge307XG5cbiAgICAgIE9iamVjdC5rZXlzKGNob2ljZXMpLmZvckVhY2goKGtleSwgaSkgPT4ge1xuICAgICAgICB2YWx1ZVtpXSA9IGNob2ljZXNba2V5XVswXS5sYWJlbDtcbiAgICAgIH0pO1xuXG4gICAgICByZXNvbHZlKHsgaWQ6ICcxJywgdmFsdWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8vIHJlbW92ZSBhbGwgaHRtbCB0YWdzXG4vLyBjb25zdCBnZXRJbm5lclRleHQgPSAoaHRtbCkgPT4gKGh0bWwgfHwgJycpLnJlcGxhY2VBbGwoLzxbXj5dKj4vZywgJycpO1xuY29uc3QgZ2V0SW5uZXJUZXh0ID0gKGh0bWwpID0+IHtcbiAgaWYgKHR5cGVvZiBodG1sICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBpZiAodHlwZW9mIGh0bWwucmVwbGFjZUFsbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBodG1sLnJlcGxhY2VBbGwoLzxbXj5dKj4vZywgJycpO1xuICB9IGVsc2Uge1xuICAgIC8vIFBvbHlmaWxsIGZvciByZXBsYWNlQWxsIHVzaW5nIHJlcGxhY2UgYW5kIGEgZ2xvYmFsIHJlZ2V4XG4gICAgcmV0dXJuIGh0bWwucmVwbGFjZSgvPFtePl0qPi9nLCAnJyk7XG4gIH1cbn07XG5cbmNvbnN0IGRlY29kZUhUTUwgPSAoaHRtbCkgPT4gZGVjb2RlKGh0bWwpO1xuXG4vLyByZW1vdmUgYWxsIGh0bWwgdGFncyBleGNlcHQgaW1nLCBpZnJhbWUgYW5kIHNvdXJjZSB0YWcgZm9yIGF1ZGlvXG5jb25zdCBnZXRDb250ZW50ID0gKGh0bWwpID0+IChodG1sIHx8ICcnKS5yZXBsYWNlKC8oPCg/IWltZ3xpZnJhbWV8c291cmNlKShbXj5dKyk+KS9naSwgJycpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGUgPSAobW9kZWwgPSB7fSwgY29uZmlnID0ge30pID0+IHtcbiAgY29uc3QgeyBjaG9pY2VzLCBtYXJrdXAgfSA9IG1vZGVsO1xuICBjb25zdCB7IG1heFJlc3BvbnNlQXJlYXMgfSA9IGNvbmZpZztcbiAgY29uc3QgYWxsQ2hvaWNlc0Vycm9ycyA9IHt9O1xuICBjb25zdCBlcnJvcnMgPSB7fTtcblxuICBbJ3RlYWNoZXJJbnN0cnVjdGlvbnMnLCAncHJvbXB0JywgJ3JhdGlvbmFsZSddLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgaWYgKGNvbmZpZ1tmaWVsZF0/LnJlcXVpcmVkICYmICFnZXRDb250ZW50KG1vZGVsW2ZpZWxkXSkpIHtcbiAgICAgIGVycm9yc1tmaWVsZF0gPSAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nO1xuICAgIH1cbiAgfSk7XG5cbiAgT2JqZWN0LmVudHJpZXMoY2hvaWNlcyB8fCB7fSkuZm9yRWFjaCgoW2tleSwgdmFsdWVzXSkgPT4ge1xuICAgIGNvbnN0IHJldmVyc2VkQ2hvaWNlcyA9IFsuLi4odmFsdWVzIHx8IFtdKV0ucmV2ZXJzZSgpO1xuICAgIGNvbnN0IGNob2ljZXNFcnJvcnMgPSB7fTtcblxuICAgIHJldmVyc2VkQ2hvaWNlcy5mb3JFYWNoKChjaG9pY2UsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBsYWJlbCB9ID0gY2hvaWNlO1xuXG4gICAgICBpZiAobGFiZWwgPT09ICcnIHx8IGxhYmVsID09PSAnPGRpdj48L2Rpdj4nKSB7XG4gICAgICAgIGNob2ljZXNFcnJvcnNbdmFsdWVdID0gJ0NvbnRlbnQgc2hvdWxkIG5vdCBiZSBlbXB0eS4nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaWRlbnRpY2FsQW5zd2VyID0gcmV2ZXJzZWRDaG9pY2VzLnNsaWNlKGluZGV4ICsgMSkuc29tZSgoYykgPT4gYy5sYWJlbCA9PT0gbGFiZWwpO1xuXG4gICAgICAgIGlmIChpZGVudGljYWxBbnN3ZXIpIHtcbiAgICAgICAgICBjaG9pY2VzRXJyb3JzW3ZhbHVlXSA9ICdDb250ZW50IHNob3VsZCBiZSB1bmlxdWUuJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFpc0VtcHR5KGNob2ljZXNFcnJvcnMpKSB7XG4gICAgICBhbGxDaG9pY2VzRXJyb3JzW2tleV0gPSBjaG9pY2VzRXJyb3JzO1xuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgbmJPZlJlc3BvbnNlQXJlYXMgPSAobWFya3VwLm1hdGNoKC9cXHtcXHsoXFxkKylcXH1cXH0vZykgfHwgW10pLmxlbmd0aDtcblxuICBpZiAobmJPZlJlc3BvbnNlQXJlYXMgPiBtYXhSZXNwb25zZUFyZWFzKSB7XG4gICAgZXJyb3JzLnJlc3BvbnNlQXJlYXMgPSBgTm8gbW9yZSB0aGFuICR7bWF4UmVzcG9uc2VBcmVhc30gcmVzcG9uc2UgYXJlYXMgc2hvdWxkIGJlIGRlZmluZWQuYDtcbiAgfSBlbHNlIGlmIChuYk9mUmVzcG9uc2VBcmVhcyA8IDEpIHtcbiAgICBlcnJvcnMucmVzcG9uc2VBcmVhcyA9ICdUaGVyZSBzaG91bGQgYmUgYXQgbGVhc3QgMSByZXNwb25zZSBhcmVhIGRlZmluZWQuJztcbiAgfVxuXG4gIGlmICghaXNFbXB0eShhbGxDaG9pY2VzRXJyb3JzKSkge1xuICAgIGVycm9ycy5jaG9pY2VzID0gYWxsQ2hvaWNlc0Vycm9ycztcbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxTQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxNQUFNO0VBQUVNO0FBQVcsQ0FBQyxHQUFHQyxtQkFBVTtBQUVqQyxNQUFNQyxHQUFHLEdBQUcsSUFBQUMsY0FBSyxFQUFDLDBDQUEwQyxDQUFDO0FBRXRELE1BQU1DLGFBQWEsR0FBR0EsQ0FBQ0MsSUFBSSxFQUFFQyxlQUFlLEtBQU1DLE1BQU0sSUFBSztFQUNsRSxNQUFNQyxHQUFH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
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@pie-element/explicit-constructed-response-controller",
3
3
  "private": true,
4
- "version": "8.0.0",
4
+ "version": "8.1.0-next.1",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "author": "",
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
- "@pie-lib/controller-utils": "2.0.0",
12
- "@pie-lib/translator": "4.0.0",
11
+ "@pie-lib/controller-utils": "2.0.2",
12
+ "@pie-lib/translator": "4.0.2",
13
13
  "debug": "^4.1.1",
14
14
  "he": "^1.2.0",
15
15
  "lodash-es": "^4.17.23",
@@ -0,0 +1,11 @@
1
+ {
2
+ "hash": "1734133933",
3
+ "info": [
4
+ {
5
+ "pie": "@pie-element/explicit-constructed-response",
6
+ "version": {
7
+ "requested": "latest"
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ var _react = require("@testing-library/react");
6
+ var _react2 = _interopRequireDefault(require("react"));
7
+ var _styles = require("@mui/material/styles");
8
+ var _main = require("../main");
9
+ jest.mock('@pie-lib/render-ui', () => ({
10
+ PreviewPrompt: ({
11
+ prompt
12
+ }) => /*#__PURE__*/_react2.default.createElement("div", {
13
+ "data-testid": "preview-prompt"
14
+ }, prompt),
15
+ Collapsible: ({
16
+ children
17
+ }) => /*#__PURE__*/_react2.default.createElement("div", {
18
+ "data-testid": "collapsible"
19
+ }, children),
20
+ UiLayout: ({
21
+ children
22
+ }) => /*#__PURE__*/_react2.default.createElement("div", {
23
+ "data-testid": "ui-layout"
24
+ }, children),
25
+ hasText: jest.fn(() => true),
26
+ hasMedia: jest.fn(() => false),
27
+ color: {
28
+ text: () => '#000',
29
+ background: () => '#fff'
30
+ }
31
+ }));
32
+ jest.mock('@pie-lib/correct-answer-toggle', () => ({
33
+ __esModule: true,
34
+ default: ({
35
+ children
36
+ }) => /*#__PURE__*/_react2.default.createElement("div", {
37
+ "data-testid": "correct-answer-toggle"
38
+ }, children)
39
+ }));
40
+ jest.mock('@pie-lib/mask-markup', () => ({
41
+ ConstructedResponse: props => /*#__PURE__*/_react2.default.createElement("div", (0, _extends2.default)({
42
+ "data-testid": "constructed-response"
43
+ }, props))
44
+ }));
45
+ const theme = (0, _styles.createTheme)();
46
+ const choice = (l, v) => ({
47
+ label: l,
48
+ value: v
49
+ });
50
+ describe('Main', () => {
51
+ let onChange = jest.fn();
52
+ beforeEach(() => {
53
+ jest.clearAllMocks();
54
+ });
55
+ const renderMain = (extra = {}) => {
56
+ const props = {
57
+ classes: {},
58
+ prompt: 'Prompt',
59
+ rationale: 'Rationale',
60
+ teacherInstructions: 'Teacher Instructions',
61
+ disabled: false,
62
+ choices: {
63
+ 0: [choice('cow', '0'), choice('cattle', '1'), choice('calf', '2')],
64
+ 1: [choice('over', '0'), choice('past', '1'), choice('beyond', '2')],
65
+ 2: [choice('moon', '0')]
66
+ },
67
+ markup: '<p>The {{0}} jumped {{1}} the {{2}}</p>',
68
+ mode: 'gather',
69
+ feedback: {
70
+ 0: 'correct',
71
+ 1: 'correct',
72
+ 2: 'correct'
73
+ },
74
+ value: {
75
+ 0: '1',
76
+ 1: '0',
77
+ 2: '0'
78
+ },
79
+ onChange,
80
+ ...extra
81
+ };
82
+ return (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_styles.ThemeProvider, {
83
+ theme: theme
84
+ }, /*#__PURE__*/_react2.default.createElement(_main.Main, props)));
85
+ };
86
+ describe('logic', () => {
87
+ it('onChange calls the onChange prop after debounce', () => {
88
+ jest.useFakeTimers();
89
+ const {
90
+ container
91
+ } = renderMain();
92
+
93
+ // Get the Main component instance to test internal onChange method
94
+ const mainInstance = new _main.Main({
95
+ classes: {},
96
+ prompt: 'Prompt',
97
+ rationale: 'Rationale',
98
+ teacherInstructions: 'Teacher Instructions',
99
+ disabled: false,
100
+ choices: {
101
+ 0: [choice('cow', '0'), choice('cattle', '1'), choice('calf', '2')],
102
+ 1: [choice('over', '0'), choice('past', '1'), choice('beyond', '2')],
103
+ 2: [choice('moon', '0')]
104
+ },
105
+ markup: '<p>The {{0}} jumped {{1}} the {{2}}</p>',
106
+ mode: 'gather',
107
+ feedback: {
108
+ 0: 'correct',
109
+ 1: 'correct',
110
+ 2: 'correct'
111
+ },
112
+ value: {
113
+ 0: '1',
114
+ 1: '0',
115
+ 2: '0'
116
+ },
117
+ onChange
118
+ });
119
+ mainInstance.onChange({
120
+ 0: '0',
121
+ 1: '0',
122
+ 2: '0'
123
+ });
124
+
125
+ // Fast-forward time to trigger debounced callback
126
+ jest.advanceTimersByTime(400);
127
+ expect(onChange).toHaveBeenCalledWith({
128
+ 0: '0',
129
+ 1: '0',
130
+ 2: '0'
131
+ });
132
+ jest.useRealTimers();
133
+ });
134
+ it('onChange when all responses have max length 1', () => {
135
+ const mainInstance = new _main.Main({
136
+ classes: {},
137
+ disabled: false,
138
+ choices: {
139
+ 0: [choice('b', '0')],
140
+ 1: [choice('a', '0')],
141
+ 2: [choice('c', '0')]
142
+ },
143
+ maxLengthPerChoice: [1, 1, 1],
144
+ markup: '<p>The {{0}} jumped {{1}} the {{2}}</p>',
145
+ mode: 'gather',
146
+ value: {
147
+ 0: '1',
148
+ 1: '0',
149
+ 2: '0'
150
+ },
151
+ onChange
152
+ });
153
+ mainInstance.onChange({
154
+ 0: 'a',
155
+ 1: 'b',
156
+ 2: 'c'
157
+ });
158
+ expect(onChange).toHaveBeenCalledWith({
159
+ 0: 'a',
160
+ 1: 'b',
161
+ 2: 'c'
162
+ });
163
+ });
164
+ });
165
+ });
166
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0MiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVzIiwiX21haW4iLCJqZXN0IiwibW9jayIsIlByZXZpZXdQcm9tcHQiLCJwcm9tcHQiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkNvbGxhcHNpYmxlIiwiY2hpbGRyZW4iLCJVaUxheW91dCIsImhhc1RleHQiLCJmbiIsImhhc01lZGlhIiwiY29sb3IiLCJ0ZXh0IiwiYmFja2dyb3VuZCIsIl9fZXNNb2R1bGUiLCJDb25zdHJ1Y3RlZFJlc3BvbnNlIiwicHJvcHMiLCJfZXh0ZW5kczIiLCJ0aGVtZSIsImNyZWF0ZVRoZW1lIiwiY2hvaWNlIiwibCIsInYiLCJsYWJlbCIsInZhbHVlIiwiZGVzY3JpYmUiLCJvbkNoYW5nZSIsImJlZm9yZUVhY2giLCJjbGVhckFsbE1vY2tzIiwicmVuZGVyTWFpbiIsImV4dHJhIiwiY2xhc3NlcyIsInJhdGlvbmFsZSIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJkaXNhYmxlZCIsImNob2ljZXMiLCJtYXJrdXAiLCJtb2RlIiwiZmVlZGJhY2siLCJyZW5kZXIiLCJUaGVtZVByb3ZpZGVyIiwiTWFpbiIsIml0IiwidXNlRmFrZVRpbWVycyIsImNvbnRhaW5lciIsIm1haW5JbnN0YW5jZSIsImFkdmFuY2VUaW1lcnNCeVRpbWUiLCJleHBlY3QiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsInVzZVJlYWxUaW1lcnMiLCJtYXhMZW5ndGhQZXJDaG9pY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL21haW4udGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVGhlbWVQcm92aWRlciwgY3JlYXRlVGhlbWUgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5cbmltcG9ydCB7IE1haW4gfSBmcm9tICcuLi9tYWluJztcblxuamVzdC5tb2NrKCdAcGllLWxpYi9yZW5kZXItdWknLCAoKSA9PiAoe1xuICBQcmV2aWV3UHJvbXB0OiAoeyBwcm9tcHQgfSkgPT4gPGRpdiBkYXRhLXRlc3RpZD1cInByZXZpZXctcHJvbXB0XCI+e3Byb21wdH08L2Rpdj4sXG4gIENvbGxhcHNpYmxlOiAoeyBjaGlsZHJlbiB9KSA9PiA8ZGl2IGRhdGEtdGVzdGlkPVwiY29sbGFwc2libGVcIj57Y2hpbGRyZW59PC9kaXY+LFxuICBVaUxheW91dDogKHsgY2hpbGRyZW4gfSkgPT4gPGRpdiBkYXRhLXRlc3RpZD1cInVpLWxheW91dFwiPntjaGlsZHJlbn08L2Rpdj4sXG4gIGhhc1RleHQ6IGplc3QuZm4oKCkgPT4gdHJ1ZSksXG4gIGhhc01lZGlhOiBqZXN0LmZuKCgpID0+IGZhbHNlKSxcbiAgY29sb3I6IHtcbiAgICB0ZXh0OiAoKSA9PiAnIzAwMCcsXG4gICAgYmFja2dyb3VuZDogKCkgPT4gJyNmZmYnLFxuICB9LFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL2NvcnJlY3QtYW5zd2VyLXRvZ2dsZScsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6ICh7IGNoaWxkcmVuIH0pID0+IDxkaXYgZGF0YS10ZXN0aWQ9XCJjb3JyZWN0LWFuc3dlci10b2dnbGVcIj57Y2hpbGRyZW59PC9kaXY+LFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL21hc2stbWFya3VwJywgKCkgPT4gKHtcbiAgQ29uc3RydWN0ZWRSZXNwb25zZTogKHByb3BzKSA9PiA8ZGl2IGRhdGEtdGVzdGlkPVwiY29uc3RydWN0ZWQtcmVzcG9uc2VcIiB7Li4ucHJvcHN9IC8+LFxufSkpO1xuXG5jb25zdCB0aGVtZSA9IGNyZWF0ZVRoZW1lKCk7XG5cbmNvbnN0IGNob2ljZSA9IChsLCB2KSA9PiAoeyBsYWJlbDogbCwgdmFsdWU6IHYgfSk7XG5cbmRlc2NyaWJlKCdNYWluJywgKCkgPT4ge1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgamVzdC5jbGVhckFsbE1vY2tzKCk7XG4gIH0pO1xuXG4gIGNvbnN0IHJlbmRlck1haW4gPSAoZXh0cmEgPSB7fSkgPT4ge1xuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBwcm9tcHQ6ICdQcm9tcHQnLFxuICAgICAgcmF0aW9uYWxlOiAnUmF0aW9uYWxlJyxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6ICdUZWFjaGVyIEluc3RydWN0aW9ucycsXG4gICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICBjaG9pY2VzOiB7XG4gICAgICAgIDA6IFtjaG9pY2UoJ2NvdycsICcwJyksIGNob2ljZSgnY2F0dGxlJywgJzEnKSwgY2hvaWNlKCdjYWxmJywgJzInKV0sXG4gICAgICAgIDE6IFtjaG9pY2UoJ292ZXInLCAnMCcpLCBjaG9pY2UoJ3Bhc3QnLCAnMScpLCBjaG9pY2UoJ2JleW9uZCcsICcyJyldLFxuICAgICAgICAyOiBbY2hvaWNlKCdtb29uJywgJzAnKV0sXG4gICAgICB9LFxuICAgICAgbWFya3VwOiAnPHA+VGhlIHt7MH19IGp1bXBlZCB7ezF9fSB0aGUge3syfX08L3A+JyxcbiAgICAgIG1vZGU6ICdnYXRoZXInLFxuICAgICAgZmVlZGJhY2s6IHsgMDogJ2NvcnJlY3QnLCAxOiAnY29ycmVjdCcsIDI6ICdjb3JyZWN0JyB9LFxuICAgICAgdmFsdWU6IHsgMDogJzEnLCAxOiAnMCcsIDI6ICcwJyB9LFxuICAgICAgb25DaGFuZ2UsXG4gICAgICAuLi5leHRyYSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlbmRlcihcbiAgICAgIDxUaGVtZVByb3ZpZGVyIHRoZW1lPXt0aGVtZX0+XG4gICAgICAgIDxNYWluIHsuLi5wcm9wc30gLz5cbiAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICApO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBpdCgnb25DaGFuZ2UgY2FsbHMgdGhlIG9uQ2hhbmdlIHByb3AgYWZ0ZXIgZGVib3VuY2UnLCAoKSA9PiB7XG4gICAgICBqZXN0LnVzZUZha2VUaW1lcnMoKTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJNYWluKCk7XG5cbiAgICAgIC8vIEdldCB0aGUgTWFpbiBjb21wb25lbnQgaW5zdGFuY2UgdG8gdGVzdCBpbnRlcm5hbCBvbkNoYW5nZSBtZXRob2RcbiAgICAgIGNvbnN0IG1haW5JbnN0YW5jZSA9IG5ldyBNYWluKHtcbiAgICAgICAgY2xhc3Nlczoge30sXG4gICAgICAgIHByb21wdDogJ1Byb21wdCcsXG4gICAgICAgIHJhdGlvbmFsZTogJ1JhdGlvbmFsZScsXG4gICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6ICdUZWFjaGVyIEluc3RydWN0aW9ucycsXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgY2hvaWNlczoge1xuICAgICAgICAgIDA6IFtjaG9pY2UoJ2NvdycsICcwJyksIGNob2ljZSgnY2F0dGxlJywgJzEnKSwgY2hvaWNlKCdjYWxmJywgJzInKV0sXG4gICAgICAgICAgMTogW2Nob2ljZSgnb3ZlcicsICcwJyksIGNob2ljZSgncGFzdCcsICcxJyksIGNob2ljZSgnYmV5b25kJywgJzInKV0sXG4gICAgICAgICAgMjogW2Nob2ljZSgnbW9vbicsICcwJyldLFxuICAgICAgICB9LFxuICAgICAgICBtYXJrdXA6ICc8cD5UaGUge3swfX0ganVtcGVkIHt7MX19IHRoZSB7ezJ9fTwvcD4nLFxuICAgICAgICBtb2RlOiAnZ2F0aGVyJyxcbiAgICAgICAgZmVlZGJhY2s6IHsgMDogJ2NvcnJlY3QnLCAxOiAnY29ycmVjdCcsIDI6ICdjb3JyZWN0JyB9LFxuICAgICAgICB2YWx1ZTogeyAwOiAnMScsIDE6ICcwJywgMjogJzAnIH0sXG4gICAgICAgIG9uQ2hhbmdlLFxuICAgICAgfSk7XG5cbiAgICAgIG1haW5JbnN0YW5jZS5vbkNoYW5nZSh7IDA6ICcwJywgMTogJzAnLCAyOiAnMCcgfSk7XG5cbiAgICAgIC8vIEZhc3QtZm9yd2FyZCB0aW1lIHRvIHRyaWdnZXIgZGVib3VuY2VkIGNhbGxiYWNrXG4gICAgICBqZXN0LmFkdmFuY2VUaW1lcnNCeVRpbWUoNDAwKTtcblxuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7IDA6ICcwJywgMTogJzAnLCAyOiAnMCcgfSk7XG5cbiAgICAgIGplc3QudXNlUmVhbFRpbWVycygpO1xuICAgIH0pO1xuXG4gICAgaXQoJ29uQ2hhbmdlIHdoZW4gYWxsIHJlc3BvbnNlcyBoYXZlIG1heCBsZW5ndGggMScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1haW5JbnN0YW5jZSA9IG5ldyBNYWluKHtcbiAgICAgICAgY2xhc3Nlczoge30sXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgY2hvaWNlczoge1xuICAgICAgICAgIDA6IFtjaG9pY2UoJ2InLCAnMCcpXSxcbiAgICAgICAgICAxOiBbY2hvaWNlKCdhJywgJzAnKV0sXG4gICAgICAgICAgMjogW2Nob2ljZSgnYycsICcwJyldLFxuICAgICAgICB9LFxuICAgICAgICBtYXhMZW5ndGhQZXJDaG9pY2U6IFsxLCAxLCAxXSxcbiAgICAgICAgbWFya3VwOiAnPHA+VGhlIHt7MH19IGp1bXBlZCB7ezF9fSB0aGUge3syfX08L3A+JyxcbiAgICAgICAgbW9kZTogJ2dhdGhlcicsXG4gICAgICAgIHZhbHVlOiB7IDA6ICcxJywgMTogJzAnLCAyOiAnMCcgfSxcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgICB9KTtcblxuICAgICAgbWFpbkluc3RhbmNlLm9uQ2hhbmdlKHsgMDogJ2EnLCAxOiAnYicsIDI6ICdjJyB9KTtcblxuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7IDA6ICdhJywgMTogJ2InLCAyOiAnYycgfSk7XG4gICAgfSk7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
package/lib/index.js CHANGED
@@ -88,4 +88,4 @@ class InlineDropdown extends HTMLElement {
88
88
  }
89
89
  }
90
90
  exports.default = InlineDropdown;
91
- //# sourceMappingURL=index.js.map
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGllbnQiLCJfcGllUGxheWVyRXZlbnRzIiwiX21hdGhSZW5kZXJpbmciLCJfbWFpbiIsIklubGluZURyb3Bkb3duIiwiSFRNTEVsZW1lbnQiLCJjb25zdHJ1Y3RvciIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiX21vZGVsIiwiX3Nlc3Npb24iLCJlbGVtIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiTWFpbiIsImNob2ljZXMiLCJkaXNhYmxlZCIsImRpc3BsYXlUeXBlIiwiZmVlZGJhY2siLCJsYW5ndWFnZSIsIm1hcmt1cCIsIm1heExlbmd0aFBlckNob2ljZSIsIm1heExlbmd0aFBlckNob2ljZUVuYWJsZWQiLCJtb2RlIiwibm90ZSIsIm9uQ2hhbmdlIiwiY2hhbmdlU2Vzc2lvbiIsInBsYXllclNwZWxsQ2hlY2tFbmFibGVkIiwicHJvbXB0IiwicmF0aW9uYWxlIiwicm9sZSIsInNob3dOb3RlIiwidGVhY2hlckluc3RydWN0aW9ucyIsInZhbHVlIiwicmVzcG9uc2VBcmVhSW5wdXRDb25maWd1cmF0aW9uIiwiX3Jvb3QiLCJjcmVhdGVSb290IiwicmVuZGVyIiwicXVldWVNaWNyb3Rhc2siLCJyZW5kZXJNYXRoIiwiZGlzcGF0Y2hFdmVudCIsIlNlc3Npb25DaGFuZ2VkRXZlbnQiLCJ0YWdOYW1lIiwidG9Mb3dlckNhc2UiLCJzZXNzaW9uIiwiZGlzcGF0Y2hDaGFuZ2VkRXZlbnQiLCJfcmVuZGVyIiwic2V0TGFuZ0F0dHJpYnV0ZSIsImxhbmciLCJzbGljZSIsInNldEF0dHJpYnV0ZSIsIm1vZGVsIiwibSIsIk1vZGVsU2V0RXZlbnQiLCJzIiwiY29ubmVjdGVkQ2FsbGJhY2siLCJkaXNjb25uZWN0ZWRDYWxsYmFjayIsInVubW91bnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSAncmVhY3QtZG9tL2NsaWVudCc7XG5pbXBvcnQgeyBNb2RlbFNldEV2ZW50LCBTZXNzaW9uQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQHBpZS1mcmFtZXdvcmsvcGllLXBsYXllci1ldmVudHMnO1xuaW1wb3J0IHsgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcblxuaW1wb3J0IE1haW4gZnJvbSAnLi9tYWluJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5saW5lRHJvcGRvd24gZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fbW9kZWwgPSBudWxsO1xuICAgIHRoaXMuX3Nlc3Npb24gPSBudWxsO1xuICAgIHRoaXMuX3Jvb3QgPSBudWxsO1xuICB9XG5cbiAgc2V0TGFuZ0F0dHJpYnV0ZSgpIHtcbiAgICBjb25zdCBsYW5ndWFnZSA9IHRoaXMuX21vZGVsICYmIHR5cGVvZiB0aGlzLl9tb2RlbC5sYW5ndWFnZSA/IHRoaXMuX21vZGVsLmxhbmd1YWdlIDogJyc7XG4gICAgY29uc3QgbGFuZyA9IGxhbmd1YWdlID8gbGFuZ3VhZ2Uuc2xpY2UoMCwgMikgOiAnZW4nO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdsYW5nJywgbGFuZyk7XG4gIH1cblxuICBzZXQgbW9kZWwobSkge1xuICAgIHRoaXMuX21vZGVsID0gbTtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgTW9kZWxTZXRFdmVudCh0aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKSwgdGhpcy5zZXNzaW9uICYmICEhdGhpcy5zZXNzaW9uLnZhbHVlLCAhIXRoaXMuX21vZGVsKSxcbiAgICApO1xuICAgIHRoaXMuc2V0TGFuZ0F0dHJpYnV0ZSgpO1xuXG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBzZXQgc2Vzc2lvbihzKSB7XG4gICAgdGhpcy5fc2Vzc2lvbiA9IHM7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBnZXQgc2Vzc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbjtcbiAgfVxuXG4gIF9yZW5kZXIgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuX21vZGVsICYmIHRoaXMuX3Nlc3Npb24pIHtcbiAgICAgIGxldCBlbGVtID0gUmVhY3QuY3JlYXRlRWxlbWVudChNYWluLCB7XG4gICAgICAgIGNob2ljZXM6IHRoaXMuX21vZGVsLmNob2ljZXMsXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLl9tb2RlbC5kaXNhYmxlZCxcbiAgICAgICAgZGlzcGxheVR5cGU6IHRoaXMuX21vZGVsLmRpc3BsYXlUeXBlLFxuICAgICAgICBmZWVkYmFjazogdGhpcy5fbW9kZWwuZmVlZGJhY2ssXG4gICAgICAgIGxhbmd1YWdlOiB0aGlzLl9tb2RlbC5sYW5ndWFnZSxcbiAgICAgICAgbWFya3VwOiB0aGlzLl9tb2RlbC5tYXJrdXAsXG4gICAgICAgIG1heExlbmd0aFBlckNob2ljZTogdGhpcy5fbW9kZWwubWF4TGVuZ3RoUGVyQ2hvaWNlLFxuICAgICAgICBtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkOiB0aGlzLl9tb2RlbC5tYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkLFxuICAgICAgICBtb2RlOiB0aGlzLl9tb2RlbC5tb2RlLFxuICAgICAgICBub3RlOiB0aGlzLl9tb2RlbC5ub3RlLFxuICAgICAgICBvbkNoYW5nZTogdGhpcy5jaGFuZ2VTZXNzaW9uLFxuICAgICAgICBwbGF5ZXJTcGVsbENoZWNrRW5hYmxlZDogdGhpcy5fbW9kZWwucGxheWVyU3BlbGxDaGVja0VuYWJsZWQsXG4gICAgICAgIHByb21wdDogdGhpcy5fbW9kZWwucHJvbXB0LFxuICAgICAgICByYXRpb25hbGU6IHRoaXMuX21vZGVsLnJhdGlvbmFsZSxcbiAgICAgICAgcm9sZTogdGhpcy5fbW9kZWwucm9sZSxcbiAgICAgICAgc2hvd05vdGU6IHRoaXMuX21vZGVsLnNob3dOb3RlLFxuICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiB0aGlzLl9tb2RlbC50ZWFjaGVySW5zdHJ1Y3Rpb25zLFxuICAgICAgICB2YWx1ZTogdGhpcy5fc2Vzc2lvbi52YWx1ZSxcbiAgICAgICAgcmVzcG9uc2VBcmVhSW5wdXRDb25maWd1cmF0aW9uOiB0aGlzLl9tb2RlbC5yZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb24sXG4gICAgICB9KTtcblxuICAgICAgaWYgKCF0aGlzLl9yb290KSB7XG4gICAgICAgIHRoaXMuX3Jvb3QgPSBjcmVhdGVSb290KHRoaXMpO1xuICAgICAgfVxuICAgICAgdGhpcy5fcm9vdC5yZW5kZXIoZWxlbSk7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgIHJlbmRlck1hdGgodGhpcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgZGlzcGF0Y2hDaGFuZ2VkRXZlbnQgPSAoKSA9PiB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBTZXNzaW9uQ2hhbmdlZEV2ZW50KHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpLCB0aGlzLnNlc3Npb24gJiYgISF0aGlzLnNlc3Npb24udmFsdWUpKTtcbiAgfTtcblxuICBjaGFuZ2VTZXNzaW9uID0gKHZhbHVlKSA9PiB7XG4gICAgdGhpcy5zZXNzaW9uLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5kaXNwYXRjaENoYW5nZWRFdmVudCgpO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9O1xuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgJ0ZpbGwgaW4gdGhlIEJsYW5rIFF1ZXN0aW9uJyk7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAncmVnaW9uJyk7XG5cbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxuXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIGlm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
package/lib/main.js CHANGED
@@ -202,4 +202,4 @@ exports.Main = Main;
202
202
  value: {}
203
203
  });
204
204
  var _default = exports.default = Main;
205
- //# sourceMappingURL=main.js.map
205
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfbG9kYXNoRXMiLCJfY29ycmVjdEFuc3dlclRvZ2dsZSIsIl9tYXNrTWFya3VwIiwiX3JlbmRlclVpIiwiX3N0eWxlcyIsIl90cmFuc2xhdG9yIiwidHJhbnNsYXRvciIsIlRyYW5zbGF0b3IiLCJNYWluQ29udGFpbmVyIiwic3R5bGVkIiwiVWlMYXlvdXQiLCJhbHdheXNTaG93Q29ycmVjdCIsImNvbG9yIiwidGV4dCIsImJhY2tncm91bmRDb2xvciIsImJhY2tncm91bmQiLCJib3JkZXJDb2xvciIsIk5vdGVDb250YWluZXIiLCJ0aGVtZSIsIm1hcmdpbkJvdHRvbSIsInNwYWNpbmciLCJDb2xsYXBzaWJsZUNvbnRhaW5lciIsIlNyT25seSIsInBvc2l0aW9uIiwibGVmdCIsInRvcCIsIndpZHRoIiwiaGVpZ2h0Iiwib3ZlcmZsb3ciLCJNYWluIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInNob3dDb3JyZWN0QW5zd2VyIiwicHJvcHMiLCJtYXhMZW5ndGhQZXJDaG9pY2UiLCJldmVyeSIsInZhbCIsIl9pIiwiYXJyIiwib25DaGFuZ2UiLCJkZWJvdW5jZSIsIm1heFdhaXQiLCJzZXRTdGF0ZSIsInN0YXRlIiwiZ2V0Q2hhbmdlU2Vzc2lvbiIsInZhbHVlIiwiY2hhbmdlU2Vzc2lvbiIsIlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwibmV4dFByb3BzIiwibGFuZ3VhZ2UiLCJub3RlIiwiaXNFbXB0eSIsImZlZWRiYWNrIiwiaXNFcXVhbCIsInQiLCJsbmciLCJyZW5kZXIiLCJhbmltYXRpb25zRGlzYWJsZWQiLCJtb2RlIiwiZGlzcGxheVR5cGUiLCJyb2xlIiwibWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCIsInBsYXllclNwZWxsQ2hlY2tFbmFibGVkIiwicHJvbXB0IiwicmF0aW9uYWxlIiwic2hvd05vdGUiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwicmVzcG9uc2VBcmVhSW5wdXRDb25maWd1cmF0aW9uIiwibW9kZWwiLCJleHRyYUNTU1J1bGVzIiwiZGlzcGxheU5vdGUiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRGl2IiwiY3JlYXRlRWxlbWVudCIsIlByZXZpZXdQcm9tcHQiLCJkZWZhdWx0Q2xhc3NOYW1lIiwicmF0aW9uYWxlRGl2Iiwic2hvd1JhdGlvbmFsZSIsImhhc1RleHQiLCJoYXNNZWRpYSIsInNob3dUZWFjaGVySW5zdHJ1Y3Rpb25zIiwic3R5bGUiLCJkaXNwbGF5IiwiQ29sbGFwc2libGUiLCJsYWJlbHMiLCJoaWRkZW4iLCJ2aXNpYmxlIiwic2hvdyIsInRvZ2dsZWQiLCJvblRvZ2dsZSIsInRvZ2dsZVNob3dDb3JyZWN0IiwiQ29uc3RydWN0ZWRSZXNwb25zZSIsIl9leHRlbmRzMiIsIm1heExlbmd0aCIsImFkanVzdGVkTGltaXQiLCJzcGVsbENoZWNrIiwicGx1Z2luUHJvcHMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImV4cG9ydHMiLCJQcm9wVHlwZXMiLCJib29sIiwiZGlzYWJsZWQiLCJzdHJpbmciLCJvYmplY3QiLCJtYXJrdXAiLCJhcnJheSIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvbWFpbi5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBpc0VtcHR5LCBpc0VxdWFsLCBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgQ29ycmVjdEFuc3dlclRvZ2dsZSBmcm9tICdAcGllLWxpYi9jb3JyZWN0LWFuc3dlci10b2dnbGUnO1xuaW1wb3J0IHsgQ29uc3RydWN0ZWRSZXNwb25zZSB9IGZyb20gJ0BwaWUtbGliL21hc2stbWFya3VwJztcbmltcG9ydCB7IGNvbG9yLCBDb2xsYXBzaWJsZSwgaGFzVGV4dCwgaGFzTWVkaWEsIFByZXZpZXdQcm9tcHQsIFVpTGF5b3V0IH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gJ0BwaWUtbGliL3RyYW5zbGF0b3InO1xuXG5jb25zdCB7IHRyYW5zbGF0b3IgfSA9IFRyYW5zbGF0b3I7XG5cbmNvbnN0IE1haW5Db250YWluZXIgPSBzdHlsZWQoVWlMYXlvdXQpKCh7IGFsd2F5c1Nob3dDb3JyZWN0IH0pID0+ICh7XG4gIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAuLi4oYWx3YXlzU2hvd0NvcnJlY3QgJiYge1xuICAgICcmIConOiB7XG4gICAgICBib3JkZXJDb2xvcjogYCR7Y29sb3IudGV4dCgpfSAhaW1wb3J0YW50YCxcbiAgICB9LFxuICB9KSxcbn0pKTtcblxuY29uc3QgTm90ZUNvbnRhaW5lciA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWFyZ2luQm90dG9tOiB0aGVtZS5zcGFjaW5nKDIpLFxufSkpO1xuXG5jb25zdCBDb2xsYXBzaWJsZUNvbnRhaW5lciA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWFyZ2luQm90dG9tOiB0aGVtZS5zcGFjaW5nKDIpLFxufSkpO1xuXG5jb25zdCBTck9ubHkgPSBzdHlsZWQoJ2gyJykoe1xuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgbGVmdDogJy0xMDAwMHB4JyxcbiAgdG9wOiAnYXV0bycsXG4gIHdpZHRoOiAnMXB4JyxcbiAgaGVpZ2h0OiAnMXB4JyxcbiAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxufSk7XG5cbmV4cG9ydCBjbGFzcyBNYWluIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBhbHdheXNTaG93Q29ycmVjdDogUHJvcFR5cGVzLmJvb2wsXG4gICAgYW5pbWF0aW9uc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVR5cGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZmVlZGJhY2s6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbGFuZ3VhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbWFya3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1heExlbmd0aFBlckNob2ljZTogUHJvcFR5cGVzLmFycmF5LFxuICAgIG1heExlbmd0aFBlckNob2ljZUVuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIG1vZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbm90ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcGxheWVyU3BlbGxDaGVja0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHByb21wdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICByYXRpb25hbGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcm9sZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaG93Tm90ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgdGVhY2hlckluc3RydWN0aW9uczogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICByZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHZhbHVlOiB7fSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBzaG93Q29ycmVjdEFuc3dlcjogdGhpcy5wcm9wcy5hbHdheXNTaG93Q29ycmVjdCB8fCBmYWxzZSxcbiAgfTtcblxuICAvLyBpZiBmb3IgYWxsIHJlc3BvbnNlcyBtYXggbGVuZ3RoIGlzIDEsIGNhbGwgb25DaGFuZ2UgZm9yIGVhY2gga2V5c3Ryb2tlXG4gIGdldENoYW5nZVNlc3Npb24gPSAobWF4TGVuZ3RoUGVyQ2hvaWNlKSA9PlxuICAgIG1heExlbmd0aFBlckNob2ljZSAmJiBtYXhMZW5ndGhQZXJDaG9pY2UuZXZlcnkoKHZhbCwgX2ksIGFycikgPT4gdmFsID09PSBhcnJbMF0gJiYgdmFsID09PSAxKVxuICAgICAgPyB0aGlzLnByb3BzLm9uQ2hhbmdlXG4gICAgICA6IGRlYm91bmNlKHRoaXMucHJvcHMub25DaGFuZ2UsIDIwMCwgeyBtYXhXYWl0OiAyMDAgfSk7XG5cbiAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgY29uc3QgeyBtYXhMZW5ndGhQZXJDaG9pY2UsIGxhbmd1YWdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCB7IG5vdGUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoaXNFbXB0eShuZXh0UHJvcHMuZmVlZGJhY2spKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0NvcnJlY3RBbnN3ZXI6IGZhbHNlIH0pO1xuICAgIH1cblxuICAgIGlmIChuZXh0UHJvcHMuYWx3YXlzU2hvd0NvcnJlY3QpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93Q29ycmVjdEFuc3dlcjogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBpZiAobWF4TGVuZ3RoUGVyQ2hvaWNlICYmICFpc0VxdWFsKG1heExlbmd0aFBlckNob2ljZSwgbmV4dFByb3BzLm1heExlbmd0aFBlckNob2ljZSkpIHtcbiAgICAgIHRoaXMuY2hhbmdlU2Vzc2lvbiA9IHRoaXMuZ2V0Q2hhbmdlU2Vzc2lvbihuZXh0UHJvcHMubWF4TGVuZ3RoUGVyQ2hvaWNlKTtcbiAgICB9XG5cbiAgICAvLyBjaGVjayBpZiB0aGUgbm90ZSBpcyB0aGUgZGVmYXVsdCBvbmUgZm9yIHByZXYgbGFuZ3VhZ2UgYW5kIGNoYW5nZSB0byB0aGUgZGVmYXVsdCBvbmUgZm9yIG5ldyBsYW5ndWFnZVxuICAgIC8vIHRoaXMgY2hlY2sgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIGRpZmVyYW5jaWF0ZSBiZXR3ZWVuIGRlZmF1bHQgYW5kIGF1dGhvdXIgZGVmaW5lZCBub3RlXG4gICAgLy8gYW5kIG9ubHkgY2hhbmdlIGJldHdlZW4gbGFuZ3VhZ2VzIGZvciBkZWZhdWx0IG9uZXNcbiAgICBpZiAoXG4gICAgICBub3RlICYmXG4gICAgICBsYW5ndWFnZSAmJlxuICAgICAgbGFuZ3VhZ2UgIT09IG5leHRQcm9wcy5sYW5ndWFnZSAmJlxuICAgICAgbm90ZSA9PT0gdHJhbnNsYXRvci50KCdjb21tb246Y29tbW9uQ29ycmVjdEFuc3dlcldpdGhBbHRlcm5hdGVzJywgeyBsbmc6IGxhbmd1YWdlIH0pXG4gICAgKSB7XG4gICAgICBub3RlID0gdHJhbnNsYXRvci50KCdjb21tb246Y29tbW9uQ29ycmVjdEFuc3dlcldpdGhBbHRlcm5hdGVzJywgeyBsbmc6IG5leHRQcm9wcy5sYW5ndWFnZSB9KTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTaG93Q29ycmVjdCA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0NvcnJlY3RBbnN3ZXI6ICF0aGlzLnN0YXRlLnNob3dDb3JyZWN0QW5zd2VyIH0pO1xuICB9O1xuXG4gIGNoYW5nZVNlc3Npb24gPSB0aGlzLmdldENoYW5nZVNlc3Npb24odGhpcy5wcm9wcy5tYXhMZW5ndGhQZXJDaG9pY2UpO1xuXG4gIG9uQ2hhbmdlID0gKHZhbHVlKSA9PiB7XG4gICAgdGhpcy5jaGFuZ2VTZXNzaW9uKHZhbHVlKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBzaG93Q29ycmVjdEFuc3dlciB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7XG4gICAgICBhbHdheXNTaG93Q29ycmVjdCxcbiAgICAgIGFuaW1hdGlvbnNEaXNhYmxlZCxcbiAgICAgIG1vZGUsXG4gICAgICBkaXNwbGF5VHlwZSxcbiAgICAgIHJvbGUsXG4gICAgICBsYW5ndWFnZSxcbiAgICAgIG1heExlbmd0aFBlckNob2ljZSxcbiAgICAgIG1heExlbmd0aFBlckNob2ljZUVuYWJsZWQsXG4gICAgICBub3RlLFxuICAgICAgcGxheWVyU3BlbGxDaGVja0VuYWJsZWQsXG4gICAgICBwcm9tcHQsXG4gICAgICByYXRpb25hbGUsXG4gICAgICBzaG93Tm90ZSxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMsXG4gICAgICByZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb24sXG4gICAgICBtb2RlbCxcbiAgICAgIHZhbHVlLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgeyBleHRyYUNTU1J1bGVzIH0gPSBtb2RlbCB8fCB7fTtcbiAgICBjb25zdCBkaXNwbGF5Tm90ZSA9IChzaG93Q29ycmVjdEFuc3dlciB8fCAobW9kZSA9PT0gJ3ZpZXcnICYmIHJvbGUgPT09ICdpbnN0cnVjdG9yJykpICYmIHNob3dOb3RlICYmIG5vdGU7XG5cbiAgICBjb25zdCB0ZWFjaGVySW5zdHJ1Y3Rpb25zRGl2ID0gKFxuICAgICAgPFByZXZpZXdQcm9tcHQgZGVmYXVsdENsYXNzTmFtZT1cInRlYWNoZXItaW5zdHJ1Y3Rpb25zXCIgcHJvbXB0PXt0ZWFjaGVySW5zdHJ1Y3Rpb25zfSAvPlxuICAgICk7XG5cbiAgICBjb25zdCByYXRpb25hbGVEaXYgPSA8UHJldmlld1Byb21wdCBwcm9tcHQ9e3JhdGlvbmFsZX0gLz47XG5cbiAgICBjb25zdCBzaG93UmF0aW9uYWxlID0gcmF0aW9uYWxlICYmIChoYXNUZXh0KHJhdGlvbmFsZSkgfHwgaGFzTWVkaWEocmF0aW9uYWxlKSk7XG4gICAgY29uc3Qgc2hvd1RlYWNoZXJJbnN0cnVjdGlvbnMgPVxuICAgICAgdGVhY2hlckluc3RydWN0aW9ucyAmJiAoaGFzVGV4dCh0ZWFjaGVySW5zdHJ1Y3Rpb25zKSB8fCBoYXNNZWRpYSh0ZWFjaGVySW5zdHJ1Y3Rpb25zKSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgZXh0cmFDU1NSdWxlcz17ZXh0cmFDU1NSdWxlc31cbiAgICAgICAgYWx3YXlzU2hvd0NvcnJlY3Q9e2Fsd2F5c1Nob3dDb3JyZWN0fVxuICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiBgJHtkaXNwbGF5VHlwZX1gIH19XG4gICAgICA+XG4gICAgICAgIHttb2RlID09PSAnZ2F0aGVyJyAmJiA8U3JPbmx5PkZpbGwgaW4gdGhlIEJsYW5rIFF1ZXN0aW9uPC9Tck9ubHk+fVxuXG4gICAgICAgIHtzaG93VGVhY2hlckluc3RydWN0aW9ucyAmJiAoXG4gICAgICAgICAgPENvbGxhcHNpYmxlQ29udGFpbmVyPlxuICAgICAgICAgICAgeyFhbmltYXRpb25zRGlzYWJsZWQgPyAoXG4gICAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBsYWJlbHM9e3sgaGlkZGVuOiAnU2hvdyBUZWFjaGVyIEluc3RydWN0aW9ucycsIHZpc2libGU6ICdIaWRlIFRlYWNoZXIgSW5zdHJ1Y3Rpb25zJyB9fT5cbiAgICAgICAgICAgICAgICB7dGVhY2hlckluc3RydWN0aW9uc0Rpdn1cbiAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnNEaXZcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db2xsYXBzaWJsZUNvbnRhaW5lcj5cbiAgICAgICAgKX1cblxuICAgICAgICB7cHJvbXB0ICYmIDxQcmV2aWV3UHJvbXB0IHByb21wdD17cHJvbXB0fSAvPn1cblxuICAgICAgICB7IWFsd2F5c1Nob3dDb3JyZWN0ICYmIG1vZGUgPT09ICdldmFsdWF0ZScgJiYgKFxuICAgICAgICAgIDxDb3JyZWN0QW5zd2VyVG9nZ2xlXG4gICAgICAgICAgICBzaG93XG4gICAgICAgICAgICB0b2dnbGVkPXtzaG93Q29ycmVjdEFuc3dlcn1cbiAgICAgICAgICAgIG9uVG9nZ2xlPXt0aGlzLnRvZ2dsZVNob3dDb3JyZWN0fVxuICAgICAgICAgICAgbGFuZ3VhZ2U9e2xhbmd1YWdlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG5cbiAgICAgICAgPENvbnN0cnVjdGVkUmVzcG9uc2VcbiAgICAgICAgICB7Li4udGhpcy5wcm9wc31cbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZX1cbiAgICAgICAgICBzaG93Q29ycmVjdEFuc3dlcj17c2hvd0NvcnJlY3RBbnN3ZXJ9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIG1heExlbmd0aD17bWF4TGVuZ3RoUGVyQ2hvaWNlfVxuICAgICAgICAgIGFkanVzdGVkTGltaXQ9e21heExlbmd0aFBlckNob2ljZUVuYWJsZWR9XG4gICAgICAgICAgc3BlbGxDaGVjaz17cGxheWVyU3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgcGx1Z2luUHJvcHM9e3Jlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbn1cbiAgICAgICAgLz5cblxuICAgICAgICB7ZGlzcGxheU5vdGUgJiYgPE5vdGVDb250YWluZXIgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBub3RlIH19IC8+fVxuXG4gICAgICAgIHtzaG93UmF0aW9uYWxlICYmIChcbiAgICAgICAgICA8Q29sbGFwc2libGVDb250YWluZXI+XG4gICAgICAgICAgICB7IWFuaW1hdGlvbnNEaXNhYmxlZCA/IChcbiAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGxhYmVscz17eyBoaWRkZW46ICdTaG93IFJhdGlvbmFsZScsIHZpc2libGU6ICdIaWRlIFJhdGlvbmFsZScgfX0+e3JhdGlvbmFsZURpdn08L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgcmF0aW9uYWxlRGl2XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29sbGFwc2libGVDb250YWluZXI+XG4gICAgICAgICl9XG4gICAgICA8L01haW5Db250YWluZXI+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNYWluO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsTUFBTTtFQUFFUTtBQUFXLENBQUMsR0FBR0MsbUJBQVU7QUFFakMsTUFBTUMsYUFBYSxHQUFHLElBQUFDLGNBQU0sRUFBQ0Msa0JBQVEsQ0FBQyxDQUFDLENBQUM7RUFBRUM7QUFBa0IsQ0FBQyxNQUFNO0VBQ2pFQyxLQUFLLEVBQUVBLGVBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUM7RUFDbkJDLGVBQWUsRUFBRUYsZUFBSyxDQUFDRyxVQUFVLENBQUMsQ0FBQztFQUNuQyxJQUFJSixpQkFBaUIsSUFBSTtJQUN2QixLQUFLLEVBQUU7TUFDTEssV0FBVyxFQUFFLEdBQUdKLGVBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUM7SUFDOUI7RUFDRixDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNSSxhQUFhLEdBQUcsSUFBQVIsY0FBTSxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7RUFBRVM7QUFBTSxDQUFDLE1BQU07RUFDbERDLFlBQVksRUFBRUQsS0FBSyxDQUFDRSxPQUFPLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQztBQUVILE1BQU1DLG9CQUFvQixH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
package/lib/print.js CHANGED
@@ -68,4 +68,4 @@ class ExplicitConstructedResponsePrint extends HTMLElement {
68
68
  }
69
69
  }
70
70
  exports.default = ExplicitConstructedResponsePrint;
71
- //# sourceMappingURL=print.js.map
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGllbnQiLCJfbG9kYXNoRXMiLCJfbWFpbiIsIl9tYXRoUmVuZGVyaW5nIiwiX2RlYnVnIiwibG9nIiwiZGVidWciLCJwcmVwYXJlUHJpbnRNb2RlbCIsIm1vZGVsIiwib3B0cyIsImlzSW5zdHJ1Y3RvciIsInJvbGUiLCJwcm9tcHQiLCJwcm9tcHRFbmFibGVkIiwidW5kZWZpbmVkIiwidGVhY2hlckluc3RydWN0aW9ucyIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwicmF0aW9uYWxlIiwicmF0aW9uYWxlRW5hYmxlZCIsImFsd2F5c1Nob3dDb3JyZWN0IiwibW9kZSIsImRpc2FibGVkIiwiYW5pbWF0aW9uc0Rpc2FibGVkIiwiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlUHJpbnQiLCJIVE1MRWxlbWVudCIsImNvbnN0cnVjdG9yIiwiX29wdGlvbnMiLCJfbW9kZWwiLCJfc2Vzc2lvbiIsIl9yb290IiwiX3JlcmVuZGVyIiwiZGVib3VuY2UiLCJwcmludE1vZGVsIiwiZWxlbWVudCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIk1haW4iLCJvbkNoYW5nZSIsImNyZWF0ZVJvb3QiLCJyZW5kZXIiLCJxdWV1ZU1pY3JvdGFzayIsInJlbmRlck1hdGgiLCJsZWFkaW5nIiwidHJhaWxpbmciLCJvcHRpb25zIiwibyIsInMiLCJjb25uZWN0ZWRDYWxsYmFjayIsImRpc2Nvbm5lY3RlZENhbGxiYWNrIiwidW5tb3VudCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL3ByaW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSAncmVhY3QtZG9tL2NsaWVudCc7XG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgTWFpbiBmcm9tICcuL21haW4nO1xuaW1wb3J0IHsgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtZWxlbWVudDpleHBsaWNpdC1jb25zdHJ1Y3RlZC1yZXNwb25zZTpwcmludCcpO1xuXG5jb25zdCBwcmVwYXJlUHJpbnRNb2RlbCA9IChtb2RlbCwgb3B0cykgPT4ge1xuICBjb25zdCBpc0luc3RydWN0b3IgPSBvcHRzLnJvbGUgPT09ICdpbnN0cnVjdG9yJztcblxuICBtb2RlbC5wcm9tcHQgPSBtb2RlbC5wcm9tcHRFbmFibGVkICE9PSBmYWxzZSA/IG1vZGVsLnByb21wdCA6IHVuZGVmaW5lZDtcbiAgbW9kZWwudGVhY2hlckluc3RydWN0aW9ucyA9XG4gICAgaXNJbnN0cnVjdG9yICYmIG1vZGVsLnRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkICE9PSBmYWxzZSA/IG1vZGVsLnRlYWNoZXJJbnN0cnVjdGlvbnMgOiB1bmRlZmluZWQ7XG4gIG1vZGVsLnJhdGlvbmFsZSA9IGlzSW5zdHJ1Y3RvciAmJiBtb2RlbC5yYXRpb25hbGVFbmFibGVkICE9PSBmYWxzZSA/IG1vZGVsLnJhdGlvbmFsZSA6IHVuZGVmaW5lZDtcbiAgbW9kZWwuYWx3YXlzU2hvd0NvcnJlY3QgPSBpc0luc3RydWN0b3I7XG4gIG1vZGVsLm1vZGUgPSBpc0luc3RydWN0b3IgPyAnZXZhbHVhdGUnIDogbW9kZWwubW9kZTtcbiAgbW9kZWwuZGlzYWJsZWQgPSB0cnVlO1xuICBtb2RlbC5hbmltYXRpb25zRGlzYWJsZWQgPSB0cnVlO1xuXG4gIHJldHVybiBtb2RlbDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZVByaW50IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX29wdGlvbnMgPSBudWxsO1xuICAgIHRoaXMuX21vZGVsID0gbnVsbDtcbiAgICB0aGlzLl9zZXNzaW9uID0gW107XG4gICAgdGhpcy5fcm9vdCA9IG51bGw7XG5cbiAgICB0aGlzLl9yZXJlbmRlciA9IGRlYm91bmNlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fbW9kZWwgJiYgdGhpcy5fc2Vzc2lvbikge1xuICAgICAgICAgIGNvbnN0IHByaW50TW9kZWwgPSBwcmVwYXJlUHJpbnRNb2RlbCh0aGlzLl9tb2RlbCwgdGhpcy5fb3B0aW9ucyk7XG5cbiAgICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgIHRoaXMuX29wdGlvbnMgJiZcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTWFpbiwge1xuICAgICAgICAgICAgICAuLi5wcmludE1vZGVsLFxuICAgICAgICAgICAgICBvbkNoYW5nZTogKCkgPT4ge30sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmICghdGhpcy5fcm9vdCkge1xuICAgICAgICAgICAgdGhpcy5fcm9vdCA9IGNyZWF0ZVJvb3QodGhpcyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3Jvb3QucmVuZGVyKGVsZW1lbnQpO1xuICAgICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgICAgICAgIGxvZygncmVuZGVyIGNvbXBsZXRlIC0gcmVuZGVyIG1hdGgnKTtcbiAgICAgICAgICAgIHJlbmRlck1hdGgodGhpcyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9nKCdza2lwJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICA1MCxcbiAgICAgIHsgbGVhZGluZzogZmFsc2UsIHRyYWlsaW5nOiB0cnVlIH0sXG4gICAgKTtcbiAgfVxuXG4gIHNldCBvcHRpb25zKG8pIHtcbiAgICB0aGlzLl9vcHRpb25zID0gbztcbiAgfVxuXG4gIHNldCBtb2RlbChzKSB7XG4gICAgdGhpcy5fbW9kZWwgPSBzO1xuICAgIHRoaXMuX3JlcmVuZGVyKCk7XG4gIH1cblxuICBjb25uZWN0ZWRDYWxsYmFjaygpIHt9XG5cbiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgaWYgKHRoaXMuX3Jvb3QpIHtcbiAgICAgIHRoaXMuX3Jvb3QudW5tb3VudCgpO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsTUFBTU0sR0FBRyxHQUFHLElBQUFDLGNBQUssRUFBQyxpREFBaUQsQ0FBQztBQUVwRSxNQUFNQyxpQkFBaUIsR0FBR0EsQ0FBQ0MsS0FBSyxFQUFFQyxJQUFJLEtBQUs7RUFDekMsTUFBTUMsWUFBWSxHQUFHRCxJQUFJLENBQUNFLElBQUksS0FBSyxZQUFZO0VBRS9DSCxLQUFLLENBQUNJLE1BQU0sR0FBR0osS0FBSyxDQUFDSyxhQUFhLEtBQUssS0FBSyxHQUFHTCxLQUFLLENBQUNJLE1BQU0sR0FBR0UsU0FBUztFQUN2RU4sS0FBSyxDQUFDTyxtQkFBbUIsR0FDdkJMLFlBQVksSUFBSUYsS0FBSyxDQUFDUSwwQkFBMEIsS0FBSyxLQUFLLEdBQUdSLEtBQUssQ0FBQ08sbUJBQW1CLEdBQUdELFNBQVM7RUFDcEdOLEtBQUssQ0FBQ1MsU0FBUyxHQUFHUCxZQUFZLElBQUlGLEtBQUssQ0FBQ1UsZ0JBQWdCLEtBQUssS0FBSyxHQUFHVixLQUFLLENBQUNTLFNBQVMsR0FBR0gsU0FBUztFQUNoR04sS0FBSyxDQUFDVyxpQkFBaUIsR0FBR1QsWUFBWTtFQUN0Q0YsS0FBSyxDQUFDWSxJQUFJLEdBQUdWLFlBQVksR0FBRyxVQUFVLEdBQUdGLEtBQUssQ0FBQ1ksSUFBSTtFQUNuRFosS0FBSyxDQUFDYSxRQUFRLEdBQUcsSUFBSTtFQUNyQmIsS0FBSyxDQUFDYyxrQkFBa0IsR0FBRyxJQUFJO0VBRS9CLE9BQU9kLEtBQUs7QUFDZCxDQUFDO0FBRWMsTUFBTWUsZ0NBQWdDLFNBQVNDLFdBQVcsQ0FBQztFQUN4RUMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osS0FBSyxDQUFDLENBQUM7SUFDUCxJQUFJLENBQUNDLFFBQVEsR0FBRyxJQUFJO0lBQ3BCLElBQUksQ0FBQ0MsTUFBTSxHQUFHLElBQUk7SUFDbEIsSUFBSSxDQUFDQyxRQUFRLEdBQUcsRUFBRTtJQUNsQixJQUFJLENBQUNDLEtBQUssR0FBRyxJQUFJO0lBRWpCLElBQUksQ0FBQ0MsU0FBUyxHQUFHLElBQUFDLGtCQUFRLEVBQ3ZCLE1BQU07TUFDSixJQUFJLElBQUksQ0FBQ0osTUFBTSxJQUFJLElBQUksQ0FBQ0MsUUFBUSxFQUFFO1FBQ2hDLE1BQU1JLFVBQVUsR0FBR3pCLGlCQUFpQixDQUFDLElBQUksQ0FBQ29CLE1BQU0sRUFBRSxJQUFJLENBQUNELFFBQVEsQ0FBQztRQUVoRSxNQUFNTyxPQUFPLEdBQ1gsSUFBSSxDQUFDUCxRQUFRLGlCQUNiUSxjQUFLLENBQUNDLGFBQWEsQ0FBQ0MsYUFBSSxFQUFFO1VBQ3hCLEdBQUdKLFVBQVU7VUFDYkssUUFBUSxFQUFFQSxDQUFBLEtBQU0sQ0FBQztRQUNuQixDQUFDLENBQUM7UUFFSixJQUFJLENBQUMsSUFBSSxDQUFDUixLQUFLLEVBQUU7VUFDZixJQUFJLENBQUNBLEtBQUssR0FBRyxJQUFBUyxrQkFBVSxFQUFDLElBQUksQ0FBQztRQUMvQjtRQUNBLElBQUksQ0FBQ1QsS0FBSyxDQUFDVSxNQUFNLENBQUNOLE9BQU8sQ0FBQztRQUMxQk8sY0FBYyxDQUFDLE1BQU07VUFDbkJuQyxHQUFHLENBQUMsK0JBQStCLENBQUM7VUFDcEMsSUFBQW9DLHlCQUFVLEVBQUMsSUFBSSxDQUFDO1FBQ2xCLENBQUMsQ0FBQztNQUNKLENBQUMsTUFBTTtRQUNMcEMsR0FBRyxDQUFDLE1BQU0sQ0FBQztNQUNiO0lBQ0YsQ0FBQyxFQUNELEVBQUUsRUFDRjtNQUFFcUMsT0FBTyxFQUFFLEtBQUs7TUFBRUMsUUFBUSxFQUFFO0lBQUssQ0FDbkMsQ0FBQztFQUNIO0VBRUEsSUFBSUMsT0FBT0EsQ0FBQ0MsQ0FBQyxFQUFFO0lBQ2IsSUFBSSxDQUFDbkIsUUFBUSxHQUFHbUIsQ0FBQztFQUNuQjtFQUVBLElBQUlyQyxLQUFLQSxDQUFDc0MsQ0FBQyxFQUFFO0lBQ1gsSUFBSSxDQUFDbkIsTUFBTSxHQUFHbUIsQ0FBQztJQUNmLElBQUksQ0FBQ2hCLFNBQVMsQ0FBQyxDQUFDO0VBQ2xCO0VBRUFpQixpQkFBaUJBLENBQUEsRUFBRyxDQUFDO0VBRXJCQyxvQkFBb0JBLENBQUEsRUFBRztJQUNyQixJQUFJLElBQUksQ0FBQ25CLEtBQUssRUFBRTtNQUNkLElBQUksQ0FBQ0EsS0FBSyxDQUFDb0IsT0FBTyxDQUFDLENBQUM7SUFDdEI7RUFDRjtBQUNGO0FBQUNDLE9BQUEsQ0FBQUMsT0FBQSxHQUFBNUIsZ0NBQUEiLCJpZ25vcmVMaXN0IjpbXX0=