Socket
Socket
Sign inDemoInstall

@ladjs/i18n

Package Overview
Dependencies
Maintainers
2
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ladjs/i18n - npm Package Compare versions

Comparing version 0.0.6 to 0.0.7

8

lib/index.js

@@ -7,4 +7,3 @@ 'use strict';

const extname = _require.extname,
resolve = _require.resolve;
const resolve = _require.resolve;

@@ -93,5 +92,2 @@ const isEmpty = require('lodash.isempty');

middleware(ctx, next) {
// return early if its not a pure path (e.g. ignore static assets)
if (extname(ctx.path) !== '') return next();
var _config2 = this.config;

@@ -200,2 +196,2 @@ const locales = _config2.locales,

module.exports = I18N;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJyZXF1aXJlIiwiZXh0bmFtZSIsInJlc29sdmUiLCJpc0VtcHR5Iiwic29ydEJ5IiwiZXZlcnkiLCJzdHJpbmdpZnkiLCJCb29tIiwicyIsImdldExhbmd1YWdlIiwibW9tZW50IiwiaTE4biIsImxvY2FsZXMiLCJhdXRvQmluZCIsImFwaSIsIkkxOE4iLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsIk9iamVjdCIsImFzc2lnbiIsInBocmFzZXMiLCJsb2dnZXIiLCJjb25zb2xlIiwiZGlyZWN0b3J5IiwiY29va2llIiwiaW5kZW50IiwiZGVmYXVsdExvY2FsZSIsInN5bmNGaWxlcyIsImF1dG9SZWxvYWQiLCJ1cGRhdGVGaWxlcyIsIl9fIiwiX19uIiwiX19sIiwiX19oIiwiX19tZiIsInJlZ2lzdGVyIiwibG9nRGVidWdGbiIsImRlYnVnIiwibG9nV2FybkZuIiwid2FybiIsImxvZ0Vycm9yRm4iLCJlcnJvciIsImwiLCJpbmNsdWRlcyIsIkVycm9yIiwiZmlsdGVyIiwic3RyIiwiam9pbiIsImNvbmZpZ3VyZSIsInRyYW5zbGF0ZSIsImtleSIsImxvY2FsZSIsImFyZ3MiLCJrZXlzIiwiYXJndW1lbnRzIiwibWFwIiwic2xpY2UiLCJwaHJhc2UiLCJ0IiwibWlkZGxld2FyZSIsImN0eCIsIm5leHQiLCJwYXRoIiwiaW5pdCIsInJlcSIsInN0YXRlIiwiZmluZCIsImluZGV4T2YiLCJwYXRoV2l0aG91dExvY2FsZSIsInN1YnN0cmluZyIsImxlbmd0aCIsImNvb2tpZXMiLCJnZXQiLCJyZXF1ZXN0IiwiYWNjZXB0c0xhbmd1YWdlcyIsInNldExvY2FsZSIsInJlZGlyZWN0IiwicXVlcnkiLCJhdmFpbGFibGVMYW5ndWFnZXMiLCJ1cmwiLCJuYW1lIiwiY3VycmVudExhbmd1YWdlIiwidGl0bGVpemUiLCJuYXRpdmVOYW1lIiwidGhyb3ciLCJiYWRSZXF1ZXN0Iiwic3BsaXQiLCJoYXNMYW5nIiwic3RhdHVzIiwic2V0Iiwic2lnbmVkIiwiZXhwaXJlcyIsImFkZCIsInRvRGF0ZSIsImlzQXV0aGVudGljYXRlZCIsInVzZXIiLCJsYXN0X2xvY2FsZSIsInNhdmUiLCJlcnIiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7O2VBQTZCQSxRQUFRLE1BQVIsQzs7TUFBckJDLE8sWUFBQUEsTztNQUFTQyxPLFlBQUFBLE87O0FBQ2pCLE1BQU1DLFVBQVVILFFBQVEsZ0JBQVIsQ0FBaEI7QUFDQSxNQUFNSSxTQUFTSixRQUFRLGVBQVIsQ0FBZjtBQUNBLE1BQU1LLFFBQVFMLFFBQVEsY0FBUixDQUFkOztnQkFDc0JBLFFBQVEsSUFBUixDOztNQUFkTSxTLGFBQUFBLFM7O0FBQ1IsTUFBTUMsT0FBT1AsUUFBUSxNQUFSLENBQWI7QUFDQSxNQUFNUSxJQUFJUixRQUFRLG1CQUFSLENBQVY7O2dCQUN3QkEsUUFBUSxrQkFBUixDOztNQUFoQlMsVyxhQUFBQSxXOztBQUNSLE1BQU1DLFNBQVNWLFFBQVEsUUFBUixDQUFmO0FBQ0EsTUFBTVcsT0FBT1gsUUFBUSxNQUFSLENBQWI7QUFDQSxNQUFNWSxVQUFVWixRQUFRLGNBQVIsQ0FBaEI7QUFDQSxNQUFNYSxXQUFXYixRQUFRLFdBQVIsQ0FBakI7O0FBRUE7QUFDQVcsS0FBS0csR0FBTCxHQUFXLEVBQVg7O0FBRUEsTUFBTUMsSUFBTixDQUFXO0FBQ1RDLGNBQVlDLFNBQVMsRUFBckIsRUFBeUI7QUFDdkIsU0FBS0EsTUFBTCxHQUFjQyxPQUFPQyxNQUFQLENBQ1o7QUFDRUMsZUFBUyxFQURYO0FBRUVDLGNBQVFDLE9BRlY7QUFHRUMsaUJBQVdyQixRQUFRLFNBQVIsQ0FIYjtBQUlFVSxlQUFTLENBQUMsSUFBRCxFQUFPLElBQVAsRUFBYSxJQUFiLENBSlg7QUFLRVksY0FBUSxRQUxWO0FBTUVDLGNBQVEsSUFOVjtBQU9FQyxxQkFBZSxJQVBqQjtBQVFFQyxpQkFBVyxJQVJiO0FBU0VDLGtCQUFZLElBVGQ7QUFVRUMsbUJBQWEsSUFWZjtBQVdFZixXQUFL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QTZCUSxNQUE3QixDQUFoQjs7QUFFQTtBQUNBO0FBQ0EsVUFBSSxDQUFDb0MsT0FBTCxFQUFjO0FBQ1ozQixZQUFJNEIsTUFBSixHQUFhLEdBQWI7QUFDQSxZQUFJWixXQUFZLElBQUdoQixJQUFJSSxHQUFKLENBQVFiLE1BQU8sR0FBRVMsSUFBSW1CLEdBQUksRUFBNUM7QUFDQSxZQUFJLENBQUM1RSxRQUFReUQsSUFBSWlCLEtBQVosQ0FBTCxFQUF5QkQsWUFBYSxJQUFHdEUsVUFBVXNELElBQUlpQixLQUFkLENBQXFCLEVBQXJDO0FBQ3pCLGVBQU9qQixJQUFJZ0IsUUFBSixDQUFhQSxRQUFiLENBQVA7QUFDRDs7QUFFRDtBQUNBaEIsVUFBSVcsT0FBSixDQUFZa0IsR0FBWixDQUFnQixNQUFLeEUsTUFBTCxDQUFZTyxNQUE1QixFQUFvQzJCLE1BQXBDLEVBQTRDO0FBQzFDdUMsZ0JBQVEsSUFEa0M7QUFFMUNDLGlCQUFTakYsU0FDTmtGLEdBRE0sQ0FDRixDQURFLEVBQ0MsTUFERCxFQUVOQyxNQUZNO0FBRmlDLE9BQTVDOztBQU9BO0FBQ0EsVUFBSWpDLElBQUlrQyxlQUFKLEVBQUosRUFBMkI7QUFDekJsQyxZQUFJSyxLQUFKLENBQVU4QixJQUFWLENBQWVDLFdBQWYsR0FBNkI3QyxNQUE3QjtBQUNBLFlBQUk7QUFDRixnQkFBTVMsSUFBSUssS0FBSixDQUFVOEIsSUFBVixDQUFlRSxJQUFmLEVBQU47QUFDRCxTQUZELENBRUUsT0FBT0MsR0FBUCxFQUFZO0FBQ1osZ0JBQUtqRixNQUFMLENBQVlJLE1BQVosQ0FBbUJvQixLQUFuQixDQUF5QnlELEdBQXpCO0FBQ0Q7QUFDRjs7QUFFRCxhQUFPckMsTUFBUDtBQWpDd0I7QUFrQ3pCO0FBdkxROztBQTBMWHNDLE9BQU9DLE9BQVAsR0FBaUJyRixJQUFqQiIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHsgZXh0bmFtZSwgcmVzb2x2ZSB9ID0gcmVxdWlyZSgncGF0aCcpO1xuY29uc3QgaXNFbXB0eSA9IHJlcXVpcmUoJ2xvZGFzaC5pc2VtcHR5Jyk7XG5jb25zdCBzb3J0QnkgPSByZXF1aXJlKCdsb2Rhc2guc29ydGJ5Jyk7XG5jb25zdCBldmVyeSA9IHJlcXVpcmUoJ2xvZGFzaC5ldmVyeScpO1xuY29uc3QgeyBzdHJpbmdpZnkgfSA9IHJlcXVpcmUoJ3FzJyk7XG5jb25zdCBCb29tID0gcmVxdWlyZSgnYm9vbScpO1xuY29uc3QgcyA9IHJlcXVpcmUoJ3VuZGVyc2NvcmUuc3RyaW5nJyk7XG5jb25zdCB7IGdldExhbmd1YWdlIH0gPSByZXF1aXJlKCdjb3VudHJ5LWxhbmd1YWdlJyk7XG5jb25zdCBtb21lbnQgPSByZXF1aXJlKCdtb21lbnQnKTtcbmNvbnN0IGkxOG4gPSByZXF1aXJlKCdpMThuJyk7XG5jb25zdCBsb2NhbGVzID0gcmVxdWlyZSgnaTE4bi1sb2NhbGVzJyk7XG5jb25zdCBhdXRvQmluZCA9IHJlcXVpcmUoJ2F1dG8tYmluZCcpO1xuXG4vLyBleHBvc2UgZ2xvYmFsXG5pMThuLmFwaSA9IHt9O1xuXG5jbGFzcyBJMThOIHtcbiAgY29uc3RydWN0b3IoY29uZmlnID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIHBocmFzZXM6IHt9LFxuICAgICAgICBsb2dnZXI6IGNvbnNvbGUsXG4gICAgICAgIGRpcmVjdG9yeTogcmVzb2x2ZSgnbG9jYWxlcycpLFxuICAgICAgICBsb2NhbGVzOiBbJ2VuJywgJ2VzJywgJ3poJ10sXG4gICAgICAgIGNvb2tpZTogJ2xvY2FsZScsXG4gICAgICAgIGluZGVudDogJyAgJyxcbiAgICAgICAgZGVmYXVsdExvY2FsZTogJ2VuJyxcbiAgICAgICAgc3luY0ZpbGVzOiB0cnVlLFxuICAgICAgICBhdXRvUmVsb2FkOiB0cnVlLFxuICAgICAgICB1cGRhdGVGaWxlczogdHJ1ZSxcbiAgICAgICAgYXBpOiB7XG4gICAgICAgICAgX186ICd0JyxcbiAgICAgICAgICBfX246ICd0bicsXG4gICAgICAgICAgX19sOiAndGwnLFxuICAgICAgICAgIF9faDogJ3RoJyxcbiAgICAgICAgICBfX21mOiAndG1mJ1xuICAgICAgICB9LFxuICAgICAgICByZWdpc3RlcjogaTE4bi5hcGlcbiAgICAgIH0sXG4gICAgICBjb25maWdcbiAgICApO1xuXG4gICAgY29uc3QgeyBsb2dnZXIgfSA9IHRoaXMuY29uZmlnO1xuXG4gICAgdGhpcy5jb25maWcubG9nRGVidWdGbiA9IGxvZ2dlci5kZWJ1ZztcbiAgICB0aGlzLmNvbmZpZy5sb2dXYXJuRm4gPSBsb2dnZXIud2FybjtcbiAgICB0aGlzLmNvbmZpZy5sb2dFcnJvckZuID0gbG9nZ2VyLmVycm9yO1xuXG4gICAgLy8gdmFsaWRhdGUgbG9jYWxlcyBhZ2FpbnN0IGF2YWlsYWJsZSBvbmVzXG4gICAgaWYgKCFldmVyeSh0aGlzLmNvbmZpZy5sb2NhbGVzLCBsID0+IGxvY2FsZXMuaW5jbHVkZXMobCkpKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW52YWxpZCBsb2NhbGVzOiAke3RoaXMuY29uZmlnLmxvY2FsZXNcbiAgICAgICAgICAuZmlsdGVyKHN0ciA9PiAhbG9jYWxlcy5pbmNsdWRlcyhzdHIpKVxuICAgICAgICAgIC5qb2luKCcsICcpfWBcbiAgICAgICk7XG5cbiAgICAvLyBpbmhlcml0IGkxOG4gb2JqZWN0XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpMThuKTtcblxuICAgIC8vIGNvbmZpZ3VyZSBpMThuXG4gICAgdGhpcy5jb25maWd1cmUodGhpcy5jb25maWcpO1xuXG4gICAgYXV0b0JpbmQodGhpcyk7XG4gIH1cblxuICB0cmFuc2xhdGUoa2V5LCBsb2NhbGUpIHtcbiAgICBjb25zdCB7IGxvZ2dlciwgcGhyYXNlcyB9ID0gdGhpcy5jb25maWc7XG4gICAgbGV0IGFyZ3MgPSBPYmplY3Qua2V5cyhhcmd1bWVudHMpXG4gICAgICAubWFwKGtleSA9PiBhcmd1bWVudHNba2V5XSlcbiAgICAgIC5zbGljZSgyKTtcbiAgICBpZiAodHlwZW9mIGFyZ3MgPT09ICd1bmRlZmluZWQnKSBhcmdzID0gW107XG4gICAgY29uc3QgcGhyYXNlID0gcGhyYXNlc1trZXldO1xuICAgIGlmICh0eXBlb2YgcGhyYXNlICE9PSAnc3RyaW5nJykge1xuICAgICAgbG9nZ2VyLndhcm4oYHRyYW5zbGF0aW9uIGtleSBtaXNzaW5nOiAke2tleX1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXJncyA9IFt7IHBocmFzZSwgbG9jYWxlIH0sIC4uLmFyZ3NdO1xuICAgIHJldHVybiBpMThuLmFwaS50KC4uLmFyZ3MpO1xuICB9XG5cbiAgbWlkZGxld2FyZShjdHgsIG5leHQpIHtcbiAgICAvLyByZXR1cm4gZWFybHkgaWYgaXRzIG5vdCBhIHB1cmUgcGF0aCAoZS5nLiBpZ25vcmUgc3RhdGljIGFzc2V0cylcbiAgICBpZiAoZXh0bmFtZShjdHgucGF0aCkgIT09ICcnKSByZXR1cm4gbmV4dCgpO1xuXG4gICAgY29uc3QgeyBsb2NhbGVzLCBkZWZhdWx0TG9jYWxlLCBwaHJhc2VzLCBjb29raWUgfSA9IHRoaXMuY29uZmlnO1xuXG4gICAgLy8gZXhwb3NlIGFwaSBtZXRob2RzIHRvIGBjdHgucmVxYCBhbmQgYGN0eC5zdGF0ZWBcbiAgICBpMThuLmluaXQoY3R4LnJlcSwgY3R4LnN0YXRlKTtcblxuICAgIC8vIG92ZXJyaWRlIHRoZSBleGlzdGluZyBsb2NhbGUgZGV0ZWN0aW9uIHdpdGggb3VyIG93blxuICAgIC8vIGluIG9yZGVyIG9mIHByaW9yaXR5OlxuICAgIC8vXG4gICAgLy8gMS4gY2hlY2sgdGhlIFVSTCwgaWYgPT09IGAvZGVgIG9yIHN0YXJ0cyB3aXRoIGAvZGUvYCB0aGVuIGxvY2FsZSBpcyBgZGVgXG4gICAgLy8gMi4gY2hlY2sgdGhlIGNvb2tpZVxuICAgIC8vIDMuIGNoZWNrIEFjY2VwdC1MYW5ndWFnZSBsYXN0XG4gICAgLy9cbiAgICAvLyBhbHNvIHdlIG5lZWQgdG8gZXhwb3NlIGBjdHgucGF0aFdpdGhvdXRMb2NhbGVgXG4gICAgLy8gYXMgdGhlIHBhdGggd2l0aG91dCBsb2NhbGVcblxuICAgIGxldCBsb2NhbGUgPSBsb2NhbGVzLmZpbmQobCA9PiB7XG4gICAgICByZXR1cm4gYC8ke2x9YCA9PT0gY3R4LnBhdGggfHwgY3R4LnBhdGguaW5kZXhPZihgLyR7bH0vYCkgPT09IDA7XG4gICAgfSk7XG5cbiAgICBjdHgucGF0aFdpdGhvdXRMb2NhbGUgPSBsb2NhbGVcbiAgICAgID8gY3R4LnBhdGguc3Vic3RyaW5nKGAvJHtsb2NhbGV9YC5sZW5ndGgpXG4gICAgICA6IGN0eC5wYXRoO1xuICAgIGlmIChjdHgucGF0aFdpdGhvdXRMb2NhbGUgPT09ICcnKSBjdHgucGF0aFdpdGhvdXRMb2NhbGUgPSAnLyc7XG5cbiAgICBpZiAoIWxvY2FsZSkge1xuICAgICAgbG9jYWxlID0gZGVmYXVsdExvY2FsZTtcbiAgICAgIGlmIChjdHguY29va2llcy5nZXQoY29va2llKSAmJiBsb2NhbGVzLmluY2x1ZGVzKGN0eC5jb29raWVzLmdldChjb29raWUpKSlcbiAgICAgICAgbG9jYWxlID0gY3R4LmNvb2tpZXMuZ2V0KGNvb2tpZSk7XG4gICAgICBlbHNlIGlmIChjdHgucmVxdWVzdC5hY2NlcHRzTGFuZ3VhZ2VzKGxvY2FsZXMpKVxuICAgICAgICBsb2NhbGUgPSBjdHgucmVxdWVzdC5hY2NlcHRzTGFuZ3VhZ2VzKGxvY2FsZXMpO1xuICAgIH1cblxuICAgIC8vIHNldCB0aGUgbG9jYWxlIHByb3Blcmx5XG4gICAgaTE4bi5zZXRMb2NhbGUoW2N0eC5yZXEsIGN0eC5zdGF0ZV0sIGxvY2FsZSk7XG5cbiAgICAvLyBpZiB0aGUgbG9jYWxlIHdhcyBub3QgYXZhaWxhYmxlIHRoZW4gcmVkaXJlY3QgdXNlclxuICAgIGlmIChsb2NhbGUgIT09IGN0eC5zdGF0ZS5sb2NhbGUpXG4gICAgICByZXR1cm4gY3R4LnJlZGlyZWN0KFxuICAgICAgICBgLyR7Y3R4LnN0YXRlLmxvY2FsZX0ke2N0eC5wYXRoV2l0aG91dExvY2FsZX0ke2lzRW1wdHkoY3R4LnF1ZXJ5KVxuICAgICAgICAgID8gJydcbiAgICAgICAgICA6IGA/JHtzdHJpbmdpZnkoY3R4LnF1ZXJ5KX1gfWBcbiAgICAgICk7XG5cbiAgICAvLyBhdmFpbGFibGUgbGFuZ3VhZ2VzIGZvciBhIGRyb3Bkb3duIG1lbnUgdG8gY2hhbmdlIGxhbmd1YWdlXG4gICAgY3R4LnN0YXRlLmF2YWlsYWJsZUxhbmd1YWdlcyA9IHNvcnRCeShcbiAgICAgIGxvY2FsZXMubWFwKGxvY2FsZSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHVybDogYC8ke2xvY2FsZX0ke2N0eC5wYXRoV2l0aG91dExvY2FsZX0ke2lzRW1wdHkoY3R4LnF1ZXJ5KVxuICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgOiBgPyR7c3RyaW5naWZ5KGN0eC5xdWVyeSl9YH1gLFxuICAgICAgICAgIG5hbWU6IGdldExhbmd1YWdlKGxvY2FsZSkubmFtZVswXVxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgICAnbmFtZSdcbiAgICApO1xuXG4gICAgLy8gZ2V0IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGxvY2FsZSdzIGxhbmd1YWdlIGluIG5hdGl2ZSBsYW5ndWFnZVxuICAgIGN0eC5zdGF0ZS5jdXJyZW50TGFuZ3VhZ2UgPSBzLnRpdGxlaXplKFxuICAgICAgZ2V0TGFuZ3VhZ2UoY3R4LnJlcS5sb2NhbGUpLm5hdGl2ZU5hbWVbMF1cbiAgICApO1xuXG4gICAgLy8gYmluZCBgY3R4LnRyYW5zbGF0ZWAgYXMgYSBoZWxwZXIgZnVuY1xuICAgIC8vIHNvIHlvdSBjYW4gcGFzcyBgY3R4LnRyYW5zbGF0ZSgnU09NRV9LRVlfSU5fQ09ORklHJyk7YCBhbmQgaXQgd2lsbCBsb29rdXBcbiAgICAvLyBgcGhyYXNlc1snU09NRVRISU5HJ11gIHRvIGdldCBhIHNwZWNpZmljIGFuZCBjb25zdGFudCBtZXNzYWdlXG4gICAgLy8gYW5kIHRoZW4gaXQgd2lsbCBjYWxsIGB0YCB0byB0cmFuc2xhdGUgaXQgdG8gdGhlIHVzZXIncyBsb2NhbGVcbiAgICBjdHgudHJhbnNsYXRlID0gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBhcmd1bWVudHNbMF0gIT09ICdzdHJpbmcnIHx8XG4gICAgICAgIHR5cGVvZiBwaHJhc2VzW2FyZ3VtZW50c1swXV0gIT09ICdzdHJpbmcnXG4gICAgICApXG4gICAgICAgIHJldHVybiBjdHgudGhyb3coXG4gICAgICAgICAgQm9vbS5iYWRSZXF1ZXN0KCdUcmFuc2xhdGlvbiBmb3IgeW91ciBsb2NhbGUgZmFpbGVkLCB0cnkgYWdhaW4nKVxuICAgICAgICApO1xuICAgICAgYXJndW1lbnRzWzBdID0gcGhyYXNlc1thcmd1bWVudHNbMF1dO1xuICAgICAgcmV0dXJuIGN0eC5yZXEudCguLi5hcmd1bWVudHMpO1xuICAgIH07XG5cbiAgICByZXR1cm4gbmV4dCgpO1xuICB9XG5cbiAgYXN5bmMgcmVkaXJlY3QoY3R4LCBuZXh0KSB7XG4gICAgLy8gaW5zcGlyZWQgYnkgbm9kZWpzLm9yZyBsYW5ndWFnZSBzdXBwb3J0XG4gICAgLy8gPGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZWpzLm9yZy9jb21taXQvZDZjZGQ5NDJhOGZjMGZmZmNmNjg3OWVjYTEyNDI5NWU5NTk5MWJiYyNkaWZmLTc4YzEyZjVhZGMxODQ4ZDEzYjFjNmYwNzA1NWQ5OTZlUjU5PlxuICAgIGNvbnN0IGxvY2FsZSA9IGN0eC51cmwuc3BsaXQoJy8nKVsxXS5zcGxpdCgnPycpWzBdO1xuICAgIGNvbnN0IGhhc0xhbmcgPSB0aGlzLmNvbmZpZy5sb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSk7XG5cbiAgICAvLyBpZiB0aGUgVVJMIGRpZCBub3QgaGF2ZSBhIHZhbGlkIGxhbmd1YWdlIGZvdW5kXG4gICAgLy8gdGhlbiByZWRpcmVjdCB0aGUgdXNlciB0byB0aGVpciBkZXRlY3RlZCBsb2NhbGVcbiAgICBpZiAoIWhhc0xhbmcpIHtcbiAgICAgIGN0eC5zdGF0dXMgPSAzMDI7XG4gICAgICBsZXQgcmVkaXJlY3QgPSBgLyR7Y3R4LnJlcS5sb2NhbGV9JHtjdHgudXJsfWA7XG4gICAgICBpZiAoIWlzRW1wdHkoY3R4LnF1ZXJ5KSkgcmVkaXJlY3QgKz0gYD8ke3N0cmluZ2lmeShjdHgucXVlcnkpfWA7XG4gICAgICByZXR1cm4gY3R4LnJlZGlyZWN0KHJlZGlyZWN0KTtcbiAgICB9XG5cbiAgICAvLyBzZXQgdGhlIGNvb2tpZSBmb3IgZnV0dXJlIHJlcXVlc3RzXG4gICAgY3R4LmNvb2tpZXMuc2V0KHRoaXMuY29uZmlnLmNvb2tpZSwgbG9jYWxlLCB7XG4gICAgICBzaWduZWQ6IHRydWUsXG4gICAgICBleHBpcmVzOiBtb21lbnQoKVxuICAgICAgICAuYWRkKDEsICd5ZWFyJylcbiAgICAgICAgLnRvRGF0ZSgpXG4gICAgfSk7XG5cbiAgICAvLyBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gc2F2ZSBpdCBhcyBgbGFzdF9sb2NhbGVgXG4gICAgaWYgKGN0eC5pc0F1dGhlbnRpY2F0ZWQoKSkge1xuICAgICAgY3R4LnN0YXRlLnVzZXIubGFzdF9sb2NhbGUgPSBsb2NhbGU7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBjdHguc3RhdGUudXNlci5zYXZlKCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5jb25maWcubG9nZ2VyLmVycm9yKGVycik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEkxOE47XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJyZXF1aXJlIiwicmVzb2x2ZSIsImlzRW1wdHkiLCJzb3J0QnkiLCJldmVyeSIsInN0cmluZ2lmeSIsIkJvb20iLCJzIiwiZ2V0TGFuZ3VhZ2UiLCJtb21lbnQiLCJpMThuIiwibG9jYWxlcyIsImF1dG9CaW5kIiwiYXBpIiwiSTE4TiIsImNvbnN0cnVjdG9yIiwiY29uZmlnIiwiT2JqZWN0IiwiYXNzaWduIiwicGhyYXNlcyIsImxvZ2dlciIsImNvbnNvbGUiLCJkaXJlY3RvcnkiLCJjb29raWUiLCJpbmRlbnQiLCJkZWZhdWx0TG9jYWxlIiwic3luY0ZpbGVzIiwiYXV0b1JlbG9hZCIsInVwZGF0ZUZpbGVzIiwiX18iLCJfX24iLCJfX2wiLCJfX2giLCJfX21mIiwicmVnaXN0ZXIiLCJsb2dEZWJ1Z0ZuIiwiZGVidWciLCJsb2dXYXJuRm4iLCJ3YXJuIiwibG9nRXJyb3JGbiIsImVycm9yIiwibCIsImluY2x1ZGVzIiwiRXJyb3IiLCJmaWx0ZXIiLCJzdHIiLCJqb2luIiwiY29uZmlndXJlIiwidHJhbnNsYXRlIiwia2V5IiwibG9jYWxlIiwiYXJncyIsImtleXMiLCJhcmd1bWVudHMiLCJtYXAiLCJzbGljZSIsInBocmFzZSIsInQiLCJtaWRkbGV3YXJlIiwiY3R4IiwibmV4dCIsImluaXQiLCJyZXEiLCJzdGF0ZSIsImZpbmQiLCJwYXRoIiwiaW5kZXhPZiIsInBhdGhXaXRob3V0TG9jYWxlIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiY29va2llcyIsImdldCIsInJlcXVlc3QiLCJhY2NlcHRzTGFuZ3VhZ2VzIiwic2V0TG9jYWxlIiwicmVkaXJlY3QiLCJxdWVyeSIsImF2YWlsYWJsZUxhbmd1YWdlcyIsInVybCIsIm5hbWUiLCJjdXJyZW50TGFuZ3VhZ2UiLCJ0aXRsZWl6ZSIsIm5hdGl2ZU5hbWUiLCJ0aHJvdyIsImJhZFJlcXVlc3QiLCJzcGxpdCIsImhhc0xhbmciLCJzdGF0dXMiLCJzZXQiLCJzaWduZWQiLCJleHBpcmVzIiwiYWRkIiwidG9EYXRlIiwiaXNBdXRoZW50aWNhdGVkIiwidXNlciIsImxhc3RfbG9jYWxlIiwic2F2ZSIsImVyciIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7ZUFBb0JBLFFBQVEsTUFBUixDOztNQUFaQyxPLFlBQUFBLE87O0FBQ1IsTUFBTUMsVUFBVUYsUUFBUSxnQkFBUixDQUFoQjtBQUNBLE1BQU1HLFNBQVNILFFBQVEsZUFBUixDQUFmO0FBQ0EsTUFBTUksUUFBUUosUUFBUSxjQUFSLENBQWQ7O2dCQUNzQkEsUUFBUSxJQUFSLEM7O01BQWRLLFMsYUFBQUEsUzs7QUFDUixNQUFNQyxPQUFPTixRQUFRLE1BQVIsQ0FBYjtBQUNBLE1BQU1PLElBQUlQLFFBQVEsbUJBQVIsQ0FBVjs7Z0JBQ3dCQSxRQUFRLGtCQUFSLEM7O01BQWhCUSxXLGFBQUFBLFc7O0FBQ1IsTUFBTUMsU0FBU1QsUUFBUSxRQUFSLENBQWY7QUFDQSxNQUFNVSxPQUFPVixRQUFRLE1BQVIsQ0FBYjtBQUNBLE1BQU1XLFVBQVVYLFFBQVEsY0FBUixDQUFoQjtBQUNBLE1BQU1ZLFdBQVdaLFFBQVEsV0FBUixDQUFqQjs7QUFFQTtBQUNBVSxLQUFLRyxHQUFMLEdBQVcsRUFBWDs7QUFFQSxNQUFNQyxJQUFOLENBQVc7QUFDVEMsY0FBWUMsU0FBUyxFQUFyQixFQUF5QjtBQUN2QixTQUFLQSxNQUFMLEdBQWNDLE9BQU9DLE1BQVAsQ0FDWjtBQUNFQyxlQUFTLEVBRFg7QUFFRUMsY0FBUUMsT0FGVjtBQUdFQyxpQkFBV3JCLFFBQVEsU0FBUixDQUhiO0FBSUVVLGVBQVMsQ0FBQyxJQUFELEVBQU8sSUFBUCxFQUFhLElBQWIsQ0FKWDtBQUtFWSxjQUFRLFFBTFY7QUFNRUMsY0FBUSxJQU5WO0FBT0VDLHFCQUFlLElBUGpCO0FBUUVDLGlCQUFXLElBUmI7QUFTRUMsa0JBQVksSUFUZDtBQVVFQyxtQkFBYSxJQVZmO0FBV0VmLFdBQUs7QUFDSGdCLFlBQUksR0FERDtBQUVIQyxhQUFL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LFdBQVksSUFBR2hCLElBQUlHLEdBQUosQ0FBUVosTUFBTyxHQUFFUyxJQUFJbUIsR0FBSSxFQUE1QztBQUNBLFlBQUksQ0FBQzVFLFFBQVF5RCxJQUFJaUIsS0FBWixDQUFMLEVBQXlCRCxZQUFhLElBQUd0RSxVQUFVc0QsSUFBSWlCLEtBQWQsQ0FBcUIsRUFBckM7QUFDekIsZUFBT2pCLElBQUlnQixRQUFKLENBQWFBLFFBQWIsQ0FBUDtBQUNEOztBQUVEO0FBQ0FoQixVQUFJVyxPQUFKLENBQVlrQixHQUFaLENBQWdCLE1BQUt4RSxNQUFMLENBQVlPLE1BQTVCLEVBQW9DMkIsTUFBcEMsRUFBNEM7QUFDMUN1QyxnQkFBUSxJQURrQztBQUUxQ0MsaUJBQVNqRixTQUNOa0YsR0FETSxDQUNGLENBREUsRUFDQyxNQURELEVBRU5DLE1BRk07QUFGaUMsT0FBNUM7O0FBT0E7QUFDQSxVQUFJakMsSUFBSWtDLGVBQUosRUFBSixFQUEyQjtBQUN6QmxDLFlBQUlJLEtBQUosQ0FBVStCLElBQVYsQ0FBZUMsV0FBZixHQUE2QjdDLE1BQTdCO0FBQ0EsWUFBSTtBQUNGLGdCQUFNUyxJQUFJSSxLQUFKLENBQVUrQixJQUFWLENBQWVFLElBQWYsRUFBTjtBQUNELFNBRkQsQ0FFRSxPQUFPQyxHQUFQLEVBQVk7QUFDWixnQkFBS2pGLE1BQUwsQ0FBWUksTUFBWixDQUFtQm9CLEtBQW5CLENBQXlCeUQsR0FBekI7QUFDRDtBQUNGOztBQUVELGFBQU9yQyxNQUFQO0FBakN3QjtBQWtDekI7QUFwTFE7O0FBdUxYc0MsT0FBT0MsT0FBUCxHQUFpQnJGLElBQWpCIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgeyByZXNvbHZlIH0gPSByZXF1aXJlKCdwYXRoJyk7XG5jb25zdCBpc0VtcHR5ID0gcmVxdWlyZSgnbG9kYXNoLmlzZW1wdHknKTtcbmNvbnN0IHNvcnRCeSA9IHJlcXVpcmUoJ2xvZGFzaC5zb3J0YnknKTtcbmNvbnN0IGV2ZXJ5ID0gcmVxdWlyZSgnbG9kYXNoLmV2ZXJ5Jyk7XG5jb25zdCB7IHN0cmluZ2lmeSB9ID0gcmVxdWlyZSgncXMnKTtcbmNvbnN0IEJvb20gPSByZXF1aXJlKCdib29tJyk7XG5jb25zdCBzID0gcmVxdWlyZSgndW5kZXJzY29yZS5zdHJpbmcnKTtcbmNvbnN0IHsgZ2V0TGFuZ3VhZ2UgfSA9IHJlcXVpcmUoJ2NvdW50cnktbGFuZ3VhZ2UnKTtcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoJ21vbWVudCcpO1xuY29uc3QgaTE4biA9IHJlcXVpcmUoJ2kxOG4nKTtcbmNvbnN0IGxvY2FsZXMgPSByZXF1aXJlKCdpMThuLWxvY2FsZXMnKTtcbmNvbnN0IGF1dG9CaW5kID0gcmVxdWlyZSgnYXV0by1iaW5kJyk7XG5cbi8vIGV4cG9zZSBnbG9iYWxcbmkxOG4uYXBpID0ge307XG5cbmNsYXNzIEkxOE4ge1xuICBjb25zdHJ1Y3Rvcihjb25maWcgPSB7fSkge1xuICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgcGhyYXNlczoge30sXG4gICAgICAgIGxvZ2dlcjogY29uc29sZSxcbiAgICAgICAgZGlyZWN0b3J5OiByZXNvbHZlKCdsb2NhbGVzJyksXG4gICAgICAgIGxvY2FsZXM6IFsnZW4nLCAnZXMnLCAnemgnXSxcbiAgICAgICAgY29va2llOiAnbG9jYWxlJyxcbiAgICAgICAgaW5kZW50OiAnICAnLFxuICAgICAgICBkZWZhdWx0TG9jYWxlOiAnZW4nLFxuICAgICAgICBzeW5jRmlsZXM6IHRydWUsXG4gICAgICAgIGF1dG9SZWxvYWQ6IHRydWUsXG4gICAgICAgIHVwZGF0ZUZpbGVzOiB0cnVlLFxuICAgICAgICBhcGk6IHtcbiAgICAgICAgICBfXzogJ3QnLFxuICAgICAgICAgIF9fbjogJ3RuJyxcbiAgICAgICAgICBfX2w6ICd0bCcsXG4gICAgICAgICAgX19oOiAndGgnLFxuICAgICAgICAgIF9fbWY6ICd0bWYnXG4gICAgICAgIH0sXG4gICAgICAgIHJlZ2lzdGVyOiBpMThuLmFwaVxuICAgICAgfSxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG5cbiAgICBjb25zdCB7IGxvZ2dlciB9ID0gdGhpcy5jb25maWc7XG5cbiAgICB0aGlzLmNvbmZpZy5sb2dEZWJ1Z0ZuID0gbG9nZ2VyLmRlYnVnO1xuICAgIHRoaXMuY29uZmlnLmxvZ1dhcm5GbiA9IGxvZ2dlci53YXJuO1xuICAgIHRoaXMuY29uZmlnLmxvZ0Vycm9yRm4gPSBsb2dnZXIuZXJyb3I7XG5cbiAgICAvLyB2YWxpZGF0ZSBsb2NhbGVzIGFnYWluc3QgYXZhaWxhYmxlIG9uZXNcbiAgICBpZiAoIWV2ZXJ5KHRoaXMuY29uZmlnLmxvY2FsZXMsIGwgPT4gbG9jYWxlcy5pbmNsdWRlcyhsKSkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIGxvY2FsZXM6ICR7dGhpcy5jb25maWcubG9jYWxlc1xuICAgICAgICAgIC5maWx0ZXIoc3RyID0+ICFsb2NhbGVzLmluY2x1ZGVzKHN0cikpXG4gICAgICAgICAgLmpvaW4oJywgJyl9YFxuICAgICAgKTtcblxuICAgIC8vIGluaGVyaXQgaTE4biBvYmplY3RcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGkxOG4pO1xuXG4gICAgLy8gY29uZmlndXJlIGkxOG5cbiAgICB0aGlzLmNvbmZpZ3VyZSh0aGlzLmNvbmZpZyk7XG5cbiAgICBhdXRvQmluZCh0aGlzKTtcbiAgfVxuXG4gIHRyYW5zbGF0ZShrZXksIGxvY2FsZSkge1xuICAgIGNvbnN0IHsgbG9nZ2VyLCBwaHJhc2VzIH0gPSB0aGlzLmNvbmZpZztcbiAgICBsZXQgYXJncyA9IE9iamVjdC5rZXlzKGFyZ3VtZW50cylcbiAgICAgIC5tYXAoa2V5ID0+IGFyZ3VtZW50c1trZXldKVxuICAgICAgLnNsaWNlKDIpO1xuICAgIGlmICh0eXBlb2YgYXJncyA9PT0gJ3VuZGVmaW5lZCcpIGFyZ3MgPSBbXTtcbiAgICBjb25zdCBwaHJhc2UgPSBwaHJhc2VzW2tleV07XG4gICAgaWYgKHR5cGVvZiBwaHJhc2UgIT09ICdzdHJpbmcnKSB7XG4gICAgICBsb2dnZXIud2FybihgdHJhbnNsYXRpb24ga2V5IG1pc3Npbmc6ICR7a2V5fWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhcmdzID0gW3sgcGhyYXNlLCBsb2NhbGUgfSwgLi4uYXJnc107XG4gICAgcmV0dXJuIGkxOG4uYXBpLnQoLi4uYXJncyk7XG4gIH1cblxuICBtaWRkbGV3YXJlKGN0eCwgbmV4dCkge1xuICAgIGNvbnN0IHsgbG9jYWxlcywgZGVmYXVsdExvY2FsZSwgcGhyYXNlcywgY29va2llIH0gPSB0aGlzLmNvbmZpZztcblxuICAgIC8vIGV4cG9zZSBhcGkgbWV0aG9kcyB0byBgY3R4LnJlcWAgYW5kIGBjdHguc3RhdGVgXG4gICAgaTE4bi5pbml0KGN0eC5yZXEsIGN0eC5zdGF0ZSk7XG5cbiAgICAvLyBvdmVycmlkZSB0aGUgZXhpc3RpbmcgbG9jYWxlIGRldGVjdGlvbiB3aXRoIG91ciBvd25cbiAgICAvLyBpbiBvcmRlciBvZiBwcmlvcml0eTpcbiAgICAvL1xuICAgIC8vIDEuIGNoZWNrIHRoZSBVUkwsIGlmID09PSBgL2RlYCBvciBzdGFydHMgd2l0aCBgL2RlL2AgdGhlbiBsb2NhbGUgaXMgYGRlYFxuICAgIC8vIDIuIGNoZWNrIHRoZSBjb29raWVcbiAgICAvLyAzLiBjaGVjayBBY2NlcHQtTGFuZ3VhZ2UgbGFzdFxuICAgIC8vXG4gICAgLy8gYWxzbyB3ZSBuZWVkIHRvIGV4cG9zZSBgY3R4LnBhdGhXaXRob3V0TG9jYWxlYFxuICAgIC8vIGFzIHRoZSBwYXRoIHdpdGhvdXQgbG9jYWxlXG5cbiAgICBsZXQgbG9jYWxlID0gbG9jYWxlcy5maW5kKGwgPT4ge1xuICAgICAgcmV0dXJuIGAvJHtsfWAgPT09IGN0eC5wYXRoIHx8IGN0eC5wYXRoLmluZGV4T2YoYC8ke2x9L2ApID09PSAwO1xuICAgIH0pO1xuXG4gICAgY3R4LnBhdGhXaXRob3V0TG9jYWxlID0gbG9jYWxlXG4gICAgICA/IGN0eC5wYXRoLnN1YnN0cmluZyhgLyR7bG9jYWxlfWAubGVuZ3RoKVxuICAgICAgOiBjdHgucGF0aDtcbiAgICBpZiAoY3R4LnBhdGhXaXRob3V0TG9jYWxlID09PSAnJykgY3R4LnBhdGhXaXRob3V0TG9jYWxlID0gJy8nO1xuXG4gICAgaWYgKCFsb2NhbGUpIHtcbiAgICAgIGxvY2FsZSA9IGRlZmF1bHRMb2NhbGU7XG4gICAgICBpZiAoY3R4LmNvb2tpZXMuZ2V0KGNvb2tpZSkgJiYgbG9jYWxlcy5pbmNsdWRlcyhjdHguY29va2llcy5nZXQoY29va2llKSkpXG4gICAgICAgIGxvY2FsZSA9IGN0eC5jb29raWVzLmdldChjb29raWUpO1xuICAgICAgZWxzZSBpZiAoY3R4LnJlcXVlc3QuYWNjZXB0c0xhbmd1YWdlcyhsb2NhbGVzKSlcbiAgICAgICAgbG9jYWxlID0gY3R4LnJlcXVlc3QuYWNjZXB0c0xhbmd1YWdlcyhsb2NhbGVzKTtcbiAgICB9XG5cbiAgICAvLyBzZXQgdGhlIGxvY2FsZSBwcm9wZXJseVxuICAgIGkxOG4uc2V0TG9jYWxlKFtjdHgucmVxLCBjdHguc3RhdGVdLCBsb2NhbGUpO1xuXG4gICAgLy8gaWYgdGhlIGxvY2FsZSB3YXMgbm90IGF2YWlsYWJsZSB0aGVuIHJlZGlyZWN0IHVzZXJcbiAgICBpZiAobG9jYWxlICE9PSBjdHguc3RhdGUubG9jYWxlKVxuICAgICAgcmV0dXJuIGN0eC5yZWRpcmVjdChcbiAgICAgICAgYC8ke2N0eC5zdGF0ZS5sb2NhbGV9JHtjdHgucGF0aFdpdGhvdXRMb2NhbGV9JHtpc0VtcHR5KGN0eC5xdWVyeSlcbiAgICAgICAgICA/ICcnXG4gICAgICAgICAgOiBgPyR7c3RyaW5naWZ5KGN0eC5xdWVyeSl9YH1gXG4gICAgICApO1xuXG4gICAgLy8gYXZhaWxhYmxlIGxhbmd1YWdlcyBmb3IgYSBkcm9wZG93biBtZW51IHRvIGNoYW5nZSBsYW5ndWFnZVxuICAgIGN0eC5zdGF0ZS5hdmFpbGFibGVMYW5ndWFnZXMgPSBzb3J0QnkoXG4gICAgICBsb2NhbGVzLm1hcChsb2NhbGUgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICB1cmw6IGAvJHtsb2NhbGV9JHtjdHgucGF0aFdpdGhvdXRMb2NhbGV9JHtpc0VtcHR5KGN0eC5xdWVyeSlcbiAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgIDogYD8ke3N0cmluZ2lmeShjdHgucXVlcnkpfWB9YCxcbiAgICAgICAgICBuYW1lOiBnZXRMYW5ndWFnZShsb2NhbGUpLm5hbWVbMF1cbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICAgJ25hbWUnXG4gICAgKTtcblxuICAgIC8vIGdldCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBsb2NhbGUncyBsYW5ndWFnZSBpbiBuYXRpdmUgbGFuZ3VhZ2VcbiAgICBjdHguc3RhdGUuY3VycmVudExhbmd1YWdlID0gcy50aXRsZWl6ZShcbiAgICAgIGdldExhbmd1YWdlKGN0eC5yZXEubG9jYWxlKS5uYXRpdmVOYW1lWzBdXG4gICAgKTtcblxuICAgIC8vIGJpbmQgYGN0eC50cmFuc2xhdGVgIGFzIGEgaGVscGVyIGZ1bmNcbiAgICAvLyBzbyB5b3UgY2FuIHBhc3MgYGN0eC50cmFuc2xhdGUoJ1NPTUVfS0VZX0lOX0NPTkZJRycpO2AgYW5kIGl0IHdpbGwgbG9va3VwXG4gICAgLy8gYHBocmFzZXNbJ1NPTUVUSElORyddYCB0byBnZXQgYSBzcGVjaWZpYyBhbmQgY29uc3RhbnQgbWVzc2FnZVxuICAgIC8vIGFuZCB0aGVuIGl0IHdpbGwgY2FsbCBgdGAgdG8gdHJhbnNsYXRlIGl0IHRvIHRoZSB1c2VyJ3MgbG9jYWxlXG4gICAgY3R4LnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgYXJndW1lbnRzWzBdICE9PSAnc3RyaW5nJyB8fFxuICAgICAgICB0eXBlb2YgcGhyYXNlc1thcmd1bWVudHNbMF1dICE9PSAnc3RyaW5nJ1xuICAgICAgKVxuICAgICAgICByZXR1cm4gY3R4LnRocm93KFxuICAgICAgICAgIEJvb20uYmFkUmVxdWVzdCgnVHJhbnNsYXRpb24gZm9yIHlvdXIgbG9jYWxlIGZhaWxlZCwgdHJ5IGFnYWluJylcbiAgICAgICAgKTtcbiAgICAgIGFyZ3VtZW50c1swXSA9IHBocmFzZXNbYXJndW1lbnRzWzBdXTtcbiAgICAgIHJldHVybiBjdHgucmVxLnQoLi4uYXJndW1lbnRzKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5leHQoKTtcbiAgfVxuXG4gIGFzeW5jIHJlZGlyZWN0KGN0eCwgbmV4dCkge1xuICAgIC8vIGluc3BpcmVkIGJ5IG5vZGVqcy5vcmcgbGFuZ3VhZ2Ugc3VwcG9ydFxuICAgIC8vIDxodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGVqcy5vcmcvY29tbWl0L2Q2Y2RkOTQyYThmYzBmZmZjZjY4NzllY2ExMjQyOTVlOTU5OTFiYmMjZGlmZi03OGMxMmY1YWRjMTg0OGQxM2IxYzZmMDcwNTVkOTk2ZVI1OT5cbiAgICBjb25zdCBsb2NhbGUgPSBjdHgudXJsLnNwbGl0KCcvJylbMV0uc3BsaXQoJz8nKVswXTtcbiAgICBjb25zdCBoYXNMYW5nID0gdGhpcy5jb25maWcubG9jYWxlcy5pbmNsdWRlcyhsb2NhbGUpO1xuXG4gICAgLy8gaWYgdGhlIFVSTCBkaWQgbm90IGhhdmUgYSB2YWxpZCBsYW5ndWFnZSBmb3VuZFxuICAgIC8vIHRoZW4gcmVkaXJlY3QgdGhlIHVzZXIgdG8gdGhlaXIgZGV0ZWN0ZWQgbG9jYWxlXG4gICAgaWYgKCFoYXNMYW5nKSB7XG4gICAgICBjdHguc3RhdHVzID0gMzAyO1xuICAgICAgbGV0IHJlZGlyZWN0ID0gYC8ke2N0eC5yZXEubG9jYWxlfSR7Y3R4LnVybH1gO1xuICAgICAgaWYgKCFpc0VtcHR5KGN0eC5xdWVyeSkpIHJlZGlyZWN0ICs9IGA/JHtzdHJpbmdpZnkoY3R4LnF1ZXJ5KX1gO1xuICAgICAgcmV0dXJuIGN0eC5yZWRpcmVjdChyZWRpcmVjdCk7XG4gICAgfVxuXG4gICAgLy8gc2V0IHRoZSBjb29raWUgZm9yIGZ1dHVyZSByZXF1ZXN0c1xuICAgIGN0eC5jb29raWVzLnNldCh0aGlzLmNvbmZpZy5jb29raWUsIGxvY2FsZSwge1xuICAgICAgc2lnbmVkOiB0cnVlLFxuICAgICAgZXhwaXJlczogbW9tZW50KClcbiAgICAgICAgLmFkZCgxLCAneWVhcicpXG4gICAgICAgIC50b0RhdGUoKVxuICAgIH0pO1xuXG4gICAgLy8gaWYgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIHNhdmUgaXQgYXMgYGxhc3RfbG9jYWxlYFxuICAgIGlmIChjdHguaXNBdXRoZW50aWNhdGVkKCkpIHtcbiAgICAgIGN0eC5zdGF0ZS51c2VyLmxhc3RfbG9jYWxlID0gbG9jYWxlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgY3R4LnN0YXRlLnVzZXIuc2F2ZSgpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLmxvZ2dlci5lcnJvcihlcnIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXh0KCk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBJMThOO1xuIl19
{
"name": "@ladjs/i18n",
"description": "i18n wrapper and Koa middleware for Lad",
"version": "0.0.6",
"version": "0.0.7",
"author": "Nick Baugh <niftylettuce@gmail.com> (http://niftylettuce.com/)",

@@ -6,0 +6,0 @@ "bugs": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc