!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e||self).jsreport=t()}(this,function(){function e(){return e=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},o=function(e){var t={exports:{}};return function(e,t){!function(){function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){a(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function o(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var i="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof r&&r.global===r?r:void 0,s=i.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),a=i.saveAs||("object"!=typeof window||window!==i?function(){}:"download"in HTMLAnchorElement.prototype&&!s?function(e,r,s){var a=i.URL||i.webkitURL,u=document.createElement("a");u.download=r=r||e.name||"download",u.rel="noopener","string"==typeof e?(u.href=e,u.origin===location.origin?o(u):n(u.href)?t(e,r,s):o(u,u.target="_blank")):(u.href=a.createObjectURL(e),setTimeout(function(){a.revokeObjectURL(u.href)},4e4),setTimeout(function(){o(u)},0))}:"msSaveOrOpenBlob"in navigator?function(e,r,i){if(r=r||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,i),r);else if(n(e))t(e,r,i);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout(function(){o(s)})}}:function(e,n,r,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var a="application/octet-stream"===e.type,u=/constructor/i.test(i.HTMLElement)||i.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||a&&u||s)&&"undefined"!=typeof FileReader){var c=new FileReader;c.onloadend=function(){var e=c.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},c.readAsDataURL(e)}else{var f=i.URL||i.webkitURL,d=f.createObjectURL(e);o?o.location=d:location.href=d,o=null,setTimeout(function(){f.revokeObjectURL(d)},4e4)}});i.saveAs=a.saveAs=a,e.exports=a}()}(t),t.exports}();function i(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}var s=/*#__PURE__*/function(){function e(e){this._response=e}var t,n=e.prototype;return n.toString=function(){try{return Promise.resolve(this.response.blob()).then(function(e){return e.text()})}catch(e){return Promise.reject(e)}},n.download=function(e){try{return Promise.resolve(this.response.blob()).then(function(t){o.saveAs(t,e)})}catch(e){return Promise.reject(e)}},n.toBlob=function(){try{return Promise.resolve(this.response.blob())}catch(e){return Promise.reject(e)}},n.toDataURI=function(){try{var e=new FileReader;return Promise.resolve(this.response.blob()).then(function(t){return new Promise(function(n){e.onload=function(t){n(e.result)},e.readAsDataURL(t)})})}catch(e){return Promise.reject(e)}},n.openInWindow=function(e){var t=void 0===e?{}:e,n=t.cleanInterval,r=void 0===n?5e3:n,o=t.windowName,i=t.windowFeatures,s=t.title;try{return Promise.resolve(this.response.blob()).then(function(e){var t=URL.createObjectURL(e,o,i),n=window.URL.createObjectURL(new Blob(["\n \n \n "+(s||"report")+'\n \n \n \n