| @@ -1,8 +1,8 @@ | ||
| 1 | 1 | /**! |
| 2 | 2 | |
| 3 | 3 | @license |
| 4 | - handlebars v4.7.7 | |
| 4 | + handlebars v4.7.9 | |
| 5 | 5 | |
| 6 | 6 | Copyright (C) 2011-2019 by Yehuda Katz |
| 7 | 7 | |
| 8 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy |
| @@ -91,25 +91,25 @@ | ||
| 91 | 91 | var _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime); |
| 92 | 92 | |
| 93 | 93 | // Compiler imports |
| 94 | 94 | |
| 95 | - var _handlebarsCompilerAst = __webpack_require__(45); | |
| 95 | + var _handlebarsCompilerAst = __webpack_require__(83); | |
| 96 | 96 | |
| 97 | 97 | var _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst); |
| 98 | 98 | |
| 99 | - var _handlebarsCompilerBase = __webpack_require__(46); | |
| 99 | + var _handlebarsCompilerBase = __webpack_require__(84); | |
| 100 | 100 | |
| 101 | - var _handlebarsCompilerCompiler = __webpack_require__(51); | |
| 101 | + var _handlebarsCompilerCompiler = __webpack_require__(89); | |
| 102 | 102 | |
| 103 | - var _handlebarsCompilerJavascriptCompiler = __webpack_require__(52); | |
| 103 | + var _handlebarsCompilerJavascriptCompiler = __webpack_require__(90); | |
| 104 | 104 | |
| 105 | 105 | var _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler); |
| 106 | 106 | |
| 107 | - var _handlebarsCompilerVisitor = __webpack_require__(49); | |
| 107 | + var _handlebarsCompilerVisitor = __webpack_require__(87); | |
| 108 | 108 | |
| 109 | 109 | var _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor); |
| 110 | 110 | |
| 111 | - var _handlebarsNoConflict = __webpack_require__(44); | |
| 111 | + var _handlebarsNoConflict = __webpack_require__(82); | |
| 112 | 112 | |
| 113 | 113 | var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict); |
| 114 | 114 | |
| 115 | 115 | var _create = _handlebarsRuntime2['default'].create; |
| @@ -177,9 +177,9 @@ | ||
| 177 | 177 | |
| 178 | 178 | // Each of these augment the Handlebars object. No need to setup here. |
| 179 | 179 | // (This is done to easily share code between commonjs and browse envs) |
| 180 | 180 | |
| 181 | - var _handlebarsSafeString = __webpack_require__(37); | |
| 181 | + var _handlebarsSafeString = __webpack_require__(76); | |
| 182 | 182 | |
| 183 | 183 | var _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString); |
| 184 | 184 | |
| 185 | 185 | var _handlebarsException = __webpack_require__(6); |
| @@ -189,13 +189,13 @@ | ||
| 189 | 189 | var _handlebarsUtils = __webpack_require__(5); |
| 190 | 190 | |
| 191 | 191 | var Utils = _interopRequireWildcard(_handlebarsUtils); |
| 192 | 192 | |
| 193 | - var _handlebarsRuntime = __webpack_require__(38); | |
| 193 | + var _handlebarsRuntime = __webpack_require__(77); | |
| 194 | 194 | |
| 195 | 195 | var runtime = _interopRequireWildcard(_handlebarsRuntime); |
| 196 | 196 | |
| 197 | - var _handlebarsNoConflict = __webpack_require__(44); | |
| 197 | + var _handlebarsNoConflict = __webpack_require__(82); | |
| 198 | 198 | |
| 199 | 199 | var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict); |
| 200 | 200 | |
| 201 | 201 | // For compatibility and usage outside of module systems, make the Handlebars object a namespace |
| @@ -269,17 +269,17 @@ | ||
| 269 | 269 | var _exception2 = _interopRequireDefault(_exception); |
| 270 | 270 | |
| 271 | 271 | var _helpers = __webpack_require__(10); |
| 272 | 272 | |
| 273 | - var _decorators = __webpack_require__(30); | |
| 273 | + var _decorators = __webpack_require__(70); | |
| 274 | 274 | |
| 275 | - var _logger = __webpack_require__(32); | |
| 275 | + var _logger = __webpack_require__(72); | |
| 276 | 276 | |
| 277 | 277 | var _logger2 = _interopRequireDefault(_logger); |
| 278 | 278 | |
| 279 | - var _internalProtoAccess = __webpack_require__(33); | |
| 279 | + var _internalProtoAccess = __webpack_require__(73); | |
| 280 | 280 | |
| 281 | - var VERSION = '4.7.7'; | |
| 281 | + var VERSION = '4.7.9'; | |
| 282 | 282 | exports.VERSION = VERSION; |
| 283 | 283 | var COMPILER_REVISION = 8; |
| 284 | 284 | exports.COMPILER_REVISION = COMPILER_REVISION; |
| 285 | 285 | var LAST_COMPATIBLE_COMPILER_REVISION = 7; |
| @@ -620,25 +620,25 @@ | ||
| 620 | 620 | var _helpersEach = __webpack_require__(12); |
| 621 | 621 | |
| 622 | 622 | var _helpersEach2 = _interopRequireDefault(_helpersEach); |
| 623 | 623 | |
| 624 | - var _helpersHelperMissing = __webpack_require__(25); | |
| 624 | + var _helpersHelperMissing = __webpack_require__(65); | |
| 625 | 625 | |
| 626 | 626 | var _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing); |
| 627 | 627 | |
| 628 | - var _helpersIf = __webpack_require__(26); | |
| 628 | + var _helpersIf = __webpack_require__(66); | |
| 629 | 629 | |
| 630 | 630 | var _helpersIf2 = _interopRequireDefault(_helpersIf); |
| 631 | 631 | |
| 632 | - var _helpersLog = __webpack_require__(27); | |
| 632 | + var _helpersLog = __webpack_require__(67); | |
| 633 | 633 | |
| 634 | 634 | var _helpersLog2 = _interopRequireDefault(_helpersLog); |
| 635 | 635 | |
| 636 | - var _helpersLookup = __webpack_require__(28); | |
| 636 | + var _helpersLookup = __webpack_require__(68); | |
| 637 | 637 | |
| 638 | 638 | var _helpersLookup2 = _interopRequireDefault(_helpersLookup); |
| 639 | 639 | |
| 640 | - var _helpersWith = __webpack_require__(29); | |
| 640 | + var _helpersWith = __webpack_require__(69); | |
| 641 | 641 | |
| 642 | 642 | var _helpersWith2 = _interopRequireDefault(_helpersWith); |
| 643 | 643 | |
| 644 | 644 | function registerDefaultHelpers(instance) { |
| @@ -654,9 +654,10 @@ | ||
| 654 | 654 | function moveHelperToHooks(instance, helperName, keepHelper) { |
| 655 | 655 | if (instance.helpers[helperName]) { |
| 656 | 656 | instance.hooks[helperName] = instance.helpers[helperName]; |
| 657 | 657 | if (!keepHelper) { |
| 658 | - delete instance.helpers[helperName]; | |
| 658 | + // Using delete is slow | |
| 659 | + instance.helpers[helperName] = undefined; | |
| 659 | 660 | } |
| 660 | 661 | } |
| 661 | 662 | } |
| 662 | 663 | |
| @@ -706,12 +707,18 @@ | ||
| 706 | 707 | /***/ }), |
| 707 | 708 | /* 12 */ |
| 708 | 709 | /***/ (function(module, exports, __webpack_require__) { |
| 709 | 710 | |
| 710 | - /* WEBPACK VAR INJECTION */(function(global) {'use strict'; | |
| 711 | + 'use strict'; | |
| 711 | 712 | |
| 712 | - var _Object$keys = __webpack_require__(13)['default']; | |
| 713 | + var _Symbol = __webpack_require__(13)['default']; | |
| 713 | 714 | |
| 715 | + var _Symbol$iterator = __webpack_require__(43)['default']; | |
| 716 | + | |
| 717 | + var _getIterator = __webpack_require__(55)['default']; | |
| 718 | + | |
| 719 | + var _Object$keys = __webpack_require__(60)['default']; | |
| 720 | + | |
| 714 | 721 | var _interopRequireDefault = __webpack_require__(1)['default']; |
| 715 | 722 | |
| 716 | 723 | exports.__esModule = true; |
| 717 | 724 | |
| @@ -770,11 +777,11 @@ | ||
| 770 | 777 | if (i in context) { |
| 771 | 778 | execIteration(i, i, i === context.length - 1); |
| 772 | 779 | } |
| 773 | 780 | } |
| 774 | - } else if (global.Symbol && context[global.Symbol.iterator]) { | |
| 781 | + } else if (typeof _Symbol === 'function' && context[_Symbol$iterator]) { | |
| 775 | 782 | var newContext = []; |
| 776 | - var iterator = context[global.Symbol.iterator](); | |
| 783 | + var iterator = _getIterator(context); | |
| 777 | 784 | for (var it = iterator.next(); !it.done; it = iterator.next()) { |
| 778 | 785 | newContext.push(it.value); |
| 779 | 786 | } |
| 780 | 787 | context = newContext; |
| @@ -810,9 +817,8 @@ | ||
| 810 | 817 | }); |
| 811 | 818 | }; |
| 812 | 819 | |
| 813 | 820 | module.exports = exports['default']; |
| 814 | - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) | |
| 815 | 821 | |
| 816 | 822 | /***/ }), |
| 817 | 823 | /* 13 */ |
| 818 | 824 | /***/ (function(module, exports, __webpack_require__) { |
| @@ -823,41 +829,259 @@ | ||
| 823 | 829 | /* 14 */ |
| 824 | 830 | /***/ (function(module, exports, __webpack_require__) { |
| 825 | 831 | |
| 826 | 832 | __webpack_require__(15); |
| 827 | - module.exports = __webpack_require__(21).Object.keys; | |
| 833 | + __webpack_require__(42); | |
| 834 | + module.exports = __webpack_require__(21).Symbol; | |
| 828 | 835 | |
| 829 | 836 | /***/ }), |
| 830 | 837 | /* 15 */ |
| 831 | 838 | /***/ (function(module, exports, __webpack_require__) { |
| 832 | 839 | |
| 833 | - // 19.1.2.14 Object.keys(O) | |
| 834 | - var toObject = __webpack_require__(16); | |
| 840 | + 'use strict'; | |
| 841 | + // ECMAScript 6 symbols shim | |
| 842 | + var $ = __webpack_require__(9) | |
| 843 | + , global = __webpack_require__(16) | |
| 844 | + , has = __webpack_require__(17) | |
| 845 | + , DESCRIPTORS = __webpack_require__(18) | |
| 846 | + , $export = __webpack_require__(20) | |
| 847 | + , redefine = __webpack_require__(24) | |
| 848 | + , $fails = __webpack_require__(19) | |
| 849 | + , shared = __webpack_require__(27) | |
| 850 | + , setToStringTag = __webpack_require__(28) | |
| 851 | + , uid = __webpack_require__(30) | |
| 852 | + , wks = __webpack_require__(29) | |
| 853 | + , keyOf = __webpack_require__(31) | |
| 854 | + , $names = __webpack_require__(36) | |
| 855 | + , enumKeys = __webpack_require__(37) | |
| 856 | + , isArray = __webpack_require__(38) | |
| 857 | + , anObject = __webpack_require__(39) | |
| 858 | + , toIObject = __webpack_require__(32) | |
| 859 | + , createDesc = __webpack_require__(26) | |
| 860 | + , getDesc = $.getDesc | |
| 861 | + , setDesc = $.setDesc | |
| 862 | + , _create = $.create | |
| 863 | + , getNames = $names.get | |
| 864 | + , $Symbol = global.Symbol | |
| 865 | + , $JSON = global.JSON | |
| 866 | + , _stringify = $JSON && $JSON.stringify | |
| 867 | + , setter = false | |
| 868 | + , HIDDEN = wks('_hidden') | |
| 869 | + , isEnum = $.isEnum | |
| 870 | + , SymbolRegistry = shared('symbol-registry') | |
| 871 | + , AllSymbols = shared('symbols') | |
| 872 | + , useNative = typeof $Symbol == 'function' | |
| 873 | + , ObjectProto = Object.prototype; | |
| 835 | 874 | |
| 836 | - __webpack_require__(18)('keys', function($keys){ | |
| 837 | - return function keys(it){ | |
| 838 | - return $keys(toObject(it)); | |
| 875 | + // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 | |
| 876 | + var setSymbolDesc = DESCRIPTORS && $fails(function(){ | |
| 877 | + return _create(setDesc({}, 'a', { | |
| 878 | + get: function(){ return setDesc(this, 'a', {value: 7}).a; } | |
| 879 | + })).a != 7; | |
| 880 | + }) ? function(it, key, D){ | |
| 881 | + var protoDesc = getDesc(ObjectProto, key); | |
| 882 | + if(protoDesc)delete ObjectProto[key]; | |
| 883 | + setDesc(it, key, D); | |
| 884 | + if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc); | |
| 885 | + } : setDesc; | |
| 886 | + | |
| 887 | + var wrap = function(tag){ | |
| 888 | + var sym = AllSymbols[tag] = _create($Symbol.prototype); | |
| 889 | + sym._k = tag; | |
| 890 | + DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, { | |
| 891 | + configurable: true, | |
| 892 | + set: function(value){ | |
| 893 | + if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; | |
| 894 | + setSymbolDesc(this, tag, createDesc(1, value)); | |
| 895 | + } | |
| 896 | + }); | |
| 897 | + return sym; | |
| 898 | + }; | |
| 899 | + | |
| 900 | + var isSymbol = function(it){ | |
| 901 | + return typeof it == 'symbol'; | |
| 902 | + }; | |
| 903 | + | |
| 904 | + var $defineProperty = function defineProperty(it, key, D){ | |
| 905 | + if(D && has(AllSymbols, key)){ | |
| 906 | + if(!D.enumerable){ | |
| 907 | + if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {})); | |
| 908 | + it[HIDDEN][key] = true; | |
| 909 | + } else { | |
| 910 | + if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; | |
| 911 | + D = _create(D, {enumerable: createDesc(0, false)}); | |
| 912 | + } return setSymbolDesc(it, key, D); | |
| 913 | + } return setDesc(it, key, D); | |
| 914 | + }; | |
| 915 | + var $defineProperties = function defineProperties(it, P){ | |
| 916 | + anObject(it); | |
| 917 | + var keys = enumKeys(P = toIObject(P)) | |
| 918 | + , i = 0 | |
| 919 | + , l = keys.length | |
| 920 | + , key; | |
| 921 | + while(l > i)$defineProperty(it, key = keys[i++], P[key]); | |
| 922 | + return it; | |
| 923 | + }; | |
| 924 | + var $create = function create(it, P){ | |
| 925 | + return P === undefined ? _create(it) : $defineProperties(_create(it), P); | |
| 926 | + }; | |
| 927 | + var $propertyIsEnumerable = function propertyIsEnumerable(key){ | |
| 928 | + var E = isEnum.call(this, key); | |
| 929 | + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] | |
| 930 | + ? E : true; | |
| 931 | + }; | |
| 932 | + var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ | |
| 933 | + var D = getDesc(it = toIObject(it), key); | |
| 934 | + if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; | |
| 935 | + return D; | |
| 936 | + }; | |
| 937 | + var $getOwnPropertyNames = function getOwnPropertyNames(it){ | |
| 938 | + var names = getNames(toIObject(it)) | |
| 939 | + , result = [] | |
| 940 | + , i = 0 | |
| 941 | + , key; | |
| 942 | + while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key); | |
| 943 | + return result; | |
| 944 | + }; | |
| 945 | + var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ | |
| 946 | + var names = getNames(toIObject(it)) | |
| 947 | + , result = [] | |
| 948 | + , i = 0 | |
| 949 | + , key; | |
| 950 | + while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]); | |
| 951 | + return result; | |
| 952 | + }; | |
| 953 | + var $stringify = function stringify(it){ | |
| 954 | + if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined | |
| 955 | + var args = [it] | |
| 956 | + , i = 1 | |
| 957 | + , $$ = arguments | |
| 958 | + , replacer, $replacer; | |
| 959 | + while($$.length > i)args.push($$[i++]); | |
| 960 | + replacer = args[1]; | |
| 961 | + if(typeof replacer == 'function')$replacer = replacer; | |
| 962 | + if($replacer || !isArray(replacer))replacer = function(key, value){ | |
| 963 | + if($replacer)value = $replacer.call(this, key, value); | |
| 964 | + if(!isSymbol(value))return value; | |
| 839 | 965 | }; |
| 966 | + args[1] = replacer; | |
| 967 | + return _stringify.apply($JSON, args); | |
| 968 | + }; | |
| 969 | + var buggyJSON = $fails(function(){ | |
| 970 | + var S = $Symbol(); | |
| 971 | + // MS Edge converts symbol values to JSON as {} | |
| 972 | + // WebKit converts symbol values to JSON as null | |
| 973 | + // V8 throws on boxed symbols | |
| 974 | + return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; | |
| 840 | 975 | }); |
| 841 | 976 | |
| 977 | + // 19.4.1.1 Symbol([description]) | |
| 978 | + if(!useNative){ | |
| 979 | + $Symbol = function Symbol(){ | |
| 980 | + if(isSymbol(this))throw TypeError('Symbol is not a constructor'); | |
| 981 | + return wrap(uid(arguments.length > 0 ? arguments[0] : undefined)); | |
| 982 | + }; | |
| 983 | + redefine($Symbol.prototype, 'toString', function toString(){ | |
| 984 | + return this._k; | |
| 985 | + }); | |
| 986 | + | |
| 987 | + isSymbol = function(it){ | |
| 988 | + return it instanceof $Symbol; | |
| 989 | + }; | |
| 990 | + | |
| 991 | + $.create = $create; | |
| 992 | + $.isEnum = $propertyIsEnumerable; | |
| 993 | + $.getDesc = $getOwnPropertyDescriptor; | |
| 994 | + $.setDesc = $defineProperty; | |
| 995 | + $.setDescs = $defineProperties; | |
| 996 | + $.getNames = $names.get = $getOwnPropertyNames; | |
| 997 | + $.getSymbols = $getOwnPropertySymbols; | |
| 998 | + | |
| 999 | + if(DESCRIPTORS && !__webpack_require__(41)){ | |
| 1000 | + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); | |
| 1001 | + } | |
| 1002 | + } | |
| 1003 | + | |
| 1004 | + var symbolStatics = { | |
| 1005 | + // 19.4.2.1 Symbol.for(key) | |
| 1006 | + 'for': function(key){ | |
| 1007 | + return has(SymbolRegistry, key += '') | |
| 1008 | + ? SymbolRegistry[key] | |
| 1009 | + : SymbolRegistry[key] = $Symbol(key); | |
| 1010 | + }, | |
| 1011 | + // 19.4.2.5 Symbol.keyFor(sym) | |
| 1012 | + keyFor: function keyFor(key){ | |
| 1013 | + return keyOf(SymbolRegistry, key); | |
| 1014 | + }, | |
| 1015 | + useSetter: function(){ setter = true; }, | |
| 1016 | + useSimple: function(){ setter = false; } | |
| 1017 | + }; | |
| 1018 | + // 19.4.2.2 Symbol.hasInstance | |
| 1019 | + // 19.4.2.3 Symbol.isConcatSpreadable | |
| 1020 | + // 19.4.2.4 Symbol.iterator | |
| 1021 | + // 19.4.2.6 Symbol.match | |
| 1022 | + // 19.4.2.8 Symbol.replace | |
| 1023 | + // 19.4.2.9 Symbol.search | |
| 1024 | + // 19.4.2.10 Symbol.species | |
| 1025 | + // 19.4.2.11 Symbol.split | |
| 1026 | + // 19.4.2.12 Symbol.toPrimitive | |
| 1027 | + // 19.4.2.13 Symbol.toStringTag | |
| 1028 | + // 19.4.2.14 Symbol.unscopables | |
| 1029 | + $.each.call(( | |
| 1030 | + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' + | |
| 1031 | + 'species,split,toPrimitive,toStringTag,unscopables' | |
| 1032 | + ).split(','), function(it){ | |
| 1033 | + var sym = wks(it); | |
| 1034 | + symbolStatics[it] = useNative ? sym : wrap(sym); | |
| 1035 | + }); | |
| 1036 | + | |
| 1037 | + setter = true; | |
| 1038 | + | |
| 1039 | + $export($export.G + $export.W, {Symbol: $Symbol}); | |
| 1040 | + | |
| 1041 | + $export($export.S, 'Symbol', symbolStatics); | |
| 1042 | + | |
| 1043 | + $export($export.S + $export.F * !useNative, 'Object', { | |
| 1044 | + // 19.1.2.2 Object.create(O [, Properties]) | |
| 1045 | + create: $create, | |
| 1046 | + // 19.1.2.4 Object.defineProperty(O, P, Attributes) | |
| 1047 | + defineProperty: $defineProperty, | |
| 1048 | + // 19.1.2.3 Object.defineProperties(O, Properties) | |
| 1049 | + defineProperties: $defineProperties, | |
| 1050 | + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) | |
| 1051 | + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, | |
| 1052 | + // 19.1.2.7 Object.getOwnPropertyNames(O) | |
| 1053 | + getOwnPropertyNames: $getOwnPropertyNames, | |
| 1054 | + // 19.1.2.8 Object.getOwnPropertySymbols(O) | |
| 1055 | + getOwnPropertySymbols: $getOwnPropertySymbols | |
| 1056 | + }); | |
| 1057 | + | |
| 1058 | + // 24.3.2 JSON.stringify(value [, replacer [, space]]) | |
| 1059 | + $JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify}); | |
| 1060 | + | |
| 1061 | + // 19.4.3.5 Symbol.prototype[@@toStringTag] | |
| 1062 | + setToStringTag($Symbol, 'Symbol'); | |
| 1063 | + // 20.2.1.9 Math[@@toStringTag] | |
| 1064 | + setToStringTag(Math, 'Math', true); | |
| 1065 | + // 24.3.3 JSON[@@toStringTag] | |
| 1066 | + setToStringTag(global.JSON, 'JSON', true); | |
| 1067 | + | |
| 842 | 1068 | /***/ }), |
| 843 | 1069 | /* 16 */ |
| 844 | -/***/ (function(module, exports, __webpack_require__) { | |
| 1070 | +/***/ (function(module, exports) { | |
| 845 | 1071 | |
| 846 | - // 7.1.13 ToObject(argument) | |
| 847 | - var defined = __webpack_require__(17); | |
| 848 | - module.exports = function(it){ | |
| 849 | - return Object(defined(it)); | |
| 850 | - }; | |
| 1072 | + // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 | |
| 1073 | + var global = module.exports = typeof window != 'undefined' && window.Math == Math | |
| 1074 | + ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); | |
| 1075 | + if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef | |
| 851 | 1076 | |
| 852 | 1077 | /***/ }), |
| 853 | 1078 | /* 17 */ |
| 854 | 1079 | /***/ (function(module, exports) { |
| 855 | 1080 | |
| 856 | - // 7.2.1 RequireObjectCoercible(argument) | |
| 857 | - module.exports = function(it){ | |
| 858 | - if(it == undefined)throw TypeError("Can't call method on " + it); | |
| 859 | - return it; | |
| 1081 | + var hasOwnProperty = {}.hasOwnProperty; | |
| 1082 | + module.exports = function(it, key){ | |
| 1083 | + return hasOwnProperty.call(it, key); | |
| 860 | 1084 | }; |
| 861 | 1085 | |
| 862 | 1086 | /***/ }), |
| 863 | 1087 | /* 18 */ |
| @@ -862,24 +1086,30 @@ | ||
| 862 | 1086 | /***/ }), |
| 863 | 1087 | /* 18 */ |
| 864 | 1088 | /***/ (function(module, exports, __webpack_require__) { |
| 865 | 1089 | |
| 866 | - // most Object methods by ES6 should accept primitives | |
| 867 | - var $export = __webpack_require__(19) | |
| 868 | - , core = __webpack_require__(21) | |
| 869 | - , fails = __webpack_require__(24); | |
| 870 | - module.exports = function(KEY, exec){ | |
| 871 | - var fn = (core.Object || {})[KEY] || Object[KEY] | |
| 872 | - , exp = {}; | |
| 873 | - exp[KEY] = exec(fn); | |
| 874 | - $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); | |
| 1090 | + // Thank's IE8 for his funny defineProperty | |
| 1091 | + module.exports = !__webpack_require__(19)(function(){ | |
| 1092 | + return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; | |
| 1093 | + }); | |
| 1094 | + | |
| 1095 | +/***/ }), | |
| 1096 | +/* 19 */ | |
| 1097 | +/***/ (function(module, exports) { | |
| 1098 | + | |
| 1099 | + module.exports = function(exec){ | |
| 1100 | + try { | |
| 1101 | + return !!exec(); | |
| 1102 | + } catch(e){ | |
| 1103 | + return true; | |
| 1104 | + } | |
| 875 | 1105 | }; |
| 876 | 1106 | |
| 877 | 1107 | /***/ }), |
| 878 | -/* 19 */ | |
| 1108 | +/* 20 */ | |
| 879 | 1109 | /***/ (function(module, exports, __webpack_require__) { |
| 880 | 1110 | |
| 881 | - var global = __webpack_require__(20) | |
| 1111 | + var global = __webpack_require__(16) | |
| 882 | 1112 | , core = __webpack_require__(21) |
| 883 | 1113 | , ctx = __webpack_require__(22) |
| 884 | 1114 | , PROTOTYPE = 'prototype'; |
| 885 | 1115 | |
| @@ -925,17 +1155,8 @@ | ||
| 925 | 1155 | $export.W = 32; // wrap |
| 926 | 1156 | module.exports = $export; |
| 927 | 1157 | |
| 928 | 1158 | /***/ }), |
| 929 | -/* 20 */ | |
| 930 | -/***/ (function(module, exports) { | |
| 931 | - | |
| 932 | - // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 | |
| 933 | - var global = module.exports = typeof window != 'undefined' && window.Math == Math | |
| 934 | - ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); | |
| 935 | - if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef | |
| 936 | - | |
| 937 | -/***/ }), | |
| 938 | 1159 | /* 21 */ |
| 939 | 1160 | /***/ (function(module, exports) { |
| 940 | 1161 | |
| 941 | 1162 | var core = module.exports = {version: '1.2.6'}; |
| @@ -976,24 +1197,565 @@ | ||
| 976 | 1197 | }; |
| 977 | 1198 | |
| 978 | 1199 | /***/ }), |
| 979 | 1200 | /* 24 */ |
| 1201 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1202 | + | |
| 1203 | + module.exports = __webpack_require__(25); | |
| 1204 | + | |
| 1205 | +/***/ }), | |
| 1206 | +/* 25 */ | |
| 1207 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1208 | + | |
| 1209 | + var $ = __webpack_require__(9) | |
| 1210 | + , createDesc = __webpack_require__(26); | |
| 1211 | + module.exports = __webpack_require__(18) ? function(object, key, value){ | |
| 1212 | + return $.setDesc(object, key, createDesc(1, value)); | |
| 1213 | + } : function(object, key, value){ | |
| 1214 | + object[key] = value; | |
| 1215 | + return object; | |
| 1216 | + }; | |
| 1217 | + | |
| 1218 | +/***/ }), | |
| 1219 | +/* 26 */ | |
| 980 | 1220 | /***/ (function(module, exports) { |
| 981 | 1221 | |
| 982 | - module.exports = function(exec){ | |
| 1222 | + module.exports = function(bitmap, value){ | |
| 1223 | + return { | |
| 1224 | + enumerable : !(bitmap & 1), | |
| 1225 | + configurable: !(bitmap & 2), | |
| 1226 | + writable : !(bitmap & 4), | |
| 1227 | + value : value | |
| 1228 | + }; | |
| 1229 | + }; | |
| 1230 | + | |
| 1231 | +/***/ }), | |
| 1232 | +/* 27 */ | |
| 1233 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1234 | + | |
| 1235 | + var global = __webpack_require__(16) | |
| 1236 | + , SHARED = '__core-js_shared__' | |
| 1237 | + , store = global[SHARED] || (global[SHARED] = {}); | |
| 1238 | + module.exports = function(key){ | |
| 1239 | + return store[key] || (store[key] = {}); | |
| 1240 | + }; | |
| 1241 | + | |
| 1242 | +/***/ }), | |
| 1243 | +/* 28 */ | |
| 1244 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1245 | + | |
| 1246 | + var def = __webpack_require__(9).setDesc | |
| 1247 | + , has = __webpack_require__(17) | |
| 1248 | + , TAG = __webpack_require__(29)('toStringTag'); | |
| 1249 | + | |
| 1250 | + module.exports = function(it, tag, stat){ | |
| 1251 | + if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); | |
| 1252 | + }; | |
| 1253 | + | |
| 1254 | +/***/ }), | |
| 1255 | +/* 29 */ | |
| 1256 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1257 | + | |
| 1258 | + var store = __webpack_require__(27)('wks') | |
| 1259 | + , uid = __webpack_require__(30) | |
| 1260 | + , Symbol = __webpack_require__(16).Symbol; | |
| 1261 | + module.exports = function(name){ | |
| 1262 | + return store[name] || (store[name] = | |
| 1263 | + Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name)); | |
| 1264 | + }; | |
| 1265 | + | |
| 1266 | +/***/ }), | |
| 1267 | +/* 30 */ | |
| 1268 | +/***/ (function(module, exports) { | |
| 1269 | + | |
| 1270 | + var id = 0 | |
| 1271 | + , px = Math.random(); | |
| 1272 | + module.exports = function(key){ | |
| 1273 | + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); | |
| 1274 | + }; | |
| 1275 | + | |
| 1276 | +/***/ }), | |
| 1277 | +/* 31 */ | |
| 1278 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1279 | + | |
| 1280 | + var $ = __webpack_require__(9) | |
| 1281 | + , toIObject = __webpack_require__(32); | |
| 1282 | + module.exports = function(object, el){ | |
| 1283 | + var O = toIObject(object) | |
| 1284 | + , keys = $.getKeys(O) | |
| 1285 | + , length = keys.length | |
| 1286 | + , index = 0 | |
| 1287 | + , key; | |
| 1288 | + while(length > index)if(O[key = keys[index++]] === el)return key; | |
| 1289 | + }; | |
| 1290 | + | |
| 1291 | +/***/ }), | |
| 1292 | +/* 32 */ | |
| 1293 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1294 | + | |
| 1295 | + // to indexed object, toObject with fallback for non-array-like ES3 strings | |
| 1296 | + var IObject = __webpack_require__(33) | |
| 1297 | + , defined = __webpack_require__(35); | |
| 1298 | + module.exports = function(it){ | |
| 1299 | + return IObject(defined(it)); | |
| 1300 | + }; | |
| 1301 | + | |
| 1302 | +/***/ }), | |
| 1303 | +/* 33 */ | |
| 1304 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1305 | + | |
| 1306 | + // fallback for non-array-like ES3 and non-enumerable old V8 strings | |
| 1307 | + var cof = __webpack_require__(34); | |
| 1308 | + module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ | |
| 1309 | + return cof(it) == 'String' ? it.split('') : Object(it); | |
| 1310 | + }; | |
| 1311 | + | |
| 1312 | +/***/ }), | |
| 1313 | +/* 34 */ | |
| 1314 | +/***/ (function(module, exports) { | |
| 1315 | + | |
| 1316 | + var toString = {}.toString; | |
| 1317 | + | |
| 1318 | + module.exports = function(it){ | |
| 1319 | + return toString.call(it).slice(8, -1); | |
| 1320 | + }; | |
| 1321 | + | |
| 1322 | +/***/ }), | |
| 1323 | +/* 35 */ | |
| 1324 | +/***/ (function(module, exports) { | |
| 1325 | + | |
| 1326 | + // 7.2.1 RequireObjectCoercible(argument) | |
| 1327 | + module.exports = function(it){ | |
| 1328 | + if(it == undefined)throw TypeError("Can't call method on " + it); | |
| 1329 | + return it; | |
| 1330 | + }; | |
| 1331 | + | |
| 1332 | +/***/ }), | |
| 1333 | +/* 36 */ | |
| 1334 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1335 | + | |
| 1336 | + // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window | |
| 1337 | + var toIObject = __webpack_require__(32) | |
| 1338 | + , getNames = __webpack_require__(9).getNames | |
| 1339 | + , toString = {}.toString; | |
| 1340 | + | |
| 1341 | + var windowNames = typeof window == 'object' && Object.getOwnPropertyNames | |
| 1342 | + ? Object.getOwnPropertyNames(window) : []; | |
| 1343 | + | |
| 1344 | + var getWindowNames = function(it){ | |
| 983 | 1345 | try { |
| 984 | - return !!exec(); | |
| 1346 | + return getNames(it); | |
| 985 | 1347 | } catch(e){ |
| 986 | - return true; | |
| 1348 | + return windowNames.slice(); | |
| 987 | 1349 | } |
| 988 | 1350 | }; |
| 989 | 1351 | |
| 1352 | + module.exports.get = function getOwnPropertyNames(it){ | |
| 1353 | + if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it); | |
| 1354 | + return getNames(toIObject(it)); | |
| 1355 | + }; | |
| 1356 | + | |
| 990 | 1357 | /***/ }), |
| 991 | -/* 25 */ | |
| 1358 | +/* 37 */ | |
| 992 | 1359 | /***/ (function(module, exports, __webpack_require__) { |
| 993 | 1360 | |
| 1361 | + // all enumerable object keys, includes symbols | |
| 1362 | + var $ = __webpack_require__(9); | |
| 1363 | + module.exports = function(it){ | |
| 1364 | + var keys = $.getKeys(it) | |
| 1365 | + , getSymbols = $.getSymbols; | |
| 1366 | + if(getSymbols){ | |
| 1367 | + var symbols = getSymbols(it) | |
| 1368 | + , isEnum = $.isEnum | |
| 1369 | + , i = 0 | |
| 1370 | + , key; | |
| 1371 | + while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key); | |
| 1372 | + } | |
| 1373 | + return keys; | |
| 1374 | + }; | |
| 1375 | + | |
| 1376 | +/***/ }), | |
| 1377 | +/* 38 */ | |
| 1378 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1379 | + | |
| 1380 | + // 7.2.2 IsArray(argument) | |
| 1381 | + var cof = __webpack_require__(34); | |
| 1382 | + module.exports = Array.isArray || function(arg){ | |
| 1383 | + return cof(arg) == 'Array'; | |
| 1384 | + }; | |
| 1385 | + | |
| 1386 | +/***/ }), | |
| 1387 | +/* 39 */ | |
| 1388 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1389 | + | |
| 1390 | + var isObject = __webpack_require__(40); | |
| 1391 | + module.exports = function(it){ | |
| 1392 | + if(!isObject(it))throw TypeError(it + ' is not an object!'); | |
| 1393 | + return it; | |
| 1394 | + }; | |
| 1395 | + | |
| 1396 | +/***/ }), | |
| 1397 | +/* 40 */ | |
| 1398 | +/***/ (function(module, exports) { | |
| 1399 | + | |
| 1400 | + module.exports = function(it){ | |
| 1401 | + return typeof it === 'object' ? it !== null : typeof it === 'function'; | |
| 1402 | + }; | |
| 1403 | + | |
| 1404 | +/***/ }), | |
| 1405 | +/* 41 */ | |
| 1406 | +/***/ (function(module, exports) { | |
| 1407 | + | |
| 1408 | + module.exports = true; | |
| 1409 | + | |
| 1410 | +/***/ }), | |
| 1411 | +/* 42 */ | |
| 1412 | +/***/ (function(module, exports) { | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | +/***/ }), | |
| 1417 | +/* 43 */ | |
| 1418 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1419 | + | |
| 1420 | + module.exports = { "default": __webpack_require__(44), __esModule: true }; | |
| 1421 | + | |
| 1422 | +/***/ }), | |
| 1423 | +/* 44 */ | |
| 1424 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1425 | + | |
| 1426 | + __webpack_require__(45); | |
| 1427 | + __webpack_require__(51); | |
| 1428 | + module.exports = __webpack_require__(29)('iterator'); | |
| 1429 | + | |
| 1430 | +/***/ }), | |
| 1431 | +/* 45 */ | |
| 1432 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1433 | + | |
| 994 | 1434 | 'use strict'; |
| 1435 | + var $at = __webpack_require__(46)(true); | |
| 995 | 1436 | |
| 1437 | + // 21.1.3.27 String.prototype[@@iterator]() | |
| 1438 | + __webpack_require__(48)(String, 'String', function(iterated){ | |
| 1439 | + this._t = String(iterated); // target | |
| 1440 | + this._i = 0; // next index | |
| 1441 | + // 21.1.5.2.1 %StringIteratorPrototype%.next() | |
| 1442 | + }, function(){ | |
| 1443 | + var O = this._t | |
| 1444 | + , index = this._i | |
| 1445 | + , point; | |
| 1446 | + if(index >= O.length)return {value: undefined, done: true}; | |
| 1447 | + point = $at(O, index); | |
| 1448 | + this._i += point.length; | |
| 1449 | + return {value: point, done: false}; | |
| 1450 | + }); | |
| 1451 | + | |
| 1452 | +/***/ }), | |
| 1453 | +/* 46 */ | |
| 1454 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1455 | + | |
| 1456 | + var toInteger = __webpack_require__(47) | |
| 1457 | + , defined = __webpack_require__(35); | |
| 1458 | + // true -> String#at | |
| 1459 | + // false -> String#codePointAt | |
| 1460 | + module.exports = function(TO_STRING){ | |
| 1461 | + return function(that, pos){ | |
| 1462 | + var s = String(defined(that)) | |
| 1463 | + , i = toInteger(pos) | |
| 1464 | + , l = s.length | |
| 1465 | + , a, b; | |
| 1466 | + if(i < 0 || i >= l)return TO_STRING ? '' : undefined; | |
| 1467 | + a = s.charCodeAt(i); | |
| 1468 | + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff | |
| 1469 | + ? TO_STRING ? s.charAt(i) : a | |
| 1470 | + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; | |
| 1471 | + }; | |
| 1472 | + }; | |
| 1473 | + | |
| 1474 | +/***/ }), | |
| 1475 | +/* 47 */ | |
| 1476 | +/***/ (function(module, exports) { | |
| 1477 | + | |
| 1478 | + // 7.1.4 ToInteger | |
| 1479 | + var ceil = Math.ceil | |
| 1480 | + , floor = Math.floor; | |
| 1481 | + module.exports = function(it){ | |
| 1482 | + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); | |
| 1483 | + }; | |
| 1484 | + | |
| 1485 | +/***/ }), | |
| 1486 | +/* 48 */ | |
| 1487 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1488 | + | |
| 1489 | + 'use strict'; | |
| 1490 | + var LIBRARY = __webpack_require__(41) | |
| 1491 | + , $export = __webpack_require__(20) | |
| 1492 | + , redefine = __webpack_require__(24) | |
| 1493 | + , hide = __webpack_require__(25) | |
| 1494 | + , has = __webpack_require__(17) | |
| 1495 | + , Iterators = __webpack_require__(49) | |
| 1496 | + , $iterCreate = __webpack_require__(50) | |
| 1497 | + , setToStringTag = __webpack_require__(28) | |
| 1498 | + , getProto = __webpack_require__(9).getProto | |
| 1499 | + , ITERATOR = __webpack_require__(29)('iterator') | |
| 1500 | + , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` | |
| 1501 | + , FF_ITERATOR = '@@iterator' | |
| 1502 | + , KEYS = 'keys' | |
| 1503 | + , VALUES = 'values'; | |
| 1504 | + | |
| 1505 | + var returnThis = function(){ return this; }; | |
| 1506 | + | |
| 1507 | + module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ | |
| 1508 | + $iterCreate(Constructor, NAME, next); | |
| 1509 | + var getMethod = function(kind){ | |
| 1510 | + if(!BUGGY && kind in proto)return proto[kind]; | |
| 1511 | + switch(kind){ | |
| 1512 | + case KEYS: return function keys(){ return new Constructor(this, kind); }; | |
| 1513 | + case VALUES: return function values(){ return new Constructor(this, kind); }; | |
| 1514 | + } return function entries(){ return new Constructor(this, kind); }; | |
| 1515 | + }; | |
| 1516 | + var TAG = NAME + ' Iterator' | |
| 1517 | + , DEF_VALUES = DEFAULT == VALUES | |
| 1518 | + , VALUES_BUG = false | |
| 1519 | + , proto = Base.prototype | |
| 1520 | + , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] | |
| 1521 | + , $default = $native || getMethod(DEFAULT) | |
| 1522 | + , methods, key; | |
| 1523 | + // Fix native | |
| 1524 | + if($native){ | |
| 1525 | + var IteratorPrototype = getProto($default.call(new Base)); | |
| 1526 | + // Set @@toStringTag to native iterators | |
| 1527 | + setToStringTag(IteratorPrototype, TAG, true); | |
| 1528 | + // FF fix | |
| 1529 | + if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); | |
| 1530 | + // fix Array#{values, @@iterator}.name in V8 / FF | |
| 1531 | + if(DEF_VALUES && $native.name !== VALUES){ | |
| 1532 | + VALUES_BUG = true; | |
| 1533 | + $default = function values(){ return $native.call(this); }; | |
| 1534 | + } | |
| 1535 | + } | |
| 1536 | + // Define iterator | |
| 1537 | + if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ | |
| 1538 | + hide(proto, ITERATOR, $default); | |
| 1539 | + } | |
| 1540 | + // Plug for library | |
| 1541 | + Iterators[NAME] = $default; | |
| 1542 | + Iterators[TAG] = returnThis; | |
| 1543 | + if(DEFAULT){ | |
| 1544 | + methods = { | |
| 1545 | + values: DEF_VALUES ? $default : getMethod(VALUES), | |
| 1546 | + keys: IS_SET ? $default : getMethod(KEYS), | |
| 1547 | + entries: !DEF_VALUES ? $default : getMethod('entries') | |
| 1548 | + }; | |
| 1549 | + if(FORCED)for(key in methods){ | |
| 1550 | + if(!(key in proto))redefine(proto, key, methods[key]); | |
| 1551 | + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); | |
| 1552 | + } | |
| 1553 | + return methods; | |
| 1554 | + }; | |
| 1555 | + | |
| 1556 | +/***/ }), | |
| 1557 | +/* 49 */ | |
| 1558 | +/***/ (function(module, exports) { | |
| 1559 | + | |
| 1560 | + module.exports = {}; | |
| 1561 | + | |
| 1562 | +/***/ }), | |
| 1563 | +/* 50 */ | |
| 1564 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1565 | + | |
| 1566 | + 'use strict'; | |
| 1567 | + var $ = __webpack_require__(9) | |
| 1568 | + , descriptor = __webpack_require__(26) | |
| 1569 | + , setToStringTag = __webpack_require__(28) | |
| 1570 | + , IteratorPrototype = {}; | |
| 1571 | + | |
| 1572 | + // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() | |
| 1573 | + __webpack_require__(25)(IteratorPrototype, __webpack_require__(29)('iterator'), function(){ return this; }); | |
| 1574 | + | |
| 1575 | + module.exports = function(Constructor, NAME, next){ | |
| 1576 | + Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)}); | |
| 1577 | + setToStringTag(Constructor, NAME + ' Iterator'); | |
| 1578 | + }; | |
| 1579 | + | |
| 1580 | +/***/ }), | |
| 1581 | +/* 51 */ | |
| 1582 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1583 | + | |
| 1584 | + __webpack_require__(52); | |
| 1585 | + var Iterators = __webpack_require__(49); | |
| 1586 | + Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array; | |
| 1587 | + | |
| 1588 | +/***/ }), | |
| 1589 | +/* 52 */ | |
| 1590 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1591 | + | |
| 1592 | + 'use strict'; | |
| 1593 | + var addToUnscopables = __webpack_require__(53) | |
| 1594 | + , step = __webpack_require__(54) | |
| 1595 | + , Iterators = __webpack_require__(49) | |
| 1596 | + , toIObject = __webpack_require__(32); | |
| 1597 | + | |
| 1598 | + // 22.1.3.4 Array.prototype.entries() | |
| 1599 | + // 22.1.3.13 Array.prototype.keys() | |
| 1600 | + // 22.1.3.29 Array.prototype.values() | |
| 1601 | + // 22.1.3.30 Array.prototype[@@iterator]() | |
| 1602 | + module.exports = __webpack_require__(48)(Array, 'Array', function(iterated, kind){ | |
| 1603 | + this._t = toIObject(iterated); // target | |
| 1604 | + this._i = 0; // next index | |
| 1605 | + this._k = kind; // kind | |
| 1606 | + // 22.1.5.2.1 %ArrayIteratorPrototype%.next() | |
| 1607 | + }, function(){ | |
| 1608 | + var O = this._t | |
| 1609 | + , kind = this._k | |
| 1610 | + , index = this._i++; | |
| 1611 | + if(!O || index >= O.length){ | |
| 1612 | + this._t = undefined; | |
| 1613 | + return step(1); | |
| 1614 | + } | |
| 1615 | + if(kind == 'keys' )return step(0, index); | |
| 1616 | + if(kind == 'values')return step(0, O[index]); | |
| 1617 | + return step(0, [index, O[index]]); | |
| 1618 | + }, 'values'); | |
| 1619 | + | |
| 1620 | + // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) | |
| 1621 | + Iterators.Arguments = Iterators.Array; | |
| 1622 | + | |
| 1623 | + addToUnscopables('keys'); | |
| 1624 | + addToUnscopables('values'); | |
| 1625 | + addToUnscopables('entries'); | |
| 1626 | + | |
| 1627 | +/***/ }), | |
| 1628 | +/* 53 */ | |
| 1629 | +/***/ (function(module, exports) { | |
| 1630 | + | |
| 1631 | + module.exports = function(){ /* empty */ }; | |
| 1632 | + | |
| 1633 | +/***/ }), | |
| 1634 | +/* 54 */ | |
| 1635 | +/***/ (function(module, exports) { | |
| 1636 | + | |
| 1637 | + module.exports = function(done, value){ | |
| 1638 | + return {value: value, done: !!done}; | |
| 1639 | + }; | |
| 1640 | + | |
| 1641 | +/***/ }), | |
| 1642 | +/* 55 */ | |
| 1643 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1644 | + | |
| 1645 | + module.exports = { "default": __webpack_require__(56), __esModule: true }; | |
| 1646 | + | |
| 1647 | +/***/ }), | |
| 1648 | +/* 56 */ | |
| 1649 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1650 | + | |
| 1651 | + __webpack_require__(51); | |
| 1652 | + __webpack_require__(45); | |
| 1653 | + module.exports = __webpack_require__(57); | |
| 1654 | + | |
| 1655 | +/***/ }), | |
| 1656 | +/* 57 */ | |
| 1657 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1658 | + | |
| 1659 | + var anObject = __webpack_require__(39) | |
| 1660 | + , get = __webpack_require__(58); | |
| 1661 | + module.exports = __webpack_require__(21).getIterator = function(it){ | |
| 1662 | + var iterFn = get(it); | |
| 1663 | + if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!'); | |
| 1664 | + return anObject(iterFn.call(it)); | |
| 1665 | + }; | |
| 1666 | + | |
| 1667 | +/***/ }), | |
| 1668 | +/* 58 */ | |
| 1669 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1670 | + | |
| 1671 | + var classof = __webpack_require__(59) | |
| 1672 | + , ITERATOR = __webpack_require__(29)('iterator') | |
| 1673 | + , Iterators = __webpack_require__(49); | |
| 1674 | + module.exports = __webpack_require__(21).getIteratorMethod = function(it){ | |
| 1675 | + if(it != undefined)return it[ITERATOR] | |
| 1676 | + || it['@@iterator'] | |
| 1677 | + || Iterators[classof(it)]; | |
| 1678 | + }; | |
| 1679 | + | |
| 1680 | +/***/ }), | |
| 1681 | +/* 59 */ | |
| 1682 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1683 | + | |
| 1684 | + // getting tag from 19.1.3.6 Object.prototype.toString() | |
| 1685 | + var cof = __webpack_require__(34) | |
| 1686 | + , TAG = __webpack_require__(29)('toStringTag') | |
| 1687 | + // ES3 wrong here | |
| 1688 | + , ARG = cof(function(){ return arguments; }()) == 'Arguments'; | |
| 1689 | + | |
| 1690 | + module.exports = function(it){ | |
| 1691 | + var O, T, B; | |
| 1692 | + return it === undefined ? 'Undefined' : it === null ? 'Null' | |
| 1693 | + // @@toStringTag case | |
| 1694 | + : typeof (T = (O = Object(it))[TAG]) == 'string' ? T | |
| 1695 | + // builtinTag case | |
| 1696 | + : ARG ? cof(O) | |
| 1697 | + // ES3 arguments fallback | |
| 1698 | + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; | |
| 1699 | + }; | |
| 1700 | + | |
| 1701 | +/***/ }), | |
| 1702 | +/* 60 */ | |
| 1703 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1704 | + | |
| 1705 | + module.exports = { "default": __webpack_require__(61), __esModule: true }; | |
| 1706 | + | |
| 1707 | +/***/ }), | |
| 1708 | +/* 61 */ | |
| 1709 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1710 | + | |
| 1711 | + __webpack_require__(62); | |
| 1712 | + module.exports = __webpack_require__(21).Object.keys; | |
| 1713 | + | |
| 1714 | +/***/ }), | |
| 1715 | +/* 62 */ | |
| 1716 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1717 | + | |
| 1718 | + // 19.1.2.14 Object.keys(O) | |
| 1719 | + var toObject = __webpack_require__(63); | |
| 1720 | + | |
| 1721 | + __webpack_require__(64)('keys', function($keys){ | |
| 1722 | + return function keys(it){ | |
| 1723 | + return $keys(toObject(it)); | |
| 1724 | + }; | |
| 1725 | + }); | |
| 1726 | + | |
| 1727 | +/***/ }), | |
| 1728 | +/* 63 */ | |
| 1729 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1730 | + | |
| 1731 | + // 7.1.13 ToObject(argument) | |
| 1732 | + var defined = __webpack_require__(35); | |
| 1733 | + module.exports = function(it){ | |
| 1734 | + return Object(defined(it)); | |
| 1735 | + }; | |
| 1736 | + | |
| 1737 | +/***/ }), | |
| 1738 | +/* 64 */ | |
| 1739 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1740 | + | |
| 1741 | + // most Object methods by ES6 should accept primitives | |
| 1742 | + var $export = __webpack_require__(20) | |
| 1743 | + , core = __webpack_require__(21) | |
| 1744 | + , fails = __webpack_require__(19); | |
| 1745 | + module.exports = function(KEY, exec){ | |
| 1746 | + var fn = (core.Object || {})[KEY] || Object[KEY] | |
| 1747 | + , exp = {}; | |
| 1748 | + exp[KEY] = exec(fn); | |
| 1749 | + $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); | |
| 1750 | + }; | |
| 1751 | + | |
| 1752 | +/***/ }), | |
| 1753 | +/* 65 */ | |
| 1754 | +/***/ (function(module, exports, __webpack_require__) { | |
| 1755 | + | |
| 1756 | + 'use strict'; | |
| 1757 | + | |
| 996 | 1758 | var _interopRequireDefault = __webpack_require__(1)['default']; |
| 997 | 1759 | |
| 998 | 1760 | exports.__esModule = true; |
| 999 | 1761 | |
| @@ -1015,9 +1777,9 @@ | ||
| 1015 | 1777 | |
| 1016 | 1778 | module.exports = exports['default']; |
| 1017 | 1779 | |
| 1018 | 1780 | /***/ }), |
| 1019 | -/* 26 */ | |
| 1781 | +/* 66 */ | |
| 1020 | 1782 | /***/ (function(module, exports, __webpack_require__) { |
| 1021 | 1783 | |
| 1022 | 1784 | 'use strict'; |
| 1023 | 1785 | |
| @@ -1064,9 +1826,9 @@ | ||
| 1064 | 1826 | |
| 1065 | 1827 | module.exports = exports['default']; |
| 1066 | 1828 | |
| 1067 | 1829 | /***/ }), |
| 1068 | -/* 27 */ | |
| 1830 | +/* 67 */ | |
| 1069 | 1831 | /***/ (function(module, exports) { |
| 1070 | 1832 | |
| 1071 | 1833 | 'use strict'; |
| 1072 | 1834 | |
| @@ -1094,9 +1856,9 @@ | ||
| 1094 | 1856 | |
| 1095 | 1857 | module.exports = exports['default']; |
| 1096 | 1858 | |
| 1097 | 1859 | /***/ }), |
| 1098 | -/* 28 */ | |
| 1860 | +/* 68 */ | |
| 1099 | 1861 | /***/ (function(module, exports) { |
| 1100 | 1862 | |
| 1101 | 1863 | 'use strict'; |
| 1102 | 1864 | |
| @@ -1114,9 +1876,9 @@ | ||
| 1114 | 1876 | |
| 1115 | 1877 | module.exports = exports['default']; |
| 1116 | 1878 | |
| 1117 | 1879 | /***/ }), |
| 1118 | -/* 29 */ | |
| 1880 | +/* 69 */ | |
| 1119 | 1881 | /***/ (function(module, exports, __webpack_require__) { |
| 1120 | 1882 | |
| 1121 | 1883 | 'use strict'; |
| 1122 | 1884 | |
| @@ -1160,9 +1922,9 @@ | ||
| 1160 | 1922 | |
| 1161 | 1923 | module.exports = exports['default']; |
| 1162 | 1924 | |
| 1163 | 1925 | /***/ }), |
| 1164 | -/* 30 */ | |
| 1926 | +/* 70 */ | |
| 1165 | 1927 | /***/ (function(module, exports, __webpack_require__) { |
| 1166 | 1928 | |
| 1167 | 1929 | 'use strict'; |
| 1168 | 1930 | |
| @@ -1170,9 +1932,9 @@ | ||
| 1170 | 1932 | |
| 1171 | 1933 | exports.__esModule = true; |
| 1172 | 1934 | exports.registerDefaultDecorators = registerDefaultDecorators; |
| 1173 | 1935 | |
| 1174 | - var _decoratorsInline = __webpack_require__(31); | |
| 1936 | + var _decoratorsInline = __webpack_require__(71); | |
| 1175 | 1937 | |
| 1176 | 1938 | var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline); |
| 1177 | 1939 | |
| 1178 | 1940 | function registerDefaultDecorators(instance) { |
| @@ -1179,9 +1941,9 @@ | ||
| 1179 | 1941 | _decoratorsInline2['default'](instance); |
| 1180 | 1942 | } |
| 1181 | 1943 | |
| 1182 | 1944 | /***/ }), |
| 1183 | -/* 31 */ | |
| 1945 | +/* 71 */ | |
| 1184 | 1946 | /***/ (function(module, exports, __webpack_require__) { |
| 1185 | 1947 | |
| 1186 | 1948 | 'use strict'; |
| 1187 | 1949 | |
| @@ -1212,9 +1974,9 @@ | ||
| 1212 | 1974 | |
| 1213 | 1975 | module.exports = exports['default']; |
| 1214 | 1976 | |
| 1215 | 1977 | /***/ }), |
| 1216 | -/* 32 */ | |
| 1978 | +/* 72 */ | |
| 1217 | 1979 | /***/ (function(module, exports, __webpack_require__) { |
| 1218 | 1980 | |
| 1219 | 1981 | 'use strict'; |
| 1220 | 1982 | |
| @@ -1263,18 +2025,18 @@ | ||
| 1263 | 2025 | exports['default'] = logger; |
| 1264 | 2026 | module.exports = exports['default']; |
| 1265 | 2027 | |
| 1266 | 2028 | /***/ }), |
| 1267 | -/* 33 */ | |
| 2029 | +/* 73 */ | |
| 1268 | 2030 | /***/ (function(module, exports, __webpack_require__) { |
| 1269 | 2031 | |
| 1270 | 2032 | 'use strict'; |
| 1271 | 2033 | |
| 1272 | - var _Object$create = __webpack_require__(34)['default']; | |
| 2034 | + var _Object$create = __webpack_require__(74)['default']; | |
| 1273 | 2035 | |
| 1274 | - var _Object$keys = __webpack_require__(13)['default']; | |
| 2036 | + var _Object$keys = __webpack_require__(60)['default']; | |
| 1275 | 2037 | |
| 1276 | - var _interopRequireWildcard = __webpack_require__(3)['default']; | |
| 2038 | + var _interopRequireDefault = __webpack_require__(1)['default']; | |
| 1277 | 2039 | |
| 1278 | 2040 | exports.__esModule = true; |
| 1279 | 2041 | exports.createProtoAccessControl = createProtoAccessControl; |
| 1280 | 2042 | exports.resultIsAllowed = resultIsAllowed; |
| @@ -1279,34 +2041,39 @@ | ||
| 1279 | 2041 | exports.createProtoAccessControl = createProtoAccessControl; |
| 1280 | 2042 | exports.resultIsAllowed = resultIsAllowed; |
| 1281 | 2043 | exports.resetLoggedProperties = resetLoggedProperties; |
| 1282 | 2044 | |
| 1283 | - var _createNewLookupObject = __webpack_require__(36); | |
| 2045 | + var _utils = __webpack_require__(5); | |
| 1284 | 2046 | |
| 1285 | - var _logger = __webpack_require__(32); | |
| 2047 | + var _logger = __webpack_require__(72); | |
| 1286 | 2048 | |
| 1287 | - var logger = _interopRequireWildcard(_logger); | |
| 2049 | + var _logger2 = _interopRequireDefault(_logger); | |
| 1288 | 2050 | |
| 1289 | 2051 | var loggedProperties = _Object$create(null); |
| 1290 | 2052 | |
| 1291 | 2053 | function createProtoAccessControl(runtimeOptions) { |
| 1292 | - var defaultMethodWhiteList = _Object$create(null); | |
| 1293 | - defaultMethodWhiteList['constructor'] = false; | |
| 1294 | - defaultMethodWhiteList['__defineGetter__'] = false; | |
| 1295 | - defaultMethodWhiteList['__defineSetter__'] = false; | |
| 1296 | - defaultMethodWhiteList['__lookupGetter__'] = false; | |
| 2054 | + // Create an object with "null"-prototype to avoid truthy results on | |
| 2055 | + // prototype properties. | |
| 2056 | + var propertyWhiteList = _Object$create(null); | |
| 2057 | + // eslint-disable-next-line no-proto | |
| 2058 | + propertyWhiteList['__proto__'] = false; | |
| 2059 | + _utils.extend(propertyWhiteList, runtimeOptions.allowedProtoProperties); | |
| 1297 | 2060 | |
| 1298 | - var defaultPropertyWhiteList = _Object$create(null); | |
| 1299 | - // eslint-disable-next-line no-proto | |
| 1300 | - defaultPropertyWhiteList['__proto__'] = false; | |
| 2061 | + var methodWhiteList = _Object$create(null); | |
| 2062 | + methodWhiteList['constructor'] = false; | |
| 2063 | + methodWhiteList['__defineGetter__'] = false; | |
| 2064 | + methodWhiteList['__defineSetter__'] = false; | |
| 2065 | + methodWhiteList['__lookupGetter__'] = false; | |
| 2066 | + methodWhiteList['__lookupSetter__'] = false; | |
| 2067 | + _utils.extend(methodWhiteList, runtimeOptions.allowedProtoMethods); | |
| 1301 | 2068 | |
| 1302 | 2069 | return { |
| 1303 | 2070 | properties: { |
| 1304 | - whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties), | |
| 2071 | + whitelist: propertyWhiteList, | |
| 1305 | 2072 | defaultValue: runtimeOptions.allowProtoPropertiesByDefault |
| 1306 | 2073 | }, |
| 1307 | 2074 | methods: { |
| 1308 | - whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods), | |
| 2075 | + whitelist: methodWhiteList, | |
| 1309 | 2076 | defaultValue: runtimeOptions.allowProtoMethodsByDefault |
| 1310 | 2077 | } |
| 1311 | 2078 | }; |
| 1312 | 2079 | } |
| @@ -1332,9 +2099,9 @@ | ||
| 1332 | 2099 | |
| 1333 | 2100 | function logUnexpecedPropertyAccessOnce(propertyName) { |
| 1334 | 2101 | if (loggedProperties[propertyName] !== true) { |
| 1335 | 2102 | loggedProperties[propertyName] = true; |
| 1336 | - logger.log('error', 'Handlebars: Access has been denied to resolve the property "' + propertyName + '" because it is not an "own property" of its parent.\n' + 'You can add a runtime option to disable the check or this warning:\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details'); | |
| 2103 | + _logger2['default'].log('error', 'Handlebars: Access has been denied to resolve the property "' + propertyName + '" because it is not an "own property" of its parent.\n' + 'You can add a runtime option to disable the check or this warning:\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details'); | |
| 1337 | 2104 | } |
| 1338 | 2105 | } |
| 1339 | 2106 | |
| 1340 | 2107 | function resetLoggedProperties() { |
| @@ -1343,15 +2110,15 @@ | ||
| 1343 | 2110 | }); |
| 1344 | 2111 | } |
| 1345 | 2112 | |
| 1346 | 2113 | /***/ }), |
| 1347 | -/* 34 */ | |
| 2114 | +/* 74 */ | |
| 1348 | 2115 | /***/ (function(module, exports, __webpack_require__) { |
| 1349 | 2116 | |
| 1350 | - module.exports = { "default": __webpack_require__(35), __esModule: true }; | |
| 2117 | + module.exports = { "default": __webpack_require__(75), __esModule: true }; | |
| 1351 | 2118 | |
| 1352 | 2119 | /***/ }), |
| 1353 | -/* 35 */ | |
| 2120 | +/* 75 */ | |
| 1354 | 2121 | /***/ (function(module, exports, __webpack_require__) { |
| 1355 | 2122 | |
| 1356 | 2123 | var $ = __webpack_require__(9); |
| 1357 | 2124 | module.exports = function create(P, D){ |
| @@ -1358,37 +2125,9 @@ | ||
| 1358 | 2125 | return $.create(P, D); |
| 1359 | 2126 | }; |
| 1360 | 2127 | |
| 1361 | 2128 | /***/ }), |
| 1362 | -/* 36 */ | |
| 1363 | -/***/ (function(module, exports, __webpack_require__) { | |
| 1364 | - | |
| 1365 | - 'use strict'; | |
| 1366 | - | |
| 1367 | - var _Object$create = __webpack_require__(34)['default']; | |
| 1368 | - | |
| 1369 | - exports.__esModule = true; | |
| 1370 | - exports.createNewLookupObject = createNewLookupObject; | |
| 1371 | - | |
| 1372 | - var _utils = __webpack_require__(5); | |
| 1373 | - | |
| 1374 | - /** | |
| 1375 | - * Create a new object with "null"-prototype to avoid truthy results on prototype properties. | |
| 1376 | - * The resulting object can be used with "object[property]" to check if a property exists | |
| 1377 | - * @param {...object} sources a varargs parameter of source objects that will be merged | |
| 1378 | - * @returns {object} | |
| 1379 | - */ | |
| 1380 | - | |
| 1381 | - function createNewLookupObject() { | |
| 1382 | - for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) { | |
| 1383 | - sources[_key] = arguments[_key]; | |
| 1384 | - } | |
| 1385 | - | |
| 1386 | - return _utils.extend.apply(undefined, [_Object$create(null)].concat(sources)); | |
| 1387 | - } | |
| 1388 | - | |
| 1389 | -/***/ }), | |
| 1390 | -/* 37 */ | |
| 2129 | +/* 76 */ | |
| 1391 | 2130 | /***/ (function(module, exports) { |
| 1392 | 2131 | |
| 1393 | 2132 | // Build out our basic SafeString type |
| 1394 | 2133 | 'use strict'; |
| @@ -1405,16 +2144,16 @@ | ||
| 1405 | 2144 | exports['default'] = SafeString; |
| 1406 | 2145 | module.exports = exports['default']; |
| 1407 | 2146 | |
| 1408 | 2147 | /***/ }), |
| 1409 | -/* 38 */ | |
| 2148 | +/* 77 */ | |
| 1410 | 2149 | /***/ (function(module, exports, __webpack_require__) { |
| 1411 | 2150 | |
| 1412 | 2151 | 'use strict'; |
| 1413 | 2152 | |
| 1414 | - var _Object$seal = __webpack_require__(39)['default']; | |
| 2153 | + var _Object$seal = __webpack_require__(78)['default']; | |
| 1415 | 2154 | |
| 1416 | - var _Object$keys = __webpack_require__(13)['default']; | |
| 2155 | + var _Object$keys = __webpack_require__(60)['default']; | |
| 1417 | 2156 | |
| 1418 | 2157 | var _interopRequireWildcard = __webpack_require__(3)['default']; |
| 1419 | 2158 | |
| 1420 | 2159 | var _interopRequireDefault = __webpack_require__(1)['default']; |
| @@ -1438,11 +2177,11 @@ | ||
| 1438 | 2177 | var _base = __webpack_require__(4); |
| 1439 | 2178 | |
| 1440 | 2179 | var _helpers = __webpack_require__(10); |
| 1441 | 2180 | |
| 1442 | - var _internalWrapHelper = __webpack_require__(43); | |
| 2181 | + var _internalWrapHelper = __webpack_require__(81); | |
| 1443 | 2182 | |
| 1444 | - var _internalProtoAccess = __webpack_require__(33); | |
| 2183 | + var _internalProtoAccess = __webpack_require__(73); | |
| 1445 | 2184 | |
| 1446 | 2185 | function checkRevision(compilerInfo) { |
| 1447 | 2186 | var compilerRevision = compilerInfo && compilerInfo[0] || 1, |
| 1448 | 2187 | currentRevision = _base.COMPILER_REVISION; |
| @@ -1487,18 +2226,16 @@ | ||
| 1487 | 2226 | } |
| 1488 | 2227 | } |
| 1489 | 2228 | partial = env.VM.resolvePartial.call(this, partial, context, options); |
| 1490 | 2229 | |
| 1491 | - var extendedOptions = Utils.extend({}, options, { | |
| 1492 | - hooks: this.hooks, | |
| 1493 | - protoAccessControl: this.protoAccessControl | |
| 1494 | - }); | |
| 2230 | + options.hooks = this.hooks; | |
| 2231 | + options.protoAccessControl = this.protoAccessControl; | |
| 1495 | 2232 | |
| 1496 | - var result = env.VM.invokePartial.call(this, partial, context, extendedOptions); | |
| 2233 | + var result = env.VM.invokePartial.call(this, partial, context, options); | |
| 1497 | 2234 | |
| 1498 | 2235 | if (result == null && env.compile) { |
| 1499 | 2236 | options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env); |
| 1500 | - result = options.partials[options.name](context, extendedOptions); | |
| 2237 | + result = options.partials[options.name](context, options); | |
| 1501 | 2238 | } |
| 1502 | 2239 | if (result != null) { |
| 1503 | 2240 | if (options.indent) { |
| 1504 | 2241 | var lines = result.split('\n'); |
| @@ -1545,9 +2282,9 @@ | ||
| 1545 | 2282 | var len = depths.length; |
| 1546 | 2283 | for (var i = 0; i < len; i++) { |
| 1547 | 2284 | var result = depths[i] && container.lookupProperty(depths[i], name); |
| 1548 | 2285 | if (result != null) { |
| 1549 | - return depths[i][name]; | |
| 2286 | + return result; | |
| 1550 | 2287 | } |
| 1551 | 2288 | } |
| 1552 | 2289 | }, |
| 1553 | 2290 | lambda: function lambda(current, context) { |
| @@ -1627,10 +2364,11 @@ | ||
| 1627 | 2364 | ret.isTop = true; |
| 1628 | 2365 | |
| 1629 | 2366 | ret._setup = function (options) { |
| 1630 | 2367 | if (!options.partial) { |
| 1631 | - var mergedHelpers = Utils.extend({}, env.helpers, options.helpers); | |
| 1632 | - wrapHelpersToPassLookupProperty(mergedHelpers, container); | |
| 2368 | + var mergedHelpers = {}; | |
| 2369 | + addHelpers(mergedHelpers, env.helpers, container); | |
| 2370 | + addHelpers(mergedHelpers, options.helpers, container); | |
| 1633 | 2371 | container.helpers = mergedHelpers; |
| 1634 | 2372 | |
| 1635 | 2373 | if (templateSpec.usePartial) { |
| 1636 | 2374 | // Use mergeIfNeeded here to prevent compiling global partials multiple times |
| @@ -1694,16 +2432,16 @@ | ||
| 1694 | 2432 | |
| 1695 | 2433 | function resolvePartial(partial, context, options) { |
| 1696 | 2434 | if (!partial) { |
| 1697 | 2435 | if (options.name === '@partial-block') { |
| 1698 | - partial = options.data['partial-block']; | |
| 2436 | + partial = lookupOwnProperty(options.data, 'partial-block'); | |
| 1699 | 2437 | } else { |
| 1700 | - partial = options.partials[options.name]; | |
| 2438 | + partial = lookupOwnProperty(options.partials, options.name); | |
| 1701 | 2439 | } |
| 1702 | 2440 | } else if (!partial.call && !options.name) { |
| 1703 | 2441 | // This is a dynamic partial that returned a string |
| 1704 | 2442 | options.name = partial; |
| 1705 | - partial = options.partials[partial]; | |
| 2443 | + partial = lookupOwnProperty(options.partials, partial); | |
| 1706 | 2444 | } |
| 1707 | 2445 | return partial; |
| 1708 | 2446 | } |
| 1709 | 2447 | |
| @@ -1708,9 +2446,9 @@ | ||
| 1708 | 2446 | } |
| 1709 | 2447 | |
| 1710 | 2448 | function invokePartial(partial, context, options) { |
| 1711 | 2449 | // Use the current closure context to save the partial-block if this partial |
| 1712 | - var currentPartialBlock = options.data && options.data['partial-block']; | |
| 2450 | + var currentPartialBlock = lookupOwnProperty(options.data, 'partial-block'); | |
| 1713 | 2451 | options.partial = true; |
| 1714 | 2452 | if (options.ids) { |
| 1715 | 2453 | options.data.contextPath = options.ids[0] || options.data.contextPath; |
| 1716 | 2454 | } |
| @@ -1750,8 +2488,14 @@ | ||
| 1750 | 2488 | function noop() { |
| 1751 | 2489 | return ''; |
| 1752 | 2490 | } |
| 1753 | 2491 | |
| 2492 | + function lookupOwnProperty(obj, name) { | |
| 2493 | + if (obj && Object.prototype.hasOwnProperty.call(obj, name)) { | |
| 2494 | + return obj[name]; | |
| 2495 | + } | |
| 2496 | + } | |
| 2497 | + | |
| 1754 | 2498 | function initData(context, data) { |
| 1755 | 2499 | if (!data || !('root' in data)) { |
| 1756 | 2500 | data = data ? _base.createFrame(data) : {}; |
| 1757 | 2501 | data.root = context; |
| @@ -1767,11 +2511,12 @@ | ||
| 1767 | 2511 | } |
| 1768 | 2512 | return prog; |
| 1769 | 2513 | } |
| 1770 | 2514 | |
| 1771 | - function wrapHelpersToPassLookupProperty(mergedHelpers, container) { | |
| 1772 | - _Object$keys(mergedHelpers).forEach(function (helperName) { | |
| 1773 | - var helper = mergedHelpers[helperName]; | |
| 2515 | + function addHelpers(mergedHelpers, helpers, container) { | |
| 2516 | + if (!helpers) return; | |
| 2517 | + _Object$keys(helpers).forEach(function (helperName) { | |
| 2518 | + var helper = helpers[helperName]; | |
| 1774 | 2519 | mergedHelpers[helperName] = passLookupPropertyOption(helper, container); |
| 1775 | 2520 | }); |
| 1776 | 2521 | } |
| 1777 | 2522 | |
| @@ -1777,33 +2522,34 @@ | ||
| 1777 | 2522 | |
| 1778 | 2523 | function passLookupPropertyOption(helper, container) { |
| 1779 | 2524 | var lookupProperty = container.lookupProperty; |
| 1780 | 2525 | return _internalWrapHelper.wrapHelper(helper, function (options) { |
| 1781 | - return Utils.extend({ lookupProperty: lookupProperty }, options); | |
| 2526 | + options.lookupProperty = lookupProperty; | |
| 2527 | + return options; | |
| 1782 | 2528 | }); |
| 1783 | 2529 | } |
| 1784 | 2530 | |
| 1785 | 2531 | /***/ }), |
| 1786 | -/* 39 */ | |
| 2532 | +/* 78 */ | |
| 1787 | 2533 | /***/ (function(module, exports, __webpack_require__) { |
| 1788 | 2534 | |
| 1789 | - module.exports = { "default": __webpack_require__(40), __esModule: true }; | |
| 2535 | + module.exports = { "default": __webpack_require__(79), __esModule: true }; | |
| 1790 | 2536 | |
| 1791 | 2537 | /***/ }), |
| 1792 | -/* 40 */ | |
| 2538 | +/* 79 */ | |
| 1793 | 2539 | /***/ (function(module, exports, __webpack_require__) { |
| 1794 | 2540 | |
| 1795 | - __webpack_require__(41); | |
| 2541 | + __webpack_require__(80); | |
| 1796 | 2542 | module.exports = __webpack_require__(21).Object.seal; |
| 1797 | 2543 | |
| 1798 | 2544 | /***/ }), |
| 1799 | -/* 41 */ | |
| 2545 | +/* 80 */ | |
| 1800 | 2546 | /***/ (function(module, exports, __webpack_require__) { |
| 1801 | 2547 | |
| 1802 | 2548 | // 19.1.2.17 Object.seal(O) |
| 1803 | - var isObject = __webpack_require__(42); | |
| 2549 | + var isObject = __webpack_require__(40); | |
| 1804 | 2550 | |
| 1805 | - __webpack_require__(18)('seal', function($seal){ | |
| 2551 | + __webpack_require__(64)('seal', function($seal){ | |
| 1806 | 2552 | return function seal(it){ |
| 1807 | 2553 | return $seal && isObject(it) ? $seal(it) : it; |
| 1808 | 2554 | }; |
| 1809 | 2555 | }); |
| @@ -1808,19 +2554,11 @@ | ||
| 1808 | 2554 | }; |
| 1809 | 2555 | }); |
| 1810 | 2556 | |
| 1811 | 2557 | /***/ }), |
| 1812 | -/* 42 */ | |
| 2558 | +/* 81 */ | |
| 1813 | 2559 | /***/ (function(module, exports) { |
| 1814 | 2560 | |
| 1815 | - module.exports = function(it){ | |
| 1816 | - return typeof it === 'object' ? it !== null : typeof it === 'function'; | |
| 1817 | - }; | |
| 1818 | - | |
| 1819 | -/***/ }), | |
| 1820 | -/* 43 */ | |
| 1821 | -/***/ (function(module, exports) { | |
| 1822 | - | |
| 1823 | 2561 | 'use strict'; |
| 1824 | 2562 | |
| 1825 | 2563 | exports.__esModule = true; |
| 1826 | 2564 | exports.wrapHelper = wrapHelper; |
| @@ -1839,23 +2577,34 @@ | ||
| 1839 | 2577 | return wrapper; |
| 1840 | 2578 | } |
| 1841 | 2579 | |
| 1842 | 2580 | /***/ }), |
| 1843 | -/* 44 */ | |
| 2581 | +/* 82 */ | |
| 1844 | 2582 | /***/ (function(module, exports) { |
| 1845 | 2583 | |
| 1846 | - /* WEBPACK VAR INJECTION */(function(global) {'use strict'; | |
| 2584 | + /* global globalThis */ | |
| 2585 | + 'use strict'; | |
| 1847 | 2586 | |
| 1848 | 2587 | exports.__esModule = true; |
| 1849 | 2588 | |
| 1850 | 2589 | exports['default'] = function (Handlebars) { |
| 1851 | 2590 | /* istanbul ignore next */ |
| 1852 | - var root = typeof global !== 'undefined' ? global : window, | |
| 1853 | - $Handlebars = root.Handlebars; | |
| 2591 | + // https://mathiasbynens.be/notes/globalthis | |
| 2592 | + (function () { | |
| 2593 | + if (typeof globalThis === 'object') return; | |
| 2594 | + Object.prototype.__defineGetter__('__magic__', function () { | |
| 2595 | + return this; | |
| 2596 | + }); | |
| 2597 | + __magic__.globalThis = __magic__; // eslint-disable-line no-undef | |
| 2598 | + delete Object.prototype.__magic__; | |
| 2599 | + })(); | |
| 2600 | + | |
| 2601 | + var $Handlebars = globalThis.Handlebars; | |
| 2602 | + | |
| 1854 | 2603 | /* istanbul ignore next */ |
| 1855 | 2604 | Handlebars.noConflict = function () { |
| 1856 | - if (root.Handlebars === Handlebars) { | |
| 1857 | - root.Handlebars = $Handlebars; | |
| 2605 | + if (globalThis.Handlebars === Handlebars) { | |
| 2606 | + globalThis.Handlebars = $Handlebars; | |
| 1858 | 2607 | } |
| 1859 | 2608 | return Handlebars; |
| 1860 | 2609 | }; |
| 1861 | 2610 | }; |
| @@ -1860,12 +2609,11 @@ | ||
| 1860 | 2609 | }; |
| 1861 | 2610 | }; |
| 1862 | 2611 | |
| 1863 | 2612 | module.exports = exports['default']; |
| 1864 | - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) | |
| 1865 | 2613 | |
| 1866 | 2614 | /***/ }), |
| 1867 | -/* 45 */ | |
| 2615 | +/* 83 */ | |
| 1868 | 2616 | /***/ (function(module, exports) { |
| 1869 | 2617 | |
| 1870 | 2618 | 'use strict'; |
| 1871 | 2619 | |
| @@ -1898,13 +2646,15 @@ | ||
| 1898 | 2646 | exports['default'] = AST; |
| 1899 | 2647 | module.exports = exports['default']; |
| 1900 | 2648 | |
| 1901 | 2649 | /***/ }), |
| 1902 | -/* 46 */ | |
| 2650 | +/* 84 */ | |
| 1903 | 2651 | /***/ (function(module, exports, __webpack_require__) { |
| 1904 | 2652 | |
| 1905 | 2653 | 'use strict'; |
| 1906 | 2654 | |
| 2655 | + var _Object$keys = __webpack_require__(60)['default']; | |
| 2656 | + | |
| 1907 | 2657 | var _interopRequireDefault = __webpack_require__(1)['default']; |
| 1908 | 2658 | |
| 1909 | 2659 | var _interopRequireWildcard = __webpack_require__(3)['default']; |
| 1910 | 2660 | |
| @@ -1911,20 +2661,24 @@ | ||
| 1911 | 2661 | exports.__esModule = true; |
| 1912 | 2662 | exports.parseWithoutProcessing = parseWithoutProcessing; |
| 1913 | 2663 | exports.parse = parse; |
| 1914 | 2664 | |
| 1915 | - var _parser = __webpack_require__(47); | |
| 2665 | + var _parser = __webpack_require__(85); | |
| 1916 | 2666 | |
| 1917 | 2667 | var _parser2 = _interopRequireDefault(_parser); |
| 1918 | 2668 | |
| 1919 | - var _whitespaceControl = __webpack_require__(48); | |
| 2669 | + var _whitespaceControl = __webpack_require__(86); | |
| 1920 | 2670 | |
| 1921 | 2671 | var _whitespaceControl2 = _interopRequireDefault(_whitespaceControl); |
| 1922 | 2672 | |
| 1923 | - var _helpers = __webpack_require__(50); | |
| 2673 | + var _helpers = __webpack_require__(88); | |
| 1924 | 2674 | |
| 1925 | 2675 | var Helpers = _interopRequireWildcard(_helpers); |
| 1926 | 2676 | |
| 2677 | + var _exception = __webpack_require__(6); | |
| 2678 | + | |
| 2679 | + var _exception2 = _interopRequireDefault(_exception); | |
| 2680 | + | |
| 1927 | 2681 | var _utils = __webpack_require__(5); |
| 1928 | 2682 | |
| 1929 | 2683 | exports.parser = _parser2['default']; |
| 1930 | 2684 | |
| @@ -1933,8 +2687,11 @@ | ||
| 1933 | 2687 | |
| 1934 | 2688 | function parseWithoutProcessing(input, options) { |
| 1935 | 2689 | // Just return if an already-compiled AST was passed in. |
| 1936 | 2690 | if (input.type === 'Program') { |
| 2691 | + // When a pre-parsed AST is passed in, validate all node values to prevent | |
| 2692 | + // code injection via type-confused literals. | |
| 2693 | + validateInputAst(input); | |
| 1937 | 2694 | return input; |
| 1938 | 2695 | } |
| 1939 | 2696 | |
| 1940 | 2697 | _parser2['default'].yy = yy; |
| @@ -1955,10 +2712,62 @@ | ||
| 1955 | 2712 | |
| 1956 | 2713 | return strip.accept(ast); |
| 1957 | 2714 | } |
| 1958 | 2715 | |
| 2716 | + function validateInputAst(ast) { | |
| 2717 | + validateAstNode(ast); | |
| 2718 | + } | |
| 2719 | + | |
| 2720 | + function validateAstNode(node) { | |
| 2721 | + if (node == null) { | |
| 2722 | + return; | |
| 2723 | + } | |
| 2724 | + | |
| 2725 | + if (Array.isArray(node)) { | |
| 2726 | + node.forEach(validateAstNode); | |
| 2727 | + return; | |
| 2728 | + } | |
| 2729 | + | |
| 2730 | + if (typeof node !== 'object') { | |
| 2731 | + return; | |
| 2732 | + } | |
| 2733 | + | |
| 2734 | + if (node.type === 'PathExpression') { | |
| 2735 | + if (!isValidDepth(node.depth)) { | |
| 2736 | + throw new _exception2['default']('Invalid AST: PathExpression.depth must be an integer'); | |
| 2737 | + } | |
| 2738 | + if (!Array.isArray(node.parts)) { | |
| 2739 | + throw new _exception2['default']('Invalid AST: PathExpression.parts must be an array'); | |
| 2740 | + } | |
| 2741 | + for (var i = 0; i < node.parts.length; i++) { | |
| 2742 | + if (typeof node.parts[i] !== 'string') { | |
| 2743 | + throw new _exception2['default']('Invalid AST: PathExpression.parts must only contain strings'); | |
| 2744 | + } | |
| 2745 | + } | |
| 2746 | + } else if (node.type === 'NumberLiteral') { | |
| 2747 | + if (typeof node.value !== 'number' || !isFinite(node.value)) { | |
| 2748 | + throw new _exception2['default']('Invalid AST: NumberLiteral.value must be a number'); | |
| 2749 | + } | |
| 2750 | + } else if (node.type === 'BooleanLiteral') { | |
| 2751 | + if (typeof node.value !== 'boolean') { | |
| 2752 | + throw new _exception2['default']('Invalid AST: BooleanLiteral.value must be a boolean'); | |
| 2753 | + } | |
| 2754 | + } | |
| 2755 | + | |
| 2756 | + _Object$keys(node).forEach(function (propertyName) { | |
| 2757 | + if (propertyName === 'loc') { | |
| 2758 | + return; | |
| 2759 | + } | |
| 2760 | + validateAstNode(node[propertyName]); | |
| 2761 | + }); | |
| 2762 | + } | |
| 2763 | + | |
| 2764 | + function isValidDepth(depth) { | |
| 2765 | + return typeof depth === 'number' && isFinite(depth) && Math.floor(depth) === depth && depth >= 0; | |
| 2766 | + } | |
| 2767 | + | |
| 1959 | 2768 | /***/ }), |
| 1960 | -/* 47 */ | |
| 2769 | +/* 85 */ | |
| 1961 | 2770 | /***/ (function(module, exports) { |
| 1962 | 2771 | |
| 1963 | 2772 | // File ignored in coverage tests via setting in .istanbul.yml |
| 1964 | 2773 | /* Jison generated parser */ |
| @@ -2697,9 +3506,9 @@ | ||
| 2697 | 3506 | })();exports["default"] = handlebars; |
| 2698 | 3507 | module.exports = exports["default"]; |
| 2699 | 3508 | |
| 2700 | 3509 | /***/ }), |
| 2701 | -/* 48 */ | |
| 3510 | +/* 86 */ | |
| 2702 | 3511 | /***/ (function(module, exports, __webpack_require__) { |
| 2703 | 3512 | |
| 2704 | 3513 | 'use strict'; |
| 2705 | 3514 | |
| @@ -2706,9 +3515,9 @@ | ||
| 2706 | 3515 | var _interopRequireDefault = __webpack_require__(1)['default']; |
| 2707 | 3516 | |
| 2708 | 3517 | exports.__esModule = true; |
| 2709 | 3518 | |
| 2710 | - var _visitor = __webpack_require__(49); | |
| 3519 | + var _visitor = __webpack_require__(87); | |
| 2711 | 3520 | |
| 2712 | 3521 | var _visitor2 = _interopRequireDefault(_visitor); |
| 2713 | 3522 | |
| 2714 | 3523 | function WhitespaceControl() { |
| @@ -2921,9 +3730,9 @@ | ||
| 2921 | 3730 | exports['default'] = WhitespaceControl; |
| 2922 | 3731 | module.exports = exports['default']; |
| 2923 | 3732 | |
| 2924 | 3733 | /***/ }), |
| 2925 | -/* 49 */ | |
| 3734 | +/* 87 */ | |
| 2926 | 3735 | /***/ (function(module, exports, __webpack_require__) { |
| 2927 | 3736 | |
| 2928 | 3737 | 'use strict'; |
| 2929 | 3738 | |
| @@ -3064,9 +3873,9 @@ | ||
| 3064 | 3873 | exports['default'] = Visitor; |
| 3065 | 3874 | module.exports = exports['default']; |
| 3066 | 3875 | |
| 3067 | 3876 | /***/ }), |
| 3068 | -/* 50 */ | |
| 3877 | +/* 88 */ | |
| 3069 | 3878 | /***/ (function(module, exports, __webpack_require__) { |
| 3070 | 3879 | |
| 3071 | 3880 | 'use strict'; |
| 3072 | 3881 | |
| @@ -3295,9 +4104,9 @@ | ||
| 3295 | 4104 | }; |
| 3296 | 4105 | } |
| 3297 | 4106 | |
| 3298 | 4107 | /***/ }), |
| 3299 | -/* 51 */ | |
| 4108 | +/* 89 */ | |
| 3300 | 4109 | /***/ (function(module, exports, __webpack_require__) { |
| 3301 | 4110 | |
| 3302 | 4111 | /* eslint-disable new-cap */ |
| 3303 | 4112 | |
| @@ -3302,9 +4111,9 @@ | ||
| 3302 | 4111 | /* eslint-disable new-cap */ |
| 3303 | 4112 | |
| 3304 | 4113 | 'use strict'; |
| 3305 | 4114 | |
| 3306 | - var _Object$create = __webpack_require__(34)['default']; | |
| 4115 | + var _Object$create = __webpack_require__(74)['default']; | |
| 3307 | 4116 | |
| 3308 | 4117 | var _interopRequireDefault = __webpack_require__(1)['default']; |
| 3309 | 4118 | |
| 3310 | 4119 | exports.__esModule = true; |
| @@ -3317,9 +4126,9 @@ | ||
| 3317 | 4126 | var _exception2 = _interopRequireDefault(_exception); |
| 3318 | 4127 | |
| 3319 | 4128 | var _utils = __webpack_require__(5); |
| 3320 | 4129 | |
| 3321 | - var _ast = __webpack_require__(45); | |
| 4130 | + var _ast = __webpack_require__(83); | |
| 3322 | 4131 | |
| 3323 | 4132 | var _ast2 = _interopRequireDefault(_ast); |
| 3324 | 4133 | |
| 3325 | 4134 | var slice = [].slice; |
| @@ -3866,14 +4675,14 @@ | ||
| 3866 | 4675 | } |
| 3867 | 4676 | } |
| 3868 | 4677 | |
| 3869 | 4678 | /***/ }), |
| 3870 | -/* 52 */ | |
| 4679 | +/* 90 */ | |
| 3871 | 4680 | /***/ (function(module, exports, __webpack_require__) { |
| 3872 | 4681 | |
| 3873 | 4682 | 'use strict'; |
| 3874 | 4683 | |
| 3875 | - var _Object$keys = __webpack_require__(13)['default']; | |
| 4684 | + var _Object$keys = __webpack_require__(60)['default']; | |
| 3876 | 4685 | |
| 3877 | 4686 | var _interopRequireDefault = __webpack_require__(1)['default']; |
| 3878 | 4687 | |
| 3879 | 4688 | exports.__esModule = true; |
| @@ -3885,9 +4694,9 @@ | ||
| 3885 | 4694 | var _exception2 = _interopRequireDefault(_exception); |
| 3886 | 4695 | |
| 3887 | 4696 | var _utils = __webpack_require__(5); |
| 3888 | 4697 | |
| 3889 | - var _codeGen = __webpack_require__(53); | |
| 4698 | + var _codeGen = __webpack_require__(91); | |
| 3890 | 4699 | |
| 3891 | 4700 | var _codeGen2 = _interopRequireDefault(_codeGen); |
| 3892 | 4701 | |
| 3893 | 4702 | function Literal(value) { |
| @@ -4030,14 +4839,12 @@ | ||
| 4030 | 4839 | var programs = _context.programs; |
| 4031 | 4840 | var decorators = _context.decorators; |
| 4032 | 4841 | |
| 4033 | 4842 | for (i = 0, l = programs.length; i < l; i++) { |
| 4034 | - if (programs[i]) { | |
| 4035 | - ret[i] = programs[i]; | |
| 4036 | - if (decorators[i]) { | |
| 4037 | - ret[i + '_d'] = decorators[i]; | |
| 4038 | - ret.useDecorators = true; | |
| 4039 | - } | |
| 4843 | + ret[i] = programs[i]; | |
| 4844 | + if (decorators[i]) { | |
| 4845 | + ret[i + '_d'] = decorators[i]; | |
| 4846 | + ret.useDecorators = true; | |
| 4040 | 4847 | } |
| 4041 | 4848 | } |
| 4042 | 4849 | |
| 4043 | 4850 | if (this.environment.usePartial) { |
| @@ -4361,22 +5168,23 @@ | ||
| 4361 | 5168 | |
| 4362 | 5169 | this.resolvePath('data', parts, 0, true, strict); |
| 4363 | 5170 | }, |
| 4364 | 5171 | |
| 4365 | - resolvePath: function resolvePath(type, parts, i, falsy, strict) { | |
| 5172 | + resolvePath: function resolvePath(type, parts, startPartIndex, falsy, strict) { | |
| 4366 | 5173 | // istanbul ignore next |
| 4367 | 5174 | |
| 4368 | 5175 | var _this2 = this; |
| 4369 | 5176 | |
| 4370 | 5177 | if (this.options.strict || this.options.assumeObjects) { |
| 4371 | - this.push(strictLookup(this.options.strict && strict, this, parts, type)); | |
| 5178 | + this.push(strictLookup(this.options.strict && strict, this, parts, startPartIndex, type)); | |
| 4372 | 5179 | return; |
| 4373 | 5180 | } |
| 4374 | 5181 | |
| 4375 | 5182 | var len = parts.length; |
| 4376 | - for (; i < len; i++) { | |
| 5183 | + | |
| 5184 | + var _loop = function (i) { | |
| 4377 | 5185 | /* eslint-disable no-loop-func */ |
| 4378 | - this.replaceStack(function (current) { | |
| 5186 | + _this2.replaceStack(function (current) { | |
| 4379 | 5187 | var lookup = _this2.nameLookup(current, parts[i], type); |
| 4380 | 5188 | // We want to ensure that zero and false are handled properly if the context (falsy flag) |
| 4381 | 5189 | // needs to have the special handling for these values. |
| 4382 | 5190 | if (!falsy) { |
| @@ -4386,8 +5194,12 @@ | ||
| 4386 | 5194 | return [' && ', lookup]; |
| 4387 | 5195 | } |
| 4388 | 5196 | }); |
| 4389 | 5197 | /* eslint-enable no-loop-func */ |
| 5198 | + }; | |
| 5199 | + | |
| 5200 | + for (var i = startPartIndex; i < len; i++) { | |
| 5201 | + _loop(i); | |
| 4390 | 5202 | } |
| 4391 | 5203 | }, |
| 4392 | 5204 | |
| 4393 | 5205 | // [resolvePossibleLambda] |
| @@ -4503,9 +5315,14 @@ | ||
| 4503 | 5315 | registerDecorator: function registerDecorator(paramSize, name) { |
| 4504 | 5316 | var foundDecorator = this.nameLookup('decorators', name, 'decorator'), |
| 4505 | 5317 | options = this.setupHelperArgs(name, paramSize); |
| 4506 | 5318 | |
| 4507 | - this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']); | |
| 5319 | + // Store the resolved decorator in a variable and verify it is a function before | |
| 5320 | + // calling it. Without this, unregistered decorators can cause an unhandled TypeError | |
| 5321 | + // (calling undefined), which crashes the process — enabling Denial of Service. | |
| 5322 | + this.decorators.push(['var decorator = ', foundDecorator, ';']); | |
| 5323 | + this.decorators.push(['if (typeof decorator !== "function") { throw new Error(', this.quotedString('Missing decorator: "' + name + '"'), '); }']); | |
| 5324 | + this.decorators.push(['fn = ', this.decorators.functionCall('decorator', '', ['fn', 'props', 'container', options]), ' || fn;']); | |
| 4508 | 5325 | }, |
| 4509 | 5326 | |
| 4510 | 5327 | // [invokeHelper] |
| 4511 | 5328 | // |
| @@ -4686,10 +5503,10 @@ | ||
| 4686 | 5503 | |
| 4687 | 5504 | var existing = this.matchExistingProgram(child); |
| 4688 | 5505 | |
| 4689 | 5506 | if (existing == null) { |
| 4690 | - this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children | |
| 4691 | - var index = this.context.programs.length; | |
| 5507 | + // Placeholder to prevent name conflicts for nested children | |
| 5508 | + var index = this.context.programs.push('') - 1; | |
| 4692 | 5509 | child.index = index; |
| 4693 | 5510 | child.name = 'program' + index; |
| 4694 | 5511 | this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile); |
| 4695 | 5512 | this.context.decorators[index] = compiler.decorators; |
| @@ -5007,22 +5824,21 @@ | ||
| 5007 | 5824 | JavaScriptCompiler.isValidJavaScriptVariableName = function (name) { |
| 5008 | 5825 | return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name); |
| 5009 | 5826 | }; |
| 5010 | 5827 | |
| 5011 | - function strictLookup(requireTerminal, compiler, parts, type) { | |
| 5828 | + function strictLookup(requireTerminal, compiler, parts, startPartIndex, type) { | |
| 5012 | 5829 | var stack = compiler.popStack(), |
| 5013 | - i = 0, | |
| 5014 | 5830 | len = parts.length; |
| 5015 | 5831 | if (requireTerminal) { |
| 5016 | 5832 | len--; |
| 5017 | 5833 | } |
| 5018 | 5834 | |
| 5019 | - for (; i < len; i++) { | |
| 5835 | + for (var i = startPartIndex; i < len; i++) { | |
| 5020 | 5836 | stack = compiler.nameLookup(stack, parts[i], type); |
| 5021 | 5837 | } |
| 5022 | 5838 | |
| 5023 | 5839 | if (requireTerminal) { |
| 5024 | - return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ', ', JSON.stringify(compiler.source.currentLocation), ' )']; | |
| 5840 | + return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[len]), ', ', JSON.stringify(compiler.source.currentLocation), ' )']; | |
| 5025 | 5841 | } else { |
| 5026 | 5842 | return stack; |
| 5027 | 5843 | } |
| 5028 | 5844 | } |
| @@ -5030,15 +5846,15 @@ | ||
| 5030 | 5846 | exports['default'] = JavaScriptCompiler; |
| 5031 | 5847 | module.exports = exports['default']; |
| 5032 | 5848 | |
| 5033 | 5849 | /***/ }), |
| 5034 | -/* 53 */ | |
| 5850 | +/* 91 */ | |
| 5035 | 5851 | /***/ (function(module, exports, __webpack_require__) { |
| 5036 | 5852 | |
| 5037 | - /* global define */ | |
| 5853 | + /* global define, require */ | |
| 5038 | 5854 | 'use strict'; |
| 5039 | 5855 | |
| 5040 | - var _Object$keys = __webpack_require__(13)['default']; | |
| 5856 | + var _Object$keys = __webpack_require__(60)['default']; | |
| 5041 | 5857 | |
| 5042 | 5858 | exports.__esModule = true; |
| 5043 | 5859 | |
| 5044 | 5860 | var _utils = __webpack_require__(5); |
| @@ -5047,9 +5863,9 @@ | ||
| 5047 | 5863 | |
| 5048 | 5864 | try { |
| 5049 | 5865 | /* istanbul ignore next */ |
| 5050 | 5866 | if (false) { |
| 5051 | - // We don't support this in AMD environments. For these environments, we asusme that | |
| 5867 | + // We don't support this in AMD environments. For these environments, we assume that | |
| 5052 | 5868 | // they are running on the browser and thus have no need for the source-map library. |
| 5053 | 5869 | var SourceMap = require('source-map'); |
| 5054 | 5870 | SourceNode = SourceMap.SourceNode; |
| 5055 | 5871 | } |