(function() { var isIE11 = !!window.MSInputMethodContext && !!document.documentMode; if (isIE11) { // IE11 does not provide classList on SVGElements if (! ("classList" in SVGElement.prototype)) { Object.defineProperty(SVGElement.prototype, 'classList', Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'classList')); } // IE11 does not provide children on SVGElements if (! ("children" in SVGElement.prototype)) { Object.defineProperty(SVGElement.prototype, 'children', Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'children')); } if (!Array.from) { // JSONata provides an Array.from polyfill that doesn't handle iterables. // So in IE11 we expect Array.from to exist already, it just needs some // changes to support iterables. throw new Error("Missing Array.from base polyfill"); } Array._from = Array.from; Array.from = function() { var arrayLike = arguments[0] if (arrayLike.forEach) { var result = []; arrayLike.forEach(function(i) { result.push(i); }) return result; } return Array._from.apply(null,arguments); } } })();