// source --> https://orpheus-venlo.nl/wp-content/plugins/wp-media-folder/assets/js/pdf-embed/all-pdfemb-basic.min.js?ver=6.8.5 
var $jscomp = $jscomp || {};
$jscomp.scope = {}, $jscomp.ASSUME_ES5 = !1, $jscomp.ASSUME_NO_NATIVE_MAP = !1, $jscomp.ASSUME_NO_NATIVE_SET = !1, $jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function (t, e, n) {
    t != Array.prototype && t != Object.prototype && (t[e] = n.value)
}, $jscomp.getGlobal = function (t) {
    return "undefined" != typeof window && window === t ? t : "undefined" != typeof global && null != global ? global : t
}, $jscomp.global = $jscomp.getGlobal(this), $jscomp.SYMBOL_PREFIX = "jscomp_symbol_", $jscomp.initSymbol = function () {
    $jscomp.initSymbol = function () {
    }, $jscomp.global.Symbol || ($jscomp.global.Symbol = $jscomp.Symbol)
}, $jscomp.Symbol = function () {
    var t = 0;
    return function (e) {
        return $jscomp.SYMBOL_PREFIX + (e || "") + t++
    }
}(), $jscomp.initSymbolIterator = function () {
    $jscomp.initSymbol();
    var t = $jscomp.global.Symbol.iterator;
    t || (t = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator")), "function" != typeof Array.prototype[t] && $jscomp.defineProperty(Array.prototype, t, {
        configurable: !0,
        writable: !0,
        value: function () {
            return $jscomp.arrayIterator(this)
        }
    }), $jscomp.initSymbolIterator = function () {
    }
}, $jscomp.initSymbolAsyncIterator = function () {
    $jscomp.initSymbol();
    var t = $jscomp.global.Symbol.asyncIterator;
    t || (t = $jscomp.global.Symbol.asyncIterator = $jscomp.global.Symbol("asyncIterator")), $jscomp.initSymbolAsyncIterator = function () {
    }
}, $jscomp.arrayIterator = function (t) {
    var e = 0;
    return $jscomp.iteratorPrototype(function () {
        return e < t.length ? {
            done: !1,
            value: t[e++]
        } : {
            done: !0
        }
    })
}, $jscomp.iteratorPrototype = function (t) {
    return $jscomp.initSymbolIterator(), (t = {
        next: t
    })[$jscomp.global.Symbol.iterator] = function () {
        return this
    }, t
}, $jscomp.makeIterator = function (t) {
    $jscomp.initSymbolIterator();
    var e = t[Symbol.iterator];
    return e ? e.call(t) : $jscomp.arrayIterator(t)
}, $jscomp.polyfill = function (t, e, n, o) {
    if (e) {
        for (n = $jscomp.global, t = t.split("."), o = 0; o < t.length - 1; o++) {
            var i = t[o];
            i in n || (n[i] = {}), n = n[i]
        }
        (e = e(o = n[t = t[t.length - 1]])) != o && null != e && $jscomp.defineProperty(n, t, {
            configurable: !0,
            writable: !0,
            value: e
        })
    }
}, $jscomp.FORCE_POLYFILL_PROMISE = !1, $jscomp.polyfill("Promise", function (t) {
    function e() {
        this.batch_ = null
    }

    function n(t) {
        return t instanceof i ? t : new i(function (e, n) {
            e(t)
        })
    }

    if (t && !$jscomp.FORCE_POLYFILL_PROMISE) return t;
    e.prototype.asyncExecute = function (t) {
        return null == this.batch_ && (this.batch_ = [], this.asyncExecuteBatch_()), this.batch_.push(t), this
    }, e.prototype.asyncExecuteBatch_ = function () {
        var t = this;
        this.asyncExecuteFunction(function () {
            t.executeBatch_()
        })
    };
    var o = $jscomp.global.setTimeout;
    e.prototype.asyncExecuteFunction = function (t) {
        o(t, 0)
    }, e.prototype.executeBatch_ = function () {
        for (; this.batch_ && this.batch_.length;) {
            var t = this.batch_;
            this.batch_ = [];
            for (var e = 0; e < t.length; ++e) {
                var n = t[e];
                t[e] = null;
                try {
                    n()
                } catch (t) {
                    this.asyncThrow_(t)
                }
            }
        }
        this.batch_ = null
    }, e.prototype.asyncThrow_ = function (t) {
        this.asyncExecuteFunction(function () {
            throw t
        })
    };
    var i = function (t) {
        this.state_ = 0, this.result_ = void 0, this.onSettledCallbacks_ = [];
        var e = this.createResolveAndReject_();
        try {
            t(e.resolve, e.reject)
        } catch (t) {
            e.reject(t)
        }
    };
    i.prototype.createResolveAndReject_ = function () {
        function t(t) {
            return function (o) {
                n || (n = !0, t.call(e, o))
            }
        }

        var e = this,
            n = !1;
        return {
            resolve: t(this.resolveTo_),
            reject: t(this.reject_)
        }
    }, i.prototype.resolveTo_ = function (t) {
        if (t === this) this.reject_(new TypeError("A Promise cannot resolve to itself"));
        else if (t instanceof i) this.settleSameAsPromise_(t);
        else {
            t: switch (typeof t) {
                case "object":
                    var e = null != t;
                    break t;
                case "function":
                    e = !0;
                    break t;
                default:
                    e = !1
            }
            e ? this.resolveToNonPromiseObj_(t) : this.fulfill_(t)
        }
    }, i.prototype.resolveToNonPromiseObj_ = function (t) {
        var e = void 0;
        try {
            e = t.then
        } catch (t) {
            return void this.reject_(t)
        }
        "function" == typeof e ? this.settleSameAsThenable_(e, t) : this.fulfill_(t)
    }, i.prototype.reject_ = function (t) {
        this.settle_(2, t)
    }, i.prototype.fulfill_ = function (t) {
        this.settle_(1, t)
    }, i.prototype.settle_ = function (t, e) {
        if (0 != this.state_) throw Error("Cannot settle(" + t + ", " + e + "): Promise already settled in state" + this.state_);
        this.state_ = t, this.result_ = e, this.executeOnSettledCallbacks_()
    }, i.prototype.executeOnSettledCallbacks_ = function () {
        if (null != this.onSettledCallbacks_) {
            for (var t = 0; t < this.onSettledCallbacks_.length; ++t) a.asyncExecute(this.onSettledCallbacks_[t]);
            this.onSettledCallbacks_ = null
        }
    };
    var a = new e;
    return i.prototype.settleSameAsPromise_ = function (t) {
        var e = this.createResolveAndReject_();
        t.callWhenSettled_(e.resolve, e.reject)
    }, i.prototype.settleSameAsThenable_ = function (t, e) {
        var n = this.createResolveAndReject_();
        try {
            t.call(e, n.resolve, n.reject)
        } catch (t) {
            n.reject(t)
        }
    }, i.prototype.then = function (t, e) {
        function n(t, e) {
            return "function" == typeof t ? function (e) {
                try {
                    o(t(e))
                } catch (t) {
                    a(t)
                }
            } : e
        }

        var o, a, r = new i(function (t, e) {
            o = t, a = e
        });
        return this.callWhenSettled_(n(t, o), n(e, a)), r
    }, i.prototype.catch = function (t) {
        return this.then(void 0, t)
    }, i.prototype.callWhenSettled_ = function (t, e) {
        function n() {
            switch (o.state_) {
                case 1:
                    t(o.result_);
                    break;
                case 2:
                    e(o.result_);
                    break;
                default:
                    throw Error("Unexpected state: " + o.state_)
            }
        }

        var o = this;
        null == this.onSettledCallbacks_ ? a.asyncExecute(n) : this.onSettledCallbacks_.push(n)
    }, i.resolve = n, i.reject = function (t) {
        return new i(function (e, n) {
            n(t)
        })
    }, i.race = function (t) {
        return new i(function (e, o) {
            for (var i = $jscomp.makeIterator(t), a = i.next(); !a.done; a = i.next()) n(a.value).callWhenSettled_(e, o)
        })
    }, i.all = function (t) {
        var e = $jscomp.makeIterator(t),
            o = e.next();
        return o.done ? n([]) : new i(function (t, i) {
            function a(e) {
                return function (n) {
                    r[e] = n, 0 == --s && t(r)
                }
            }

            var r = [],
                s = 0;
            do {
                r.push(void 0), s++, n(o.value).callWhenSettled_(a(r.length - 1), i), o = e.next()
            } while (!o.done)
        })
    }, i
}, "es6", "es3"), $jscomp.findInternal = function (t, e, n) {
    t instanceof String && (t = String(t));
    for (var o = t.length, i = 0; i < o; i++) {
        var a = t[i];
        if (e.call(n, a, i, t)) return {
            i: i,
            v: a
        }
    }
    return {
        i: -1,
        v: void 0
    }
}, $jscomp.polyfill("Array.prototype.find", function (t) {
    return t || function (t, e) {
        return $jscomp.findInternal(this, t, e).v
    }
}, "es6", "es3"),
    function () {
        var t, e, n, o = function (t, e) {
            return function () {
                return t.apply(e, arguments)
            }
        };
        t = jQuery, e = {
            bgColor: "#fff",
            inlineStyles: !0,
            lockDocumentScroll: !0,
            mainWrapperClass: "fsp-wrapper",
            contentWrapperClass: "fsp-content",
            closePopupClass: "fsp-close",
            close: !0,
            animationSpeed: 200
        }, n = function () {
            function n(n, i) {
                this.element = n, this.closePopup = o(this.closePopup, this), this.init = o(this.init, this), this.options = t.extend({}, e, i), this._defaults = e, this._name = "fullScreenPopup", this.element = t(this.element), this.body = t("body"), this.element.on("click", this.init)
            }

            return n.prototype.init = function (t) {
                return t.preventDefault(), this.getTarget(), this.getTargetSizes(), this.createWrappers(), this.wrapTarget(), this.options.lockDocumentScroll && this.lockDocumentScroll(), this.render(), this.bindEvents()
            }, n.prototype.getTarget = function () {
                return this.target = this.options.popup ? this.options.popup() : t(this.element.attr("href") || this.element.data("popup")), this.targetParent = this.target.parent()
            }, n.prototype.getTargetSizes = function () {
                return this.targetSizes = {
                    width: this.target.width(),
                    height: this.target.height()
                }
            }, n.prototype.wrapTarget = function () {
                return this.target = this.detachFromDom(this.target), this.target.appendTo(this.contentWrapper)
            }, n.prototype.render = function () {
                return this.target.show(), this.attachToDom(this.mainWrapper, "body"), this.popupCentered(), this.mainWrapper.fadeIn(this.options.animationSpeed)
            }, n.prototype.detachFromDom = function (t) {
                return t.detach()
            }, n.prototype.attachToDom = function (t, e) {
                return t.appendTo(e)
            }, n.prototype.bindEvents = function () {
                this.close && this.close.on("click", this.closePopup);
                var e = this.closePopup;
                return t(document).on("keyup.pdfembfullscreen", function (t) {
                    27 == (t.keyCode ? t.keyCode : t.which) && e(t)
                }), this.mainWrapper.on("closePopup", this.closePopup)
            }, n.prototype.createWrappers = function () {
                return this.mainWrapper = t("<div/>", {
                    class: "" + this.options.mainWrapperClass,
                    style: this.options.inlineStyles ? "background: " + this.options.bgColor + "; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9999; overflow-y: auto; overflow-x: hidden; display: none" : void 0
                }), this.contentWrapper = t("<div/>", {
                    class: "" + this.options.contentWrapperClass,
                    style: "width: 100%; height: 100%;  position: relative; top: 0px; left: 0px;"
                }).appendTo(this.mainWrapper), this.options.close && (this.close = t("<a/>", {
                    href: "#",
                    html: "&times;",
                    class: "" + this.options.closePopupClass,
                    style: this.options.inlineStyles ? "position: absolute; right: 2em; top: 2em;" : void 0
                }).appendTo(this.mainWrapper)), this
            }, n.prototype.popupCentered = function () {
            }, n.prototype.closePopup = function (e) {
                e.preventDefault();
                var n = this;
                return t(document).unbind("keyup.pdfembfullscreen"), this.mainWrapper.fadeOut(this.options.animationSpeed, function () {
                    return n.options.lockDocumentScroll && n.unlockDocumentScroll(), n.target = n.detachFromDom(n.target), n.target.hide(), n.attachToDom(n.target, n.targetParent), n.deleteWrappers()
                })
            }, n.prototype.deleteWrappers = function () {
                return this.mainWrapper.remove()
            }, n.prototype.lockDocumentScroll = function () {
                return this.body.css({
                    overflow: "hidden"
                })
            }, n.prototype.unlockDocumentScroll = function () {
                return this.body.css({
                    overflow: "visible"
                })
            }, n
        }(), t.fn.fullScreenPopup = function (e) {
            return this.each(function () {
                if (!t.data(this, "plugin_fullScreenPopup")) return t.data(this, "plugin_fullScreenPopup", new n(this, e))
            })
        }
    }.call(this);
var pdfembGrabToPan = function () {
        function t(t) {
            this.element = t.element, this.document = t.element.ownerDocument, "function" == typeof t.ignoreTarget && (this.ignoreTarget = t.ignoreTarget), this.onActiveChanged = t.onActiveChanged, this.activate = this.activate.bind(this), this.deactivate = this.deactivate.bind(this), this.toggle = this.toggle.bind(this), this._onmousedown = this._onmousedown.bind(this), this._onmousemove = this._onmousemove.bind(this), this._ontouchstart = this._ontouchstart.bind(this), this._ontouchmove = this._ontouchmove.bind(this), this._ontouchend = this._ontouchend.bind(this), this._onmousewheel = this._onmousewheel.bind(this), this._endPan = this._endPan.bind(this), this._ondocumenttouchmove = this._ondocumenttouchmove.bind(this), this._onkeyboardpan = this._onkeyboardpan.bind(this), this.element.addEventListener("pdfembKeyboardPan", this._onkeyboardpan, !1), this.preventDocTouchScroll = !1, (this.overlay = document.createElement("div")).className = "grab-to-pan-grabbing"
        }

        var e;
        t.prototype = {
            CSS_CLASS_GRAB: "grab-to-pan-grab",
            activate: function () {
                !this.active && (this.active = !0, this.element.addEventListener("mousedown", this._onmousedown, !0), this.element.addEventListener("mousewheel", this._onmousewheel), this.element.addEventListener("wheel", this._onmousewheel), this.element.addEventListener("DOMMouseScroll", this._onmousewheel), this.element.addEventListener("touchstart", this._ontouchstart), document.addEventListener("touchmove", this._ondocumenttouchmove), this.element.classList.add(this.CSS_CLASS_GRAB), this.onActiveChanged) && this.onActiveChanged(!0)
            },
            deactivate: function () {
                this.active && (this.active = !1, this.element.removeEventListener("mousedown", this._onmousedown, !0), this._endPan(), document.removeEventListener("touchmove", this._ondocumenttouchmove, !1), this.element.classList.remove(this.CSS_CLASS_GRAB), this.onActiveChanged) && this.onActiveChanged(!1)
            },
            toggle: function () {
                this.active ? this.deactivate() : this.activate()
            },
            ignoreTarget: function (t) {
                return t[e]("a[href], a[href] *, input, textarea, button, button *, select, option, .pdfembTextLayer > div")
            },
            _onmousedown: function (t) {
                if (0 === t.button && !this.ignoreTarget(t.target)) {
                    this.scrollLeftStart = this.element.scrollLeft, this.scrollTopStart = this.element.scrollTop, this.clientXStart = t.clientX, this.clientYStart = t.clientY, this.document.addEventListener("mousemove", this._onmousemove, !0), this.document.addEventListener("mouseup", this._endPan, !0), this.element.addEventListener("scroll", this._endPan, !0), t.preventDefault(), t.stopPropagation(), this.document.documentElement.classList.add(this.CSS_CLASS_GRABBING);
                    var e = document.activeElement;
                    e && !e.contains(t.target) && e.blur()
                }
            },
            _onmousemove: function (t) {
                this.element.removeEventListener("scroll", this._endPan, !0);
                var e = "buttons" in t && n ? !(1 | t.buttons) : i || a ? 0 === t.which : void 0;
                e ? this._endPan() : (e = t.clientX - this.clientXStart, this.element.scrollTop = this.scrollTopStart - (t.clientY - this.clientYStart), this.element.scrollLeft = this.scrollLeftStart - e, this.overlay.parentNode || document.body.appendChild(this.overlay))
            },
            _ontouchstart: function (t) {
                this.scrollLeftStart = this.element.scrollLeft, this.scrollTopStart = this.element.scrollTop, this.clientXStart = t.touches[0].clientX, this.clientYStart = t.touches[0].clientY, this.distStart = this._calcTouchDistance(t), this.scaledForMagnification = !1, this.document.addEventListener("touchmove", this._ontouchmove), this.document.addEventListener("touchend", this._ontouchend), 1 != t.touches.length && (t.preventDefault(), t.stopPropagation()), this.document.documentElement.classList.add(this.CSS_CLASS_GRABBING);
                var e = document.activeElement;
                e && !e.contains(t.target) && e.blur(), this.touchtapmaybe = 1 == t.touches.length
            },
            _calcTouchDistance: function (t) {
                var e = NaN;
                return t.touches && 2 <= t.touches.length && (e = Math.sqrt(Math.pow(t.touches[0].screenX - t.touches[1].screenX, 2) + Math.pow(t.touches[0].screenY - t.touches[1].screenY, 2))), e
            },
            _calcTouchCenter: function (t) {
                var e = 0,
                    n = 0;
                return t.touches && 2 <= t.touches.length && (e = (t.touches[0].clientX + t.touches[1].clientX) / 2, n = (t.touches[0].clientY + t.touches[1].clientY) / 2), [e, n]
            },
            _ontouchmove: function (t) {
                var e = !0,
                    n = t.touches[0].clientX - this.clientXStart,
                    o = t.touches[0].clientY - this.clientYStart;
                1 == t.touches.length ? (this.element.scrollTop = this.scrollTopStart - o, this.element.scrollLeft = this.scrollLeftStart - n, this.element.scrollTop == this.scrollTopStart && 0 != o && (e = !1)) : this.touchtapmaybe = !1, this.overlay.parentNode || document.body.appendChild(this.overlay), 0 == n && 0 == o || (this.touchtapmaybe = !1), n = this._calcTouchDistance(t), e ? (t.preventDefault(), this.preventDocTouchScroll = !0) : this.preventDocTouchScroll = !1, isNaN(this.distStart) ? this.distStart = n : !isNaN(n) && 0 < this.distStart && 0 < n && (1.5 < (o = (50 + n) / (50 + this.distStart)) && (o = 1.5), .75 > o && (o = .75), 1 != o && (this.scaledForMagnification = !0, (e = document.createEvent("Events")).initEvent("pdfembMagnify", !0, !0), e.magnification = o, e.gtpelement = this.element, t = this._calcTouchCenter(t), e.centreLeft = t[0], e.centreTop = t[1], this.element.dispatchEvent(e)), this.distStart = n)
            },
            _ondocumenttouchmove: function (t) {
                if (this.preventDocTouchScroll) return t.preventDefault(), t.stopPropagation(), !1
            },
            _onmousewheel: function (t) {
                this.element.removeEventListener("scroll", this._endPan, !0);
                var e = .5;
                t.deltaMode && (1 == t.deltaMode && (e = 10), 2 == t.deltaMode && (e = 1e3));
                var n = t.deltaY ? -t.deltaY : t.wheelDelta ? t.wheelDelta : -t.detail;
                if (this.scrollLeftStart = this.element.scrollLeft, this.scrollTopStart = this.element.scrollTop, e *= n, this.element.scrollTop = this.scrollTopStart - e, this.overlay.parentNode || document.body.appendChild(this.overlay), this.element.scrollTop != this.scrollTopStart || 0 == e) return t.preventDefault(), !1
            },
            _ontouchend: function (t) {
                this._endPan(), this.scaledForMagnification && ((t = document.createEvent("Events")).initEvent("pdfembMagnify", !0, !0), t.magnification = -1, t.gtpelement = this.element, this.element.dispatchEvent(t)), this.touchtapmaybe && ((t = document.createEvent("Events")).initEvent("pdfembTouchTapped", !0, !0), this.element.dispatchEvent(t))
            },
            _endPan: function () {
                this.element.removeEventListener("scroll", this._endPan, !0), this.document.removeEventListener("mousemove", this._onmousemove, !0), this.document.removeEventListener("mouseup", this._endPan, !0), this.document.removeEventListener("touchmove", this._ontouchmove, !1), this.document.removeEventListener("touchend", this._ontouchend, !1), this.preventDocTouchScroll = !1, this.overlay.parentNode && this.overlay.parentNode.removeChild(this.overlay)
            },
            _onkeyboardpan: function (t) {
                if (37 == (t = t.detail.keyCode) || 39 == t) {
                    var e = this.element.offsetWidth / 7;
                    5 > e && (e = 5), this.element.scrollLeft -= 37 == t ? e : -e
                }
                38 != t && 40 != t || (5 > (e = this.element.offsetHeight / 7) && (e = 5), this.element.scrollTop -= 38 == t ? e : -e), this.overlay.parentNode || document.body.appendChild(this.overlay)
            }
        }, ["webkitM", "mozM", "msM", "oM", "m"].some(function (t) {
            return (t += "atches") in document.documentElement && (e = t), (t += "Selector") in document.documentElement && (e = t), e
        });
        var n = !document.documentMode || 9 < document.documentMode,
            o = window.chrome,
            i = o && (o.webstore || o.app),
            a = /Apple/.test(navigator.vendor) && /Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent);
        return t
    }(),
    PDFEMB_NS = {};
jQuery(document).ready(function (t) {
    var e,
        n = (e = document.createElement("canvas").getContext("2d"), (window.devicePixelRatio || 1) / (e.webkitBackingStorePixelRatio || e.mozBackingStorePixelRatio || e.msBackingStorePixelRatio || e.oBackingStorePixelRatio || e.backingStorePixelRatio || 1));
    PDFEMB_NS.PIXEL_RATIO = n, createHiDPICanvas = function (t, e, o) {
        o || (o = n);
        var i = document.createElement("canvas");
        return i.width = t * o, i.height = e * o, i.style.width = t + "px", i.style.height = e + "px", i.getContext("2d").setTransform(o, 0, 0, o, 0, 0), i
    };
    var o = 0,
        i = 0;
    !function () {
        var t = document.createElement("div");
        t.style.width = "100px", t.style.height = "100px", t.style.overflow = "scroll", t.style.position = "absolute", t.style.top = "-9999px", document.body.appendChild(t), o = t.offsetWidth - t.clientWidth, i = t.offsetHeight - t.clientHeight, document.body.removeChild(t)
    }(), PDFEMB_NS.vscrollbarwidth = o, PDFEMB_NS.hscrollbarheight = i;
    var a = function (t, e, n) {
        this.pdfDoc = t, this.divContainer = e, this.showIsSecure = n, this.initialResize = !1, this.firstPageHeight = this.firstPageWidth = 0, this.invalidationRound = 1, this.currentPageNum = 0, this.zoom = 100, this.toZoom = this.fromZoom = 0
    };
    a.prototype.setup = function () {
        var e = this,
            n = this.divContainer,
            o = this.pdfDoc,
            i = this.showIsSecure;
        this.numPages = o.numPages;
        var a = n.data("scrollbar");
        this.vscrollbar = "both" == a || "vertical" == a, this.hscrollbar = "both" == a || "horizontal" == a, a = "overflow-y: " + (this.vscrollbar ? "scroll" : "hidden") + "; ", a += "overflow-x: " + (this.hscrollbar ? "scroll" : "hidden") + "; ", n.empty().append(t("<div></div>", {
            class: "pdfemb-pagescontainer",
            style: a
        })), n.data("pdfDoc", o), a = n.data("toolbar"), this.addToolbar(!0, !0, i), e.annotationsLayerFactory = void 0 !== PDFEMB_NS.pdfembPremiumAnnotationsLayerFactory ? new PDFEMB_NS.pdfembPremiumAnnotationsLayerFactory : {
            createAnnotationsLayerBuilder: function (t, e) {
                return null
            }
        }, e.annotationLayerFactories = [], e.textLayerFactory = void 0 !== PDFEMB_NS.pdfembPremiumTextLayerFactory ? new PDFEMB_NS.pdfembPremiumTextLayerFactory : {
            createTextLayerBuilder: function (t, e) {
                return null
            }
        }, e.textLayerFactories = [], n.on("pdfembGotopage", function (t, n) {
            n > this.numPages || 0 >= n || (e.gotoPage(n), e.jumpToTop())
        }), n.on("pdfembGotoHash", function (t, n) {
            n.dest && (dest = n.dest, "string" == typeof dest ? (destString = dest, t = e.pdfDoc.getDestination(dest)) : t = Promise.resolve(dest), t.then(function (t) {
                t instanceof Array && !(1 > t.length) && e.pdfDoc.getPageIndex(t[0]).then(function (t) {
                    (t += 1) > e.numPages || 0 >= t || e.currentPageNum == t || (e.gotoPage(t), e.jumpToTop())
                })
            }))
        }), n.on("pdfembGotoAction", function (t, n) {
            var o = t = e.currentPageNum;
            switch (n) {
                case "GoBack":
                    --o;
                    break;
                case "GoForward":
                case "NextPage":
                    ++o;
                    break;
                case "PrevPage":
                    --o;
                    break;
                case "LastPage":
                    o = e.pageCount;
                    break;
                case "FirstPage":
                    o = 1
            }
            o == t || o > e.pageCount || 0 >= o || e.gotoPage(o)
        }), n.on("pdfembMagnify", function (t) {
            e.magnifyEvent(t)
        }), n.on("pdfembChangeZoom", function (t, n) {
            e.changeZoom(n)
        }), this.pageCount = o.numPages, (!n.data("pagenum") || 1 > n.data("pagenum") || n.data("pagenum") > this.pageCount) && n.data("pagenum", 1), n.data("showIsSecure", this.showIsSecure), n.data("pageNumPending", null), o = "on" == n.data("fullScreen") ? parseInt(n.data("startfpzoom")) : parseInt(n.data("startzoom")), (isNaN(o) || 20 > o || 500 < o) && (o = 100), this.zoom = o, 100 != o && n.find("span.pdfemb-zoom").text(o + "%"), n.find("span.pdfemb-page-count").text(this.pageCount), this.gotoPage(n.data("pagenum"))
    }, a.prototype.checkForResize = function () {
        var e = this,
            n = e.divContainer,
            o = t(window).height(),
            i = t(window).width(),
            a = n.data("checked-window-height"),
            r = n.data("checked-window-width");
        a && r || (n.data("checked-window-height", o), n.data("checked-window-width", i)), a == o && r == i || (e.resizeViewer(), e.resizeInnerDivs(), e.invalidateAllPages(), e.renderPage(this.currentPageNum), e.prerenderNearbyPages(this.currentPageNum), e.pdfembMakeMobile(), n.data("checked-window-height", o), n.data("checked-window-width", i)), "true" != n.data("fullScreenClosed") && setTimeout(function () {
            e.checkForResize()
        }, 100)
    }, a.prototype.setSizesBasedOnPage = function (t) {
        t = t.getViewport(1), this.pageWidth = t.width, this.pageHeight = t.height, (0 >= this.pageWidth || 0 >= this.pageHeight) && this.divContainer.empty().append(document.createTextNode(wpmf_pdfemb_trans.objectL10n.widthheightinvalid))
    }, a.prototype.createPageInnerDivs = function () {
        for (var e = this.divContainer.find(".pdfemb-pagescontainer"), n = 1; n <= this.pageCount; ++n) {
            var o = e.find(".pdfemb-inner-div.pdfemb-page" + n);
            0 == o.length && ((o = t("<div></div>", {
                class: "pdfemb-inner-div pdfemb-page" + n
            })).data("pageNum", n), e.append(o))
        }
        this.resizeInnerDivs()
    }, a.prototype.addGrabToPan = function () {
        var e = this,
            n = e.divContainer,
            o = n.find("div.pdfemb-pagescontainer"),
            i = new pdfembGrabToPan({
                element: o[0]
            });
        n.data("grabtopan", i), o.on("scroll", function (t) {
            var n = e.getTopVisiblePageNum();
            n != e.currentPageNum && (e.currentPageNum = n, e.updatePageNumDisplay(n), e.renderPage(n, !1), e.prerenderNearbyPages(n), e.deallocateFarAwayPages(n)), t.stopPropagation()
        }), t(window).resize(function () {
            setTimeout(function () {
                e.checkForResize()
            }, 100)
        })
    }, a.prototype.resizeInnerDivs = function (e) {
        var n = this,
            o = n.wantCanvasWidth,
            i = n.wantCanvasHeight,
            a = n.wantHeight,
            r = this.divContainer.find(".pdfemb-pagescontainer").find(".pdfemb-inner-div");
        e && (r = r.filter(".pdfemb-page" + e));
        var s = 0;
        r.each(function (a, d) {
            var c = t(d);
            d = c.data("widthfactor");
            var p = c.data("heightfactor");
            d || (d = 1), p || (p = 1), c.data("invalidation-round", this.invalidationRound - 1), c.css("width", o * d), a = i * p + (e == n.numPages || !e && a == r.length - 1 ? 0 : 2), c.css("height", a), s += a, (a = c.find(".pdfemb-the-canvas")).css("width", o * d), a.css("height", i * p)
        });
        var d = 0;
        !e && s < a && (d = (a - s) / 2), r.first().css("top", d)
    }, a.prototype.invalidateAllPages = function () {
        ++this.invalidationRound
    }, a.prototype.prerenderNearbyPages = function (t) {
        var e = 3,
            n = 2;
        for (100 > this.zoom && (e *= Math.min(Math.ceil(100 / this.zoom), 10), n *= Math.min(Math.ceil(100 / this.zoom), 10)), n = Math.max(1, t - n); n <= Math.min(t + e, this.numPages); ++n) n != t && this.renderPage(n, !1)
    }, a.prototype.deallocateFarAwayPages = function (t) {
        var e = 50,
            n = 50;
        if (100 > this.zoom) {
            var o = Math.min(Math.ceil(100 / this.zoom), 50);
            e += o, n += o
        }
        o = function (t) {
            var e = (t = a.find(".pdfemb-page" + t)).find(".pdfemb-the-canvas");
            e.length && (e.remove(), t.data("invalidation-round", 0))
        };
        var i, a = this.divContainer.find("div.pdfemb-pagescontainer");
        for (i = 3; i < t - n; ++i) o(i);
        for (i = t + e; i < this.numPages; ++i) o(i)
    }, a.prototype.resizeViewer = function () {
        var t = this.pageWidth,
            e = this.pageHeight,
            a = this.divContainer,
            r = a.find("div.pdfemb-pagescontainer"),
            s = r[0].scrollLeft,
            d = r[0].scrollTop,
            c = a.parent().width();
        if ("max" == a.data("width")) var p = c;
        else "auto" == a.data("width") ? p = t : (p = parseInt(a.data("width"), 10), (isNaN(p) || 0 >= p) && (p = c));
        0 >= p && (p = t), p > c && 0 < c && (p = c), e = e * p / t;
        var l = this.pdfembWantMobile(p, f);
        this.wantMobile = l;
        var h = a.find("div.pdfemb-toolbar-fixed"),
            u = l ? 0 : h.length,
            f = parseInt(a.data("height"), 10);
        (isNaN(f) || 0 >= f || f > e) && (f = "auto" == a.data("height") ? a.parent().height() - u * h.height() : e), this.userHeight = f, p = Math.floor(p), e = Math.floor(e), c = 100;
        var m = p - (this.vscrollbar ? o : 0),
            v = e - (this.hscrollbar ? i : 0),
            g = 1;
        l || 16777e3 < (m = m * (c = this.zoom) / 100) * (v = v * c / 100) * n * n && (g = 16777e3 / (m * v * n * n)), p != a.width() && a.width(p), a.height() != f && a.height(f + u * h.height()), r.width(p), r.height(f), a = h.filter(".pdfemb-toolbar-top"), 0 < u && r.css("top", a.height()), t = (p - (this.vscrollbar ? o : 0)) / t, 0 != this.fromZoom && 0 != this.toZoom && (r[0].scrollLeft = this.toZoom / this.fromZoom * (s + this.pccentreLeft) - this.pccentreLeft, r[0].scrollTop = this.toZoom / this.fromZoom * (d + this.pccentreTop) - this.pccentreTop), this.toZoom = this.fromZoom = 0, this.wantCanvasWidth = m, this.wantCanvasHeight = v, this.reducefactor = g, this.wantWidth = p, this.wantHeight = e, this.canvasscale = t, this.zoom = c
    }, a.prototype.getTopVisiblePageNum = function () {
        var pagesContainer = this.divContainer.find('.pdfemb-pagescontainer');
        var innerdivs = pagesContainer.find('.pdfemb-inner-div');

        var max = innerdivs.length,
            min = 0, c = 0;

        var marginOfError = (this.divContainer.height() / 10) * (this.zoom / 100);

        while (max > min && c < 50) {
            ++c;

            var i = min + Math.floor((max - min) / 2);

            var innerdiv = innerdivs[i];
            var top = Math.floor(t(innerdiv).position().top);

            if (top < marginOfError) {
                min = i;
            } else if (top > marginOfError) {
                max = i;
            } else {
                return i + 1; // Adjust back to 1-based page nums
            }
        }

        return min + 1; // Adjust back to 1-based page nums
    }, a.prototype.gotoPage = function (t) {
        0 >= t || t > this.pageCount || (this.renderPage(t, !0), this.currentPageNum = t, this.updatePageNumDisplay(t), this.prerenderNearbyPages(t), this.deallocateFarAwayPages(t))
    }, a.prototype.updatePageNumDisplay = function (e) {
        var n = this.divContainer;
        n.find("div.pdfemb-toolbar .pdfemb-page-num").each(function (n, o) {
            (n = t(o)).is("span") ? n.text(e) : n.val(e)
        }), e < this.pageCount ? n.find(".pdfemb-next").removeAttr("disabled").removeClass("pdfemb-btndisabled") : n.find(".pdfemb-next").attr("disabled", "disabled").addClass("pdfemb-btndisabled"), 1 < e ? n.find(".pdfemb-prev").removeAttr("disabled").removeClass("pdfemb-btndisabled") : n.find(".pdfemb-prev").attr("disabled", "disabled").addClass("pdfemb-btndisabled")
    }, a.prototype.scrollPageIntoView = function (t) {
        var pagesContainer = this.divContainer.find('.pdfemb-pagescontainer');
        var innerdiv = pagesContainer.find('.pdfemb-page' + t);
        if (innerdiv.length == 0) {
            return;
        }
        var offset = innerdiv.position();
        var cscrolltop = pagesContainer[0].scrollTop;
        pagesContainer[0].scrollTop = cscrolltop + offset.top;


        /*var e = this.divContainer.find(".pdfemb-pagescontainer"),
            n = e.find(".pdfemb-page" + t);
        e.find(".pdfemb-inner-div").not(".pdfemb-page" + t).hide(), n.show(), e[0].scrollTop = 0*/
    }, a.prototype.renderPage = function (e, o) {
        var i = this,
            a = i.invalidationRound,
            r = this.divContainer,
            s = r.data("pdfDoc"),
            d = r.find(".pdfemb-pagescontainer"),
            c = d.find(".pdfemb-page" + e);
        if (c.length && c.data("invalidation-round") >= a) o && i.scrollPageIntoView(e);
        else {
            var p = c.data("pending-drawing-round");
            p >= a || (0 < p && p < a ? c.data("pending-drawing-round", a) : (c.data("pending-drawing-round", a), s.getPage(e).then(function (s) {
                i.initialResize || (i.initialResize = !0, i.setSizesBasedOnPage(s), i.resizeViewer(), i.createPageInnerDivs(), i.addGrabToPan(), i.pdfembMakeMobile()), 0 == c.length && (c = d.find(".pdfemb-page" + e));
                var l = c.data("widthfactor"),
                    h = c.data("heightfactor");
                if (!l || !h) {
                    var u = s.getViewport(1);
                    l = u.width / i.pageWidth, h = u.height / i.pageHeight, c.data("widthfactor", l), c.data("heightfactor", h), 1 == l && 1 == h || i.resizeInnerDivs(e)
                }
                var f = c.find(".pdfemb-the-canvas");
                0 == f.length && (f = t("<canvas></canvas>", {
                    class: "pdfemb-the-canvas"
                }), c.append(f)), o && i.scrollPageIntoView(e);
                var m = i.wantCanvasWidth,
                    v = i.wantCanvasHeight;
                u = i.canvasscale;
                var g = i.zoom;
                f.css("width", m * l), f.css("height", v * h), i.wantMobile ? r.data("grabtopan").deactivate() : r.data("grabtopan").activate();
                var b = s.getViewport(u * g / 100),
                    y = document.createElement("canvas");
                y.width = m * n * i.reducefactor * l, y.height = v * n * i.reducefactor * h;
                var w = y.getContext("2d"),
                    _ = function () {
                        f[0].width = m * n * i.reducefactor * l, f[0].height = v * n * i.reducefactor * h, i.preRenderCanvas(w, e, g);
                        var t = w.getImageData(0, 0, y.width, y.height);
                        f[0].getContext("2d").putImageData(t, 0, 0), void 0 === i.annotationLayerFactories[e] ? (t = i.annotationsLayerFactory.createAnnotationsLayerBuilder(c[0], s), i.annotationLayerFactories[e] = t) : t = i.annotationLayerFactories[e], null != t && t.setupAnnotations(b, i.divContainer.data("newwindow")), void 0 === i.textLayerFactories[e] ? (t = i.textLayerFactory.createTextLayerBuilder(c[0], s), i.textLayerFactories[e] = t) : t = i.textLayerFactories[e], null != t && t.setupText(b), c.data("invalidation-round", a), p = c.data("pending-drawing-round"), c.data("pending-drawing-round", ""), p > a && i.renderPage(e, !1)
                    };
                s.render({
                    canvasContext: w,
                    viewport: b,
                    transform: [n * i.reducefactor, 0, 0, n * i.reducefactor, 0, 0]
                }).promise.then(function () {
                    "requestAnimationFrame" in window ? window.requestAnimationFrame(_) : setTimeout(_, 1)
                })
            })))
        }
    }, a.prototype.changeZoom = function (t) {
        var e = this.divContainer,
            n = this.zoom;
        this.zoom = t = n + t, e.find("span.pdfemb-zoom").text(t + "%"), this.fromZoom = n, this.toZoom = t, e = e.find(".pdfemb-pagescontainer"), this.pccentreLeft = e.width() / 2, this.pccentreTop = e.height() / 2, this.resizeViewer(), this.resizeInnerDivs(), this.invalidateAllPages(), this.renderPage(this.currentPageNum), this.prerenderNearbyPages(this.currentPageNum)
    }, a.prototype.queueRenderPage = function (t, e) {
        this.renderPage(t, e)
    }, a.prototype.addToolbar = function (e, n, o) {
        var i = this.divContainer,
            a = this,
            r = t("<div></div>", {
                class: "pdfemb-toolbar pdfemb-toolbar" + (n ? "-fixed" : "-hover") + " " + (e ? " pdfemb-toolbar-top" : "pdfemb-toolbar-bottom")
            }),
            s = t('<button class="pdfemb-prev" title="' + wpmf_pdfemb_trans.objectL10n.prev + '" type="button"></button>');
        r.append(s);
        var d = t('<button class="pdfemb-next" title="' + wpmf_pdfemb_trans.objectL10n.next + '" type="button"></button>');
        r.append(d), r.append(t('<div class="pdfemb-page-area">' + wpmf_pdfemb_trans.objectL10n.page + ' <span class="pdfemb-page-num">0</span> / <span class="pdfemb-page-count"></span></div>'));
        var c = t('<button class="pdfemb-zoomout" title="' + wpmf_pdfemb_trans.objectL10n.zoomout + '" type="button"></button>');
        r.append(c);
        var p = t('<button class="pdfemb-zoomin" title="' + wpmf_pdfemb_trans.objectL10n.zoomin + '" type="button"></button>');
        r.append(p), r.append(t("<div>" + wpmf_pdfemb_trans.objectL10n.zoom + ' <span class="pdfemb-zoom">100%</span></div>')), o && r.append(t("<div>" + wpmf_pdfemb_trans.objectL10n.secure + "</div>")), e ? i.prepend(r) : i.append(r), s.on("click", function (t) {
            1 >= a.currentPageNum || (a.gotoPage(a.currentPageNum - 1), a.jumpToTop())
        }), d.on("click", function (t) {
            a.currentPageNum >= a.pageCount || 0 == a.currentPageNum || (a.gotoPage(a.currentPageNum + 1), a.jumpToTop())
        }), p.on("click", function (t) {
            500 <= a.zoom || a.changeZoom(10)
        }), c.on("click", function (t) {
            20 >= a.zoom || a.changeZoom(-10)
        }), a.addMoreToolbar(r), n || (i.on("mouseenter", function (t) {
            !0 !== (t = i.find("div.pdfemb-toolbar-hover")).data("no-hover") && t.show()
        }), i.on("mouseleave", function (t) {
            i.find("div.pdfemb-toolbar-hover").hide()
        }), i.on("pdfembTouchTapped", function (t) {
            if (t.stopPropagation(), t.preventDefault(), !a.locktaps) {
                a.locktaps = !0;
                var e = (t = i.find("div.pdfemb-toolbar-hover")).is(":visible");
                1 == t.data("no-hover") && (e = !0), e ? t.hide() : t.show(), setTimeout(function () {
                    a.locktaps = !1
                }, 250)
            }
        })), wpmf_pdfemb_trans.poweredby && r.append(t("<div></div>", {
            class: "pdfemb-poweredby"
        }).append(t('<a href="https://wp-pdf.com/?utm_source=Poweredby&utm_medium=freemium&utm_campaign=Freemium" target="_blank">wp-pdf.com</a>')))
    }, a.prototype.magnifyEvent = function (t) {
        var e = t.originalEvent.magnification;
        if (-1 == e) this.resizeViewer(), this.resizeInnerDivs(), this.invalidateAllPages(), this.renderPage(this.getTopVisiblePageNum());
        else {
            var n = this.divContainer.find(".pdfemb-pagescontainer").offset();
            this.magnifyZoom(e, t.originalEvent.centreLeft - n.left, t.originalEvent.centreTop - n.top)
        }
    }, a.prototype.magnifyZoom = function (t, e, n) {
        var o = this.zoom;
        20 > (t = Math.floor(o * t)) && (t = 20), 500 < t && (t = 500), this.zoom = t, this.divContainer.find("span.pdfemb-zoom").text(t + "%"), this.fromZoom = o, this.toZoom = t, this.pccentreLeft = e, this.pccentreTop = n, this.resizeViewer(), this.resizeInnerDivs(), this.invalidateAllPages()
    }, a.prototype.pdfembWantMobile = function (t, e) {
        return !1
    }, a.prototype.pdfembMakeMobile = function () {
    }, a.prototype.addMoreToolbar = function (t) {
    }, a.prototype.jumpToTop = function () {
    }, a.prototype.preRenderCanvas = function (t, e, n) {
    }, PDFEMB_NS.pdfembPagesViewer = a
}), jQuery(document).ready(function (t) {
    var e = PDFEMB_NS.pdfembPagesViewer,
        n = function () {
            e.apply(this, arguments)
        };
    n.prototype = new e, wpmf_pdfemb_trans.continousscroll && (n.prototype.scrollPageIntoView = function (t) {
        var e = this.divContainer.find(".pdfemb-pagescontainer");
        0 != (t = e.find(".pdfemb-page" + t)).length && (t = t.position(), e[0].scrollTop += t.top)
    }, n.prototype.getTopVisiblePageNum = function () {
        var pagesContainer = this.divContainer.find('.pdfemb-pagescontainer');
        var innerdivs = pagesContainer.find('.pdfemb-inner-div');

        var max = innerdivs.length,
            min = 0, c = 0;
        var marginOfError = (this.divContainer.height() / 10) * (this.zoom / 100);

        while (max > min && c < 50) {
            ++c;

            var i = min + Math.floor((max - min) / 2);
            var innerdiv = innerdivs[i];
            var top = Math.floor($(innerdiv).position().top);

            if (top < marginOfError) {
                min = i;
            } else if (top > marginOfError) {
                max = i;
            } else {
                return i + 1; // Adjust back to 1-based page nums
            }
        }

        return min + 1; // Adjust back to 1-based page nums
    }), n.prototype.pdfembWantMobile = function (t, e) {
        return "on" != (e = this.divContainer).data("fullScreen") && (e = parseInt(e.data("mobile-width"), 10), (isNaN(e) || 0 > e) && (e = 500), t < e)
    }, n.prototype.pdfembMakeMobile = function () {
        var e = this.wantMobile,
            n = this.divContainer;
        if (n.find("div.pdfemb-pagescontainer"), e) {
            if (0 == n.find(".pdfemb-wantmobile").length) {
                e = t("<div></div>", {
                    class: "pdfemb-inner-div-wantmobile pdfemb-wantmobile"
                });
                var o = t("<div></div>", {
                        class: "pdfemb-wantmobile-fsarea"
                    }),
                    i = t("<div></div>", {
                        class: "pdfemb-inner-div-wantmobile-fswrap pdfemb-wantmobile"
                    }).append(o.append(document.createTextNode(wpmf_pdfemb_trans.objectL10n.viewinfullscreen)));
                this.bindFullScreen(o), n.prepend(e), n.prepend(i), n.find(".pdfemb-toolbar-fixed").hide(), n.find(".pdfemb-toolbar-hover").data("no-hover", !0)
            }
        } else n.find(".pdfemb-wantmobile").remove(), n.find(".pdfemb-toolbar-fixed").show(), n.find(".pdfemb-toolbar-hover").data("no-hover", !1)
    }, e.prototype.addMoreToolbar = function (e) {
        var n = this,
            o = n.divContainer;
        if ("on" == o.data("download")) {
            var i = t('<button class="pdfemb-download" title="' + wpmf_pdfemb_trans.objectL10n.download + '" type="button"></button>'),
                a = o.data("pdf-url");
            a && (i.on("click", function (t) {
                n.download(a, o.data("download-nonce"), o.data("tracking"))
            }), e.append(i))
        }
        i = t('<button class="pdfemb-fs" title="' + wpmf_pdfemb_trans.objectL10n.fullscreen + '" type="button"></button>'), "on" == o.data("fullScreen") ? (i.addClass("pdfemb-toggled"), i.on("click", function (t) {
            o.closest(".pdfemb-fsp-wrapper").trigger("closePopup"), o.data("fullScreenClosed", "true")
        })) : n.bindFullScreen(i), e.append(i);
        var r = e.find("div.pdfemb-page-area"),
            s = r.find("span.pdfemb-page-num");
        e = function () {
            var e = t("<input />", {
                type: "text",
                class: "pdfemb-page-num"
            });
            e.on("keyup", function (t) {
                (keyCode = t.keyCode ? t.keyCode : 13 == t.which) && (t = parseInt(e.val()), !isNaN(t) && 0 < t && o.trigger("pdfembGotopage", t))
            }), e.val(s.text()), s.replaceWith(e), r.off("click")
        }, "on" == o.data("pagetextbox") ? e() : r.on("click", e)
    }, e.prototype.download = function (t, e, n) {
        void 0 !== e && "" != e && (t += "&pdfemb-nonce=" + e), setTimeout(function () {
            window.open(t)
        }, 100), "on" == n && jQuery.post(wpmf_pdfemb_trans.ajaxurl, {
            action: "pdfemb_count_download",
            pdf_url: t
        }, function (t) {
        })
    }, e.prototype.bindFullScreen = function (e) {
        var n = this,
            o = n.divContainer;
        e.fullScreenPopup({
            popup: function () {
                var e = n.pdfDoc,
                    i = n.currentPageNum,
                    a = o.data("showIsSecure"),
                    r = o.data("pdf-url"),
                    s = o.data("scrollbar"),
                    d = o.data("download"),
                    c = o.data("tracking"),
                    p = o.data("newwindow"),
                    l = o.data("scrolltotop"),
                    h = o.data("download-nonce"),
                    u = o.data("disablerightclick"),
                    f = o.data("pagetextbox"),
                    m = o.data("startzoom"),
                    v = o.data("startfpzoom"),
                    g = t('<div class="pdfemb-viewer"></div>');
                return g.data("pdfDoc", e), g.data("pagenum", i), g.data("showIsSecure", a), g.data("pdf-url", r), g.data("scrollbar", s), g.data("download", d), g.data("tracking", c), g.data("newwindow", p), g.data("scrolltotop", l), g.data("disablerightclick", u), g.data("pagetextbox", f), g.data("startzoom", m), g.data("startfpzoom", v), g.data("width", "max"), g.data("height", "auto"), g.data("toolbar", "bottom"), g.data("toolbar-fixed", "on"), g.data("fullScreen", "on"), void 0 !== h && g.data("download-nonce", h), g.pdfEmbedder(), t(document).on("keyup", function (t) {
                    var e = g.find(".pdfemb-pagescontainer");
                    if (33 == (t = t.keyCode ? t.keyCode : t.which)) e.trigger("pdfembGotoAction", "PrevPage");
                    else if (34 == t) e.trigger("pdfembGotoAction", "NextPage");
                    else if (37 <= t && 40 >= t) {
                        var n = document.createEvent("Event");
                        n.initEvent("pdfembKeyboardPan", !0, !1), n.detail = {
                            keyCode: t
                        }, g.find(".grab-to-pan-grab").each(function (t, e) {
                            e.dispatchEvent(n)
                        })
                    } else 187 == t || 109 == t || 61 == t || 43 == t ? e.trigger("changeZoom", 10) : (189 == t || 107 == t || 45 == t || 173 == t) && e.trigger("changeZoom", -10)
                }), g
            },
            close: !1,
            mainWrapperClass: "pdfemb-fsp-wrapper",
            contentWrapperClass: "pdfemb-fsp-content",
            inlineStyles: !1
        })
    }, e.prototype.jumpToTop = function () {
        var t = this.divContainer;
        0 < t.length && "scrollIntoView" in t[0] && "on" == t.data("scrolltotop") && t[0].scrollIntoView()
    }, e.prototype.preRenderCanvas = function (e, n, o) {
        var i = this.divContainer;
        if (o = wpmf_pdfemb_trans.watermark_map, t.isArray(o) && 0 != o.length && -1 !== i.data("pdf-url").search("/?pdfemb-serveurl=") && (void 0 === wpmf_pdfemb_trans.watermark_evenpagesonly || !wpmf_pdfemb_trans.watermark_evenpagesonly || 0 == n % 2)) {
            n = 5, i = 10;
            for (var a, r = "center", s = 45, d = 0; d < o.length; ++d) {
                var c = o[d];
                if (t.isArray(c) && 1 <= c.length) {
                    var p = c[0];
                    if (e.save(), e.lineWidth = 1, e.fillStyle = "#444444", e.lineStyle = "#111111", e.textAlign = "left", e.font = "20pt sans-serif", e.globalAlpha = .1, 2 <= c.length && (n = c[1], 3 <= c.length && (i = c[2], 4 <= c.length && (r = c[3], 5 <= c.length && (s = c[4], 6 <= c.length && (a = c[5], e.font = Math.round(e.canvas.width / 1e3 * a * 100) / 100 + "pt sans-serif", 7 <= c.length && "object" == typeof c[6]))))))
                        for (var l in a = c[6]) e[l] = a[l];
                    var h = e.measureText(p).width;
                    c = e.canvas.height * i / 100, "left" == r ? (a = e.canvas.width * n / 100, h = 0) : "right" == r ? (a = e.canvas.width * (1 - n / 100), h = -h) : (a = e.canvas.width / 2, h = -h / 2), e.translate(a, c), e.rotate(-Math.PI * s / 360), e.fillText(p, h, 0), e.restore(), i += 10
                }
            }
        }
    }, PDFEMB_NS.pdfembPagesViewerUsable = n;
    var o = function () {
        function t(t) {
            this.pageDiv = t.pageDiv, this.pdfPage = t.pdfPage, this.linkService = t.linkService, this.div = null
        }

        return t.prototype = {
            setupAnnotations: function (t, e) {
                var n = this.pdfPage,
                    o = this;
                n.getAnnotations({
                    intent: "display"
                }).then(function (i) {
                    t = t.clone({
                        dontFlip: !0
                    }), parameters = {
                        viewport: t,
                        div: o.pageDiv,
                        annotations: i,
                        page: n,
                        linkService: o.linkService
                    }, o.div ? PDFJS.AnnotationLayer.update(parameters) : 0 !== i.length && (o.div = document.createElement("div"), o.div.className = "annotationLayer pdfembAnnotationLayer", o.pageDiv.appendChild(o.div), parameters.div = o.div, PDFJS.AnnotationLayer.render(parameters), "undefined" != typeof mozL10n && mozL10n.translate(o.div), i = o.pageDiv.getElementsByTagName("canvas")[0], o.div.style.left = i.style.left, o.div.style.top = i.style.top, jQuery(o.div).find("a").each(function (t, n) {
                        "on" == e && (n.target = "_blank"), n.title = "", jQuery(n).on("touchstart", function (t) {
                            t.stopPropagation()
                        })
                    }))
                })
            },
            hide: function () {
                this.div && this.div.setAttribute("hidden", "true")
            }
        }, t
    }();
    PDFEMB_NS.pdfembPremiumAnnotationsLayerFactory = function () {
    }, PDFEMB_NS.pdfembPremiumAnnotationsLayerFactory.prototype = {
        createAnnotationsLayerBuilder: function (t, e) {
            return new o({
                pageDiv: t,
                pdfPage: e,
                linkService: new i(t)
            })
        }
    };
    var i = function () {
            function t(t) {
                this.pageDiv = t
            }

            return t.prototype = {
                navigateTo: function (t) {
                    t && jQuery(this.pageDiv).parent().trigger("pdfembGotoHash", {
                        dest: t
                    })
                },
                getDestinationHash: function (t) {
                    return "#"
                },
                getAnchorUrl: function (t) {
                    return "#"
                },
                setHash: function (t) {
                },
                executeNamedAction: function (t) {
                    t && jQuery(this.pageDiv).parent().trigger("pdfembGotoAction", t)
                },
                cachePageRef: function (t, e) {
                }
            }, t
        }(),
        a = function () {
            function t(t) {
                this.pageDiv = t.pageDiv, this.pdfPage = t.pdfPage, this.linkService = t.linkService, this.div = null
            }

            return t.prototype = {
                setupText: function (t) {
                    var e = this.pdfPage,
                        n = this;
                    e.getTextContent({}).then(function (o) {
                        if (t = t.clone({
                            dontFlip: !1
                        }), parameters = {
                            viewport: t,
                            textContent: o,
                            page: e,
                            enhanceTextSelection: !0
                        }, 0 !== o.length) {
                            if (0 < (o = n.pageDiv.getElementsByClassName("pdfembTextLayer")).length)
                                for (n.div = o[0]; n.div.firstChild;) n.div.removeChild(n.div.firstChild);
                            else n.div = document.createElement("div"), n.div.className = "textLayer pdfembTextLayer", n.pageDiv.appendChild(n.div);
                            parameters.container = n.div, PDFJS.renderTextLayer(parameters), "undefined" != typeof mozL10n && mozL10n.translate(n.div)
                        }
                    })
                },
                hide: function () {
                    this.div && this.div.setAttribute("hidden", "true")
                }
            }, t
        }();
    PDFEMB_NS.pdfembPremiumTextLayerFactory = function () {
    }, PDFEMB_NS.pdfembPremiumTextLayerFactory.prototype = {
        createTextLayerBuilder: function (t, e) {
            return new a({
                pageDiv: t,
                pdfPage: e,
                linkService: new i(t)
            })
        }
    }, PDFEMB_NS.pdfembCustomStyle = function () {
        function t() {
        }

        var e = ["ms", "Moz", "Webkit", "O"],
            n = {};
        return t.getProp = function (t, o) {
            if (1 === arguments.length && "string" == typeof n[t]) return n[t];
            var i = (o = o || document.documentElement).style;
            if ("string" == typeof i[t]) return n[t] = t;
            for (var a = t.charAt(0).toUpperCase() + t.slice(1), r = 0, s = e.length; r < s; r++) {
                var d = e[r] + a;
                if ("string" == typeof i[d]) return n[t] = d
            }
            return n[t] = "undefined"
        }, t.setProp = function (t, e, n) {
            "undefined" !== (t = this.getProp(t)) && (e.style[t] = n)
        }, t
    }()
}), PDFEMB_NS.pdfembGetPDF = function (t, e) {
    if(typeof t !== "undefined") {
        -1 == t.search("/?pdfemb-serveurl=") ? e(t, !1) : (PDFEMB_NS.pdfembAddAjaxBufferTransport(), jQuery.ajax({
            dataType: "arraybuffer",
            type: "POST",
            url: t
        }).done(function (t) {
            PDFEMB_NS.pdfemb_rc4ab(wpmf_pdfemb_trans.k, t), t = new Uint8Array(t), e(t, wpmf_pdfemb_trans.is_admin)
        }).fail(function (t, n, o) {
            e(null, wpmf_pdfemb_trans.is_admin)
        }))
    }
}, PDFEMB_NS.pdfembAddAjaxBufferTransport_added = !1, PDFEMB_NS.pdfembAddAjaxBufferTransport = function () {
    PDFEMB_NS.pdfembAddAjaxBufferTransport_added || (PDFEMB_NS.pdfembAddAjaxBufferTransport_added = !0, jQuery.ajaxTransport("+*", function (t, e, n) {
        if (window.FormData && (t.dataType && ("blob" == t.dataType || "arraybuffer" == t.dataType) || t.data && (window.Blob && t.data instanceof Blob || window.ArrayBuffer && t.data instanceof ArrayBuffer))) return {
            send: function (e, n) {
                var o = new XMLHttpRequest;
                e = t.url || window.location.href;
                var i = t.type || "GET",
                    a = t.dataType || "text",
                    r = t.data || null,
                    s = t.async || !0;
                o.addEventListener("load", function () {
                    var t = {};
                    t[a] = o.response, n(o.status, o.statusText, t, o.getAllResponseHeaders())
                }), o.open(i, e, s), o.responseType = a, o.send(r)
            },
            abort: function () {
                n.abort()
            }
        }
    }))
}, PDFEMB_NS.pdfemb_rc4ab = function (t, e) {
    var n = [],
        o = 0,
        i = new DataView(e),
        a = 0;
    239 == i.getUint8(0) && 187 == i.getUint8(1) && 191 == i.getUint8(2) && (a = 3);
    for (var r = 0; 256 > r; r++) n[r] = r;
    for (r = 0; 256 > r; r++) {
        o = (o + n[r] + t.charCodeAt(r % t.length)) % 256;
        var s = n[r];
        n[r] = n[o], n[o] = s
    }
    for (o = r = 0, t = a; t < e.byteLength; t++) o = (o + n[r = (r + 1) % 256]) % 256, s = n[r], n[r] = n[o], n[o] = s, input = i.getUint8(t), output = input ^ n[(n[r] + n[o]) % 256], i.setUint8(t, output)
}, jQuery(document).ready(function (t) {
    if (typeof PDFJS === "undefined") {
        return;
    }
    t.fn.pdfEmbedder = function () {
        return this.each(function (e, n) {
            if ((e = t(n)).is("a")) {
                n = e.data();
                var o = t("<div></div>", {
                    class: e.attr("class"),
                    style: e.attr("style")
                });
                o.data(t.extend({
                    "pdf-url": e.attr("href")
                }, n)), e.replaceWith(o)
            } else o = e;
            o.append(t("<div></div>", {
                class: "pdfemb-loadingmsg"
            }).append(document.createTextNode(wpmf_pdfemb_trans.objectL10n.loading))), "on" == o.data("disablerightclick") && o.bind("contextmenu", function (t) {
                t.preventDefault()
            });
            var i = function (t, e) {
                new PDFEMB_NS.pdfembPagesViewerUsable(t, o, e).setup()
            };
            e = function (e, n) {
                null === e ? o.empty().append(t("<div></div>", {
                    class: "pdfemb-errormsg"
                }).append(msgnode = t("<span></span>").append(document.createTextNode("Failed to load and decrypt PDF")))) : PDFJS.getDocument(e).then(function (t) {
                    i(t, n)
                }, function (e) {
                    var n = document.createTextNode(e.message);
                    "UnknownErrorException" == e.name && "Failed to fetch" == e.message && (n = t("<span></span>").append(document.createTextNode(e.message + " " + wpmf_pdfemb_trans.objectL10n.domainerror + " ")).append(t('<a href="https://www.joomunited.com/documentation/wp-media-folder-documentation" target="_blank">' + wpmf_pdfemb_trans.objectL10n.clickhereinfo + "</a>"))), o.empty().append(t("<div></div>", {
                        class: "pdfemb-errormsg"
                    }).append(n))
                })
            }, o.data("pdfDoc") ? i(o.data("pdfDoc"), o.data("showIsSecure")) : (n = o.data("pdf-url"), PDFEMB_NS.pdfembGetPDF(n, e))
        }), this
    }, PDFJS.workerSrc = wpmf_pdfemb_trans.worker_src, PDFJS.cMapUrl = wpmf_pdfemb_trans.cmap_url, PDFJS.cMapPacked = !0, t(".wpmf-pdfemb-viewer").pdfEmbedder()
});
// source --> https://orpheus-venlo.nl/wp-content/cache/autoptimize/js/autoptimize_single_9f8cbaf7c3126b2d0b4ac9bf0b49196e.js?ver=6.8.5 
(function compatibilityWrapper(){'use strict';if(typeof PDFJS==='undefined'){(typeof window!=='undefined'?window:this).PDFJS={};}
(function checkTypedArrayCompatibility(){if(typeof Uint8Array!=='undefined'){if(typeof Uint8Array.prototype.subarray==='undefined'){Uint8Array.prototype.subarray=function subarray(start,end){return new Uint8Array(this.slice(start,end));};Float32Array.prototype.subarray=function subarray(start,end){return new Float32Array(this.slice(start,end));};}
if(typeof Float64Array==='undefined'){window.Float64Array=Float32Array;}
return;}
function subarray(start,end){return new TypedArray(this.slice(start,end));}
function setArrayOffset(array,offset){if(arguments.length<2){offset=0;}
for(var i=0,n=array.length;i<n;++i,++offset){this[offset]=array[i]&0xFF;}}
function TypedArray(arg1){var result,i,n;if(typeof arg1==='number'){result=[];for(i=0;i<arg1;++i){result[i]=0;}}else if('slice'in arg1){result=arg1.slice(0);}else{result=[];for(i=0,n=arg1.length;i<n;++i){result[i]=arg1[i];}}
result.subarray=subarray;result.buffer=result;result.byteLength=result.length;result.set=setArrayOffset;if(typeof arg1==='object'&&arg1.buffer){result.buffer=arg1.buffer;}
return result;}
window.Uint8Array=TypedArray;window.Int8Array=TypedArray;window.Uint32Array=TypedArray;window.Int32Array=TypedArray;window.Uint16Array=TypedArray;window.Float32Array=TypedArray;window.Float64Array=TypedArray;})();(function normalizeURLObject(){if(!window.URL){window.URL=window.webkitURL;}})();(function checkObjectDefinePropertyCompatibility(){if(typeof Object.defineProperty!=='undefined'){var definePropertyPossible=true;try{Object.defineProperty(new Image(),'id',{value:'test'});var Test=function Test(){};Test.prototype={get id(){}};Object.defineProperty(new Test(),'id',{value:'',configurable:true,enumerable:true,writable:false});}catch(e){definePropertyPossible=false;}
if(definePropertyPossible){return;}}
Object.defineProperty=function objectDefineProperty(obj,name,def){delete obj[name];if('get'in def){obj.__defineGetter__(name,def['get']);}
if('set'in def){obj.__defineSetter__(name,def['set']);}
if('value'in def){obj.__defineSetter__(name,function objectDefinePropertySetter(value){this.__defineGetter__(name,function objectDefinePropertyGetter(){return value;});return value;});obj[name]=def.value;}};})();(function checkXMLHttpRequestResponseCompatibility(){var xhrPrototype=XMLHttpRequest.prototype;var xhr=new XMLHttpRequest();if(!('overrideMimeType'in xhr)){Object.defineProperty(xhrPrototype,'overrideMimeType',{value:function xmlHttpRequestOverrideMimeType(mimeType){}});}
if('responseType'in xhr){return;}
PDFJS.disableWorker=true;Object.defineProperty(xhrPrototype,'responseType',{get:function xmlHttpRequestGetResponseType(){return this._responseType||'text';},set:function xmlHttpRequestSetResponseType(value){if(value==='text'||value==='arraybuffer'){this._responseType=value;if(value==='arraybuffer'&&typeof this.overrideMimeType==='function'){this.overrideMimeType('text/plain; charset=x-user-defined');}}}});if(typeof VBArray!=='undefined'){Object.defineProperty(xhrPrototype,'response',{get:function xmlHttpRequestResponseGet(){if(this.responseType==='arraybuffer'){return new Uint8Array(new VBArray(this.responseBody).toArray());}else{return this.responseText;}}});return;}
Object.defineProperty(xhrPrototype,'response',{get:function xmlHttpRequestResponseGet(){if(this.responseType!=='arraybuffer'){return this.responseText;}
var text=this.responseText;var i,n=text.length;var result=new Uint8Array(n);for(i=0;i<n;++i){result[i]=text.charCodeAt(i)&0xFF;}
return result.buffer;}});})();(function checkWindowBtoaCompatibility(){if('btoa'in window){return;}
var digits='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';window.btoa=function windowBtoa(chars){var buffer='';var i,n;for(i=0,n=chars.length;i<n;i+=3){var b1=chars.charCodeAt(i)&0xFF;var b2=chars.charCodeAt(i+1)&0xFF;var b3=chars.charCodeAt(i+2)&0xFF;var d1=b1>>2,d2=((b1&3)<<4)|(b2>>4);var d3=i+1<n?((b2&0xF)<<2)|(b3>>6):64;var d4=i+2<n?(b3&0x3F):64;buffer+=(digits.charAt(d1)+digits.charAt(d2)+
digits.charAt(d3)+digits.charAt(d4));}
return buffer;};})();(function checkWindowAtobCompatibility(){if('atob'in window){return;}
var digits='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';window.atob=function(input){input=input.replace(/=+$/,'');if(input.length%4===1){throw new Error('bad atob input');}
for(var bc=0,bs,buffer,idx=0,output='';buffer=input.charAt(idx++);~buffer&&(bs=bc%4?bs*64+buffer:buffer,bc++%4)?output+=String.fromCharCode(255&bs>>(-2*bc&6)):0){buffer=digits.indexOf(buffer);}
return output;};})();(function checkFunctionPrototypeBindCompatibility(){if(typeof Function.prototype.bind!=='undefined'){return;}
Function.prototype.bind=function functionPrototypeBind(obj){var fn=this,headArgs=Array.prototype.slice.call(arguments,1);var bound=function functionPrototypeBindBound(){var args=headArgs.concat(Array.prototype.slice.call(arguments));return fn.apply(obj,args);};return bound;};})();(function checkDatasetProperty(){var div=document.createElement('div');if('dataset'in div){return;}
Object.defineProperty(HTMLElement.prototype,'dataset',{get:function(){if(this._dataset){return this._dataset;}
var dataset={};for(var j=0,jj=this.attributes.length;j<jj;j++){var attribute=this.attributes[j];if(attribute.name.substring(0,5)!=='data-'){continue;}
var key=attribute.name.substring(5).replace(/\-([a-z])/g,function(all,ch){return ch.toUpperCase();});dataset[key]=attribute.value;}
Object.defineProperty(this,'_dataset',{value:dataset,writable:false,enumerable:false});return dataset;},enumerable:true});})();(function checkClassListProperty(){var div=document.createElement('div');if('classList'in div){return;}
function changeList(element,itemName,add,remove){var s=element.className||'';var list=s.split(/\s+/g);if(list[0]===''){list.shift();}
var index=list.indexOf(itemName);if(index<0&&add){list.push(itemName);}
if(index>=0&&remove){list.splice(index,1);}
element.className=list.join(' ');return(index>=0);}
var classListPrototype={add:function(name){changeList(this.element,name,true,false);},contains:function(name){return changeList(this.element,name,false,false);},remove:function(name){changeList(this.element,name,false,true);},toggle:function(name){changeList(this.element,name,true,true);}};Object.defineProperty(HTMLElement.prototype,'classList',{get:function(){if(this._classList){return this._classList;}
var classList=Object.create(classListPrototype,{element:{value:this,writable:false,enumerable:true}});Object.defineProperty(this,'_classList',{value:classList,writable:false,enumerable:false});return classList;},enumerable:true});})();(function checkConsoleCompatibility(){if(!('console'in window)){window.console={log:function(){},error:function(){},warn:function(){}};}else if(!('bind'in console.log)){console.log=(function(fn){return function(msg){return fn(msg);};})(console.log);console.error=(function(fn){return function(msg){return fn(msg);};})(console.error);console.warn=(function(fn){return function(msg){return fn(msg);};})(console.warn);}})();(function checkOnClickCompatibility(){function ignoreIfTargetDisabled(event){if(isDisabled(event.target)){event.stopPropagation();}}
function isDisabled(node){return node.disabled||(node.parentNode&&isDisabled(node.parentNode));}
if(navigator.userAgent.indexOf('Opera')!==-1){document.addEventListener('click',ignoreIfTargetDisabled,true);}})();(function checkOnBlobSupport(){if(navigator.userAgent.indexOf('Trident')>=0){PDFJS.disableCreateObjectURL=true;}})();(function checkNavigatorLanguage(){if('language'in navigator){return;}
PDFJS.locale=navigator.userLanguage||'en-US';})();(function checkRangeRequests(){var isSafari=Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor')>0;var regex=/Android\s[0-2][^\d]/;var isOldAndroid=regex.test(navigator.userAgent);var isChromeWithRangeBug=/Chrome\/(39|40)\./.test(navigator.userAgent);if(isSafari||isOldAndroid||isChromeWithRangeBug){PDFJS.disableRange=true;PDFJS.disableStream=true;}})();(function checkHistoryManipulation(){if(!history.pushState||navigator.userAgent.indexOf('Android 2.')>=0){PDFJS.disableHistory=true;}})();(function checkSetPresenceInImageData(){if(window.CanvasPixelArray){if(typeof window.CanvasPixelArray.prototype.set!=='function'){window.CanvasPixelArray.prototype.set=function(arr){for(var i=0,ii=this.length;i<ii;i++){this[i]=arr[i];}};}}else{var polyfill=false,versionMatch;if(navigator.userAgent.indexOf('Chrom')>=0){versionMatch=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);polyfill=versionMatch&&parseInt(versionMatch[2])<21;}else if(navigator.userAgent.indexOf('Android')>=0){polyfill=/Android\s[0-4][^\d]/g.test(navigator.userAgent);}else if(navigator.userAgent.indexOf('Safari')>=0){versionMatch=navigator.userAgent.match(/Version\/([0-9]+)\.([0-9]+)\.([0-9]+) Safari\//);polyfill=versionMatch&&parseInt(versionMatch[1])<6;}
if(polyfill){var contextPrototype=window.CanvasRenderingContext2D.prototype;var createImageData=contextPrototype.createImageData;contextPrototype.createImageData=function(w,h){var imageData=createImageData.call(this,w,h);imageData.data.set=function(arr){for(var i=0,ii=this.length;i<ii;i++){this[i]=arr[i];}};return imageData;};contextPrototype=null;}}})();(function checkRequestAnimationFrame(){function fakeRequestAnimationFrame(callback){window.setTimeout(callback,20);}
var isIOS=/(iPad|iPhone|iPod)/g.test(navigator.userAgent);if(isIOS){window.requestAnimationFrame=fakeRequestAnimationFrame;return;}
if('requestAnimationFrame'in window){return;}
window.requestAnimationFrame=window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||fakeRequestAnimationFrame;})();(function checkCanvasSizeLimitation(){var isIOS=/(iPad|iPhone|iPod)/g.test(navigator.userAgent);var isAndroid=/Android/g.test(navigator.userAgent);if(isIOS||isAndroid){PDFJS.maxCanvasPixels=5242880;}})();(function checkFullscreenSupport(){var isEmbeddedIE=(navigator.userAgent.indexOf('Trident')>=0&&window.parent!==window);if(isEmbeddedIE){PDFJS.disableFullscreen=true;}})();(function checkCurrentScript(){if('currentScript'in document){return;}
Object.defineProperty(document,'currentScript',{get:function(){var scripts=document.getElementsByTagName('script');return scripts[scripts.length-1];},enumerable:true,configurable:true});})();}).call((typeof window==='undefined')?this:window);
// source --> https://orpheus-venlo.nl/wp-content/cache/autoptimize/js/autoptimize_single_a5042c2057b7b50c7903bbd4faed90a3.js?ver=6.8.5 
(function(root,factory){'use strict';if(typeof define==='function'&&define.amd){define('pdfjs-dist/build/pdf',['exports'],factory);}else if(typeof exports!=='undefined'){factory(exports);}else{factory((root.pdfjsDistBuildPdf={}));}}(this,function(exports){'use strict';var pdfjsVersion='1.5.322';var pdfjsBuild='b6826a4';var pdfjsFilePath=typeof document!=='undefined'&&document.currentScript?document.currentScript.src:null;var pdfjsLibs={};(function pdfjsWrapper(){(function(root,factory){{factory((root.pdfjsSharedUtil={}));}}(this,function(exports){var globalScope=(typeof window!=='undefined')?window:(typeof global!=='undefined')?global:(typeof self!=='undefined')?self:this;var FONT_IDENTITY_MATRIX=[0.001,0,0,0.001,0,0];var TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4};var ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3};var AnnotationType={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26};var AnnotationFlag={INVISIBLE:0x01,HIDDEN:0x02,PRINT:0x04,NOZOOM:0x08,NOROTATE:0x10,NOVIEW:0x20,READONLY:0x40,LOCKED:0x80,TOGGLENOVIEW:0x100,LOCKEDCONTENTS:0x200};var AnnotationBorderStyleType={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};var StreamType={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9};var FontType={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};var VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91};var verbosity=VERBOSITY_LEVELS.warnings;function setVerbosityLevel(level){verbosity=level;}
function getVerbosityLevel(){return verbosity;}
function info(msg){if(verbosity>=VERBOSITY_LEVELS.infos){console.log('Info: '+msg);}}
function warn(msg){if(verbosity>=VERBOSITY_LEVELS.warnings){console.log('Warning: '+msg);}}
function deprecated(details){console.log('Deprecated API usage: '+details);}
function error(msg){if(verbosity>=VERBOSITY_LEVELS.errors){console.log('Error: '+msg);console.log(backtrace());}
throw new Error(msg);}
function backtrace(){try{throw new Error();}catch(e){return e.stack?e.stack.split('\n').slice(2).join('\n'):'';}}
function assert(cond,msg){if(!cond){error(msg);}}
var UNSUPPORTED_FEATURES={unknown:'unknown',forms:'forms',javaScript:'javaScript',smask:'smask',shadingPattern:'shadingPattern',font:'font'};function isSameOrigin(baseUrl,otherUrl){try{var base=new URL(baseUrl);if(!base.origin||base.origin==='null'){return false;}}catch(e){return false;}
var other=new URL(otherUrl,base);return base.origin===other.origin;}
function isValidUrl(url,allowRelative){if(!url||typeof url!=='string'){return false;}
var protocol=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(url);if(!protocol){return allowRelative;}
protocol=protocol[0].toLowerCase();switch(protocol){case'http':case'https':case'ftp':case'mailto':case'tel':return true;default:return false;}}
function shadow(obj,prop,value){Object.defineProperty(obj,prop,{value:value,enumerable:true,configurable:true,writable:false});return value;}
function getLookupTableFactory(initializer){var lookup;return function(){if(initializer){lookup=Object.create(null);initializer(lookup);initializer=null;}
return lookup;};}
var PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};var PasswordException=(function PasswordExceptionClosure(){function PasswordException(msg,code){this.name='PasswordException';this.message=msg;this.code=code;}
PasswordException.prototype=new Error();PasswordException.constructor=PasswordException;return PasswordException;})();var UnknownErrorException=(function UnknownErrorExceptionClosure(){function UnknownErrorException(msg,details){this.name='UnknownErrorException';this.message=msg;this.details=details;}
UnknownErrorException.prototype=new Error();UnknownErrorException.constructor=UnknownErrorException;return UnknownErrorException;})();var InvalidPDFException=(function InvalidPDFExceptionClosure(){function InvalidPDFException(msg){this.name='InvalidPDFException';this.message=msg;}
InvalidPDFException.prototype=new Error();InvalidPDFException.constructor=InvalidPDFException;return InvalidPDFException;})();var MissingPDFException=(function MissingPDFExceptionClosure(){function MissingPDFException(msg){this.name='MissingPDFException';this.message=msg;}
MissingPDFException.prototype=new Error();MissingPDFException.constructor=MissingPDFException;return MissingPDFException;})();var UnexpectedResponseException=(function UnexpectedResponseExceptionClosure(){function UnexpectedResponseException(msg,status){this.name='UnexpectedResponseException';this.message=msg;this.status=status;}
UnexpectedResponseException.prototype=new Error();UnexpectedResponseException.constructor=UnexpectedResponseException;return UnexpectedResponseException;})();var NotImplementedException=(function NotImplementedExceptionClosure(){function NotImplementedException(msg){this.message=msg;}
NotImplementedException.prototype=new Error();NotImplementedException.prototype.name='NotImplementedException';NotImplementedException.constructor=NotImplementedException;return NotImplementedException;})();var MissingDataException=(function MissingDataExceptionClosure(){function MissingDataException(begin,end){this.begin=begin;this.end=end;this.message='Missing data ['+begin+', '+end+')';}
MissingDataException.prototype=new Error();MissingDataException.prototype.name='MissingDataException';MissingDataException.constructor=MissingDataException;return MissingDataException;})();var XRefParseException=(function XRefParseExceptionClosure(){function XRefParseException(msg){this.message=msg;}
XRefParseException.prototype=new Error();XRefParseException.prototype.name='XRefParseException';XRefParseException.constructor=XRefParseException;return XRefParseException;})();var NullCharactersRegExp=/\x00/g;function removeNullCharacters(str){if(typeof str!=='string'){warn('The argument for removeNullCharacters must be a string.');return str;}
return str.replace(NullCharactersRegExp,'');}
function bytesToString(bytes){assert(bytes!==null&&typeof bytes==='object'&&bytes.length!==undefined,'Invalid argument for bytesToString');var length=bytes.length;var MAX_ARGUMENT_COUNT=8192;if(length<MAX_ARGUMENT_COUNT){return String.fromCharCode.apply(null,bytes);}
var strBuf=[];for(var i=0;i<length;i+=MAX_ARGUMENT_COUNT){var chunkEnd=Math.min(i+MAX_ARGUMENT_COUNT,length);var chunk=bytes.subarray(i,chunkEnd);strBuf.push(String.fromCharCode.apply(null,chunk));}
return strBuf.join('');}
function stringToBytes(str){assert(typeof str==='string','Invalid argument for stringToBytes');var length=str.length;var bytes=new Uint8Array(length);for(var i=0;i<length;++i){bytes[i]=str.charCodeAt(i)&0xFF;}
return bytes;}
function arrayByteLength(arr){if(arr.length!==undefined){return arr.length;}
assert(arr.byteLength!==undefined);return arr.byteLength;}
function arraysToBytes(arr){if(arr.length===1&&(arr[0]instanceof Uint8Array)){return arr[0];}
var resultLength=0;var i,ii=arr.length;var item,itemLength;for(i=0;i<ii;i++){item=arr[i];itemLength=arrayByteLength(item);resultLength+=itemLength;}
var pos=0;var data=new Uint8Array(resultLength);for(i=0;i<ii;i++){item=arr[i];if(!(item instanceof Uint8Array)){if(typeof item==='string'){item=stringToBytes(item);}else{item=new Uint8Array(item);}}
itemLength=item.byteLength;data.set(item,pos);pos+=itemLength;}
return data;}
function string32(value){return String.fromCharCode((value>>24)&0xff,(value>>16)&0xff,(value>>8)&0xff,value&0xff);}
function log2(x){var n=1,i=0;while(x>n){n<<=1;i++;}
return i;}
function readInt8(data,start){return(data[start]<<24)>>24;}
function readUint16(data,offset){return(data[offset]<<8)|data[offset+1];}
function readUint32(data,offset){return((data[offset]<<24)|(data[offset+1]<<16)|(data[offset+2]<<8)|data[offset+3])>>>0;}
function isLittleEndian(){var buffer8=new Uint8Array(2);buffer8[0]=1;var buffer16=new Uint16Array(buffer8.buffer);return(buffer16[0]===1);}
function isEvalSupported(){try{new Function('');return true;}catch(e){return false;}}
var Uint32ArrayView=(function Uint32ArrayViewClosure(){function Uint32ArrayView(buffer,length){this.buffer=buffer;this.byteLength=buffer.length;this.length=length===undefined?(this.byteLength>>2):length;ensureUint32ArrayViewProps(this.length);}
Uint32ArrayView.prototype=Object.create(null);var uint32ArrayViewSetters=0;function createUint32ArrayProp(index){return{get:function(){var buffer=this.buffer,offset=index<<2;return(buffer[offset]|(buffer[offset+1]<<8)|(buffer[offset+2]<<16)|(buffer[offset+3]<<24))>>>0;},set:function(value){var buffer=this.buffer,offset=index<<2;buffer[offset]=value&255;buffer[offset+1]=(value>>8)&255;buffer[offset+2]=(value>>16)&255;buffer[offset+3]=(value>>>24)&255;}};}
function ensureUint32ArrayViewProps(length){while(uint32ArrayViewSetters<length){Object.defineProperty(Uint32ArrayView.prototype,uint32ArrayViewSetters,createUint32ArrayProp(uint32ArrayViewSetters));uint32ArrayViewSetters++;}}
return Uint32ArrayView;})();exports.Uint32ArrayView=Uint32ArrayView;var IDENTITY_MATRIX=[1,0,0,1,0,0];var Util=(function UtilClosure(){function Util(){}
var rgbBuf=['rgb(',0,',',0,',',0,')'];Util.makeCssRgb=function Util_makeCssRgb(r,g,b){rgbBuf[1]=r;rgbBuf[3]=g;rgbBuf[5]=b;return rgbBuf.join('');};Util.transform=function Util_transform(m1,m2){return[m1[0]*m2[0]+m1[2]*m2[1],m1[1]*m2[0]+m1[3]*m2[1],m1[0]*m2[2]+m1[2]*m2[3],m1[1]*m2[2]+m1[3]*m2[3],m1[0]*m2[4]+m1[2]*m2[5]+m1[4],m1[1]*m2[4]+m1[3]*m2[5]+m1[5]];};Util.applyTransform=function Util_applyTransform(p,m){var xt=p[0]*m[0]+p[1]*m[2]+m[4];var yt=p[0]*m[1]+p[1]*m[3]+m[5];return[xt,yt];};Util.applyInverseTransform=function Util_applyInverseTransform(p,m){var d=m[0]*m[3]-m[1]*m[2];var xt=(p[0]*m[3]-p[1]*m[2]+m[2]*m[5]-m[4]*m[3])/d;var yt=(-p[0]*m[1]+p[1]*m[0]+m[4]*m[1]-m[5]*m[0])/d;return[xt,yt];};Util.getAxialAlignedBoundingBox=function Util_getAxialAlignedBoundingBox(r,m){var p1=Util.applyTransform(r,m);var p2=Util.applyTransform(r.slice(2,4),m);var p3=Util.applyTransform([r[0],r[3]],m);var p4=Util.applyTransform([r[2],r[1]],m);return[Math.min(p1[0],p2[0],p3[0],p4[0]),Math.min(p1[1],p2[1],p3[1],p4[1]),Math.max(p1[0],p2[0],p3[0],p4[0]),Math.max(p1[1],p2[1],p3[1],p4[1])];};Util.inverseTransform=function Util_inverseTransform(m){var d=m[0]*m[3]-m[1]*m[2];return[m[3]/d,-m[1]/d,-m[2]/d,m[0]/d,(m[2]*m[5]-m[4]*m[3])/d,(m[4]*m[1]-m[5]*m[0])/d];};Util.apply3dTransform=function Util_apply3dTransform(m,v){return[m[0]*v[0]+m[1]*v[1]+m[2]*v[2],m[3]*v[0]+m[4]*v[1]+m[5]*v[2],m[6]*v[0]+m[7]*v[1]+m[8]*v[2]];};Util.singularValueDecompose2dScale=function Util_singularValueDecompose2dScale(m){var transpose=[m[0],m[2],m[1],m[3]];var a=m[0]*transpose[0]+m[1]*transpose[2];var b=m[0]*transpose[1]+m[1]*transpose[3];var c=m[2]*transpose[0]+m[3]*transpose[2];var d=m[2]*transpose[1]+m[3]*transpose[3];var first=(a+d)/2;var second=Math.sqrt((a+d)*(a+d)-4*(a*d-c*b))/2;var sx=first+second||1;var sy=first-second||1;return[Math.sqrt(sx),Math.sqrt(sy)];};Util.normalizeRect=function Util_normalizeRect(rect){var r=rect.slice(0);if(rect[0]>rect[2]){r[0]=rect[2];r[2]=rect[0];}
if(rect[1]>rect[3]){r[1]=rect[3];r[3]=rect[1];}
return r;};Util.intersect=function Util_intersect(rect1,rect2){function compare(a,b){return a-b;}
var orderedX=[rect1[0],rect1[2],rect2[0],rect2[2]].sort(compare),orderedY=[rect1[1],rect1[3],rect2[1],rect2[3]].sort(compare),result=[];rect1=Util.normalizeRect(rect1);rect2=Util.normalizeRect(rect2);if((orderedX[0]===rect1[0]&&orderedX[1]===rect2[0])||(orderedX[0]===rect2[0]&&orderedX[1]===rect1[0])){result[0]=orderedX[1];result[2]=orderedX[2];}else{return false;}
if((orderedY[0]===rect1[1]&&orderedY[1]===rect2[1])||(orderedY[0]===rect2[1]&&orderedY[1]===rect1[1])){result[1]=orderedY[1];result[3]=orderedY[2];}else{return false;}
return result;};Util.sign=function Util_sign(num){return num<0?-1:1;};var ROMAN_NUMBER_MAP=['','C','CC','CCC','CD','D','DC','DCC','DCCC','CM','','X','XX','XXX','XL','L','LX','LXX','LXXX','XC','','I','II','III','IV','V','VI','VII','VIII','IX'];Util.toRoman=function Util_toRoman(number,lowerCase){assert(isInt(number)&&number>0,'The number should be a positive integer.');var pos,romanBuf=[];while(number>=1000){number-=1000;romanBuf.push('M');}
pos=(number/100)|0;number%=100;romanBuf.push(ROMAN_NUMBER_MAP[pos]);pos=(number/10)|0;number%=10;romanBuf.push(ROMAN_NUMBER_MAP[10+pos]);romanBuf.push(ROMAN_NUMBER_MAP[20+number]);var romanStr=romanBuf.join('');return(lowerCase?romanStr.toLowerCase():romanStr);};Util.appendToArray=function Util_appendToArray(arr1,arr2){Array.prototype.push.apply(arr1,arr2);};Util.prependToArray=function Util_prependToArray(arr1,arr2){Array.prototype.unshift.apply(arr1,arr2);};Util.extendObj=function extendObj(obj1,obj2){for(var key in obj2){obj1[key]=obj2[key];}};Util.getInheritableProperty=function Util_getInheritableProperty(dict,name){while(dict&&!dict.has(name)){dict=dict.get('Parent');}
if(!dict){return null;}
return dict.get(name);};Util.inherit=function Util_inherit(sub,base,prototype){sub.prototype=Object.create(base.prototype);sub.prototype.constructor=sub;for(var prop in prototype){sub.prototype[prop]=prototype[prop];}};Util.loadScript=function Util_loadScript(src,callback){var script=document.createElement('script');var loaded=false;script.setAttribute('src',src);if(callback){script.onload=function(){if(!loaded){callback();}
loaded=true;};}
document.getElementsByTagName('head')[0].appendChild(script);};return Util;})();var PageViewport=(function PageViewportClosure(){function PageViewport(viewBox,scale,rotation,offsetX,offsetY,dontFlip){this.viewBox=viewBox;this.scale=scale;this.rotation=rotation;this.offsetX=offsetX;this.offsetY=offsetY;var centerX=(viewBox[2]+viewBox[0])/2;var centerY=(viewBox[3]+viewBox[1])/2;var rotateA,rotateB,rotateC,rotateD;rotation=rotation%360;rotation=rotation<0?rotation+360:rotation;switch(rotation){case 180:rotateA=-1;rotateB=0;rotateC=0;rotateD=1;break;case 90:rotateA=0;rotateB=1;rotateC=1;rotateD=0;break;case 270:rotateA=0;rotateB=-1;rotateC=-1;rotateD=0;break;default:rotateA=1;rotateB=0;rotateC=0;rotateD=-1;break;}
if(dontFlip){rotateC=-rotateC;rotateD=-rotateD;}
var offsetCanvasX,offsetCanvasY;var width,height;if(rotateA===0){offsetCanvasX=Math.abs(centerY-viewBox[1])*scale+offsetX;offsetCanvasY=Math.abs(centerX-viewBox[0])*scale+offsetY;width=Math.abs(viewBox[3]-viewBox[1])*scale;height=Math.abs(viewBox[2]-viewBox[0])*scale;}else{offsetCanvasX=Math.abs(centerX-viewBox[0])*scale+offsetX;offsetCanvasY=Math.abs(centerY-viewBox[1])*scale+offsetY;width=Math.abs(viewBox[2]-viewBox[0])*scale;height=Math.abs(viewBox[3]-viewBox[1])*scale;}
this.transform=[rotateA*scale,rotateB*scale,rotateC*scale,rotateD*scale,offsetCanvasX-rotateA*scale*centerX-rotateC*scale*centerY,offsetCanvasY-rotateB*scale*centerX-rotateD*scale*centerY];this.width=width;this.height=height;this.fontScale=scale;}
PageViewport.prototype={clone:function PageViewPort_clone(args){args=args||{};var scale='scale'in args?args.scale:this.scale;var rotation='rotation'in args?args.rotation:this.rotation;return new PageViewport(this.viewBox.slice(),scale,rotation,this.offsetX,this.offsetY,args.dontFlip);},convertToViewportPoint:function PageViewport_convertToViewportPoint(x,y){return Util.applyTransform([x,y],this.transform);},convertToViewportRectangle:function PageViewport_convertToViewportRectangle(rect){var tl=Util.applyTransform([rect[0],rect[1]],this.transform);var br=Util.applyTransform([rect[2],rect[3]],this.transform);return[tl[0],tl[1],br[0],br[1]];},convertToPdfPoint:function PageViewport_convertToPdfPoint(x,y){return Util.applyInverseTransform([x,y],this.transform);}};return PageViewport;})();var PDFStringTranslateTable=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2D8,0x2C7,0x2C6,0x2D9,0x2DD,0x2DB,0x2DA,0x2DC,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2022,0x2020,0x2021,0x2026,0x2014,0x2013,0x192,0x2044,0x2039,0x203A,0x2212,0x2030,0x201E,0x201C,0x201D,0x2018,0x2019,0x201A,0x2122,0xFB01,0xFB02,0x141,0x152,0x160,0x178,0x17D,0x131,0x142,0x153,0x161,0x17E,0,0x20AC];function stringToPDFString(str){var i,n=str.length,strBuf=[];if(str[0]==='\xFE'&&str[1]==='\xFF'){for(i=2;i<n;i+=2){strBuf.push(String.fromCharCode((str.charCodeAt(i)<<8)|str.charCodeAt(i+1)));}}else{for(i=0;i<n;++i){var code=PDFStringTranslateTable[str.charCodeAt(i)];strBuf.push(code?String.fromCharCode(code):str.charAt(i));}}
return strBuf.join('');}
function stringToUTF8String(str){return decodeURIComponent(escape(str));}
function utf8StringToString(str){return unescape(encodeURIComponent(str));}
function isEmptyObj(obj){for(var key in obj){return false;}
return true;}
function isBool(v){return typeof v==='boolean';}
function isInt(v){return typeof v==='number'&&((v|0)===v);}
function isNum(v){return typeof v==='number';}
function isString(v){return typeof v==='string';}
function isArray(v){return v instanceof Array;}
function isArrayBuffer(v){return typeof v==='object'&&v!==null&&v.byteLength!==undefined;}
function isSpace(ch){return(ch===0x20||ch===0x09||ch===0x0D||ch===0x0A);}
function createPromiseCapability(){var capability={};capability.promise=new Promise(function(resolve,reject){capability.resolve=resolve;capability.reject=reject;});return capability;}
(function PromiseClosure(){if(globalScope.Promise){if(typeof globalScope.Promise.all!=='function'){globalScope.Promise.all=function(iterable){var count=0,results=[],resolve,reject;var promise=new globalScope.Promise(function(resolve_,reject_){resolve=resolve_;reject=reject_;});iterable.forEach(function(p,i){count++;p.then(function(result){results[i]=result;count--;if(count===0){resolve(results);}},reject);});if(count===0){resolve(results);}
return promise;};}
if(typeof globalScope.Promise.resolve!=='function'){globalScope.Promise.resolve=function(value){return new globalScope.Promise(function(resolve){resolve(value);});};}
if(typeof globalScope.Promise.reject!=='function'){globalScope.Promise.reject=function(reason){return new globalScope.Promise(function(resolve,reject){reject(reason);});};}
if(typeof globalScope.Promise.prototype.catch!=='function'){globalScope.Promise.prototype.catch=function(onReject){return globalScope.Promise.prototype.then(undefined,onReject);};}
return;}
var STATUS_PENDING=0;var STATUS_RESOLVED=1;var STATUS_REJECTED=2;var REJECTION_TIMEOUT=500;var HandlerManager={handlers:[],running:false,unhandledRejections:[],pendingRejectionCheck:false,scheduleHandlers:function scheduleHandlers(promise){if(promise._status===STATUS_PENDING){return;}
this.handlers=this.handlers.concat(promise._handlers);promise._handlers=[];if(this.running){return;}
this.running=true;setTimeout(this.runHandlers.bind(this),0);},runHandlers:function runHandlers(){var RUN_TIMEOUT=1;var timeoutAt=Date.now()+RUN_TIMEOUT;while(this.handlers.length>0){var handler=this.handlers.shift();var nextStatus=handler.thisPromise._status;var nextValue=handler.thisPromise._value;try{if(nextStatus===STATUS_RESOLVED){if(typeof handler.onResolve==='function'){nextValue=handler.onResolve(nextValue);}}else if(typeof handler.onReject==='function'){nextValue=handler.onReject(nextValue);nextStatus=STATUS_RESOLVED;if(handler.thisPromise._unhandledRejection){this.removeUnhandeledRejection(handler.thisPromise);}}}catch(ex){nextStatus=STATUS_REJECTED;nextValue=ex;}
handler.nextPromise._updateStatus(nextStatus,nextValue);if(Date.now()>=timeoutAt){break;}}
if(this.handlers.length>0){setTimeout(this.runHandlers.bind(this),0);return;}
this.running=false;},addUnhandledRejection:function addUnhandledRejection(promise){this.unhandledRejections.push({promise:promise,time:Date.now()});this.scheduleRejectionCheck();},removeUnhandeledRejection:function removeUnhandeledRejection(promise){promise._unhandledRejection=false;for(var i=0;i<this.unhandledRejections.length;i++){if(this.unhandledRejections[i].promise===promise){this.unhandledRejections.splice(i);i--;}}},scheduleRejectionCheck:function scheduleRejectionCheck(){if(this.pendingRejectionCheck){return;}
this.pendingRejectionCheck=true;setTimeout(function rejectionCheck(){this.pendingRejectionCheck=false;var now=Date.now();for(var i=0;i<this.unhandledRejections.length;i++){if(now-this.unhandledRejections[i].time>REJECTION_TIMEOUT){var unhandled=this.unhandledRejections[i].promise._value;var msg='Unhandled rejection: '+unhandled;if(unhandled.stack){msg+='\n'+unhandled.stack;}
warn(msg);this.unhandledRejections.splice(i);i--;}}
if(this.unhandledRejections.length){this.scheduleRejectionCheck();}}.bind(this),REJECTION_TIMEOUT);}};function Promise(resolver){this._status=STATUS_PENDING;this._handlers=[];try{resolver.call(this,this._resolve.bind(this),this._reject.bind(this));}catch(e){this._reject(e);}}
Promise.all=function Promise_all(promises){var resolveAll,rejectAll;var deferred=new Promise(function(resolve,reject){resolveAll=resolve;rejectAll=reject;});var unresolved=promises.length;var results=[];if(unresolved===0){resolveAll(results);return deferred;}
function reject(reason){if(deferred._status===STATUS_REJECTED){return;}
results=[];rejectAll(reason);}
for(var i=0,ii=promises.length;i<ii;++i){var promise=promises[i];var resolve=(function(i){return function(value){if(deferred._status===STATUS_REJECTED){return;}
results[i]=value;unresolved--;if(unresolved===0){resolveAll(results);}};})(i);if(Promise.isPromise(promise)){promise.then(resolve,reject);}else{resolve(promise);}}
return deferred;};Promise.isPromise=function Promise_isPromise(value){return value&&typeof value.then==='function';};Promise.resolve=function Promise_resolve(value){return new Promise(function(resolve){resolve(value);});};Promise.reject=function Promise_reject(reason){return new Promise(function(resolve,reject){reject(reason);});};Promise.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function Promise__updateStatus(status,value){if(this._status===STATUS_RESOLVED||this._status===STATUS_REJECTED){return;}
if(status===STATUS_RESOLVED&&Promise.isPromise(value)){value.then(this._updateStatus.bind(this,STATUS_RESOLVED),this._updateStatus.bind(this,STATUS_REJECTED));return;}
this._status=status;this._value=value;if(status===STATUS_REJECTED&&this._handlers.length===0){this._unhandledRejection=true;HandlerManager.addUnhandledRejection(this);}
HandlerManager.scheduleHandlers(this);},_resolve:function Promise_resolve(value){this._updateStatus(STATUS_RESOLVED,value);},_reject:function Promise_reject(reason){this._updateStatus(STATUS_REJECTED,reason);},then:function Promise_then(onResolve,onReject){var nextPromise=new Promise(function(resolve,reject){this.resolve=resolve;this.reject=reject;});this._handlers.push({thisPromise:this,onResolve:onResolve,onReject:onReject,nextPromise:nextPromise});HandlerManager.scheduleHandlers(this);return nextPromise;},catch:function Promise_catch(onReject){return this.then(undefined,onReject);}};globalScope.Promise=Promise;})();var StatTimer=(function StatTimerClosure(){function rpad(str,pad,length){while(str.length<length){str+=pad;}
return str;}
function StatTimer(){this.started=Object.create(null);this.times=[];this.enabled=true;}
StatTimer.prototype={time:function StatTimer_time(name){if(!this.enabled){return;}
if(name in this.started){warn('Timer is already running for '+name);}
this.started[name]=Date.now();},timeEnd:function StatTimer_timeEnd(name){if(!this.enabled){return;}
if(!(name in this.started)){warn('Timer has not been started for '+name);}
this.times.push({'name':name,'start':this.started[name],'end':Date.now()});delete this.started[name];},toString:function StatTimer_toString(){var i,ii;var times=this.times;var out='';var longest=0;for(i=0,ii=times.length;i<ii;++i){var name=times[i]['name'];if(name.length>longest){longest=name.length;}}
for(i=0,ii=times.length;i<ii;++i){var span=times[i];var duration=span.end-span.start;out+=rpad(span['name'],' ',longest)+' '+duration+'ms\n';}
return out;}};return StatTimer;})();var createBlob=function createBlob(data,contentType){if(typeof Blob!=='undefined'){return new Blob([data],{type:contentType});}
var bb=new MozBlobBuilder();bb.append(data);return bb.getBlob(contentType);};var createObjectURL=(function createObjectURLClosure(){var digits='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';return function createObjectURL(data,contentType,forceDataSchema){if(!forceDataSchema&&typeof URL!=='undefined'&&URL.createObjectURL){var blob=createBlob(data,contentType);return URL.createObjectURL(blob);}
var buffer='data:'+contentType+';base64,';for(var i=0,ii=data.length;i<ii;i+=3){var b1=data[i]&0xFF;var b2=data[i+1]&0xFF;var b3=data[i+2]&0xFF;var d1=b1>>2,d2=((b1&3)<<4)|(b2>>4);var d3=i+1<ii?((b2&0xF)<<2)|(b3>>6):64;var d4=i+2<ii?(b3&0x3F):64;buffer+=digits[d1]+digits[d2]+digits[d3]+digits[d4];}
return buffer;};})();function MessageHandler(sourceName,targetName,comObj){this.sourceName=sourceName;this.targetName=targetName;this.comObj=comObj;this.callbackIndex=1;this.postMessageTransfers=true;var callbacksCapabilities=this.callbacksCapabilities=Object.create(null);var ah=this.actionHandler=Object.create(null);this._onComObjOnMessage=function messageHandlerComObjOnMessage(event){var data=event.data;if(data.targetName!==this.sourceName){return;}
if(data.isReply){var callbackId=data.callbackId;if(data.callbackId in callbacksCapabilities){var callback=callbacksCapabilities[callbackId];delete callbacksCapabilities[callbackId];if('error'in data){callback.reject(data.error);}else{callback.resolve(data.data);}}else{error('Cannot resolve callback '+callbackId);}}else if(data.action in ah){var action=ah[data.action];if(data.callbackId){var sourceName=this.sourceName;var targetName=data.sourceName;Promise.resolve().then(function(){return action[0].call(action[1],data.data);}).then(function(result){comObj.postMessage({sourceName:sourceName,targetName:targetName,isReply:true,callbackId:data.callbackId,data:result});},function(reason){if(reason instanceof Error){reason=reason+'';}
comObj.postMessage({sourceName:sourceName,targetName:targetName,isReply:true,callbackId:data.callbackId,error:reason});});}else{action[0].call(action[1],data.data);}}else{error('Unknown action from worker: '+data.action);}}.bind(this);comObj.addEventListener('message',this._onComObjOnMessage);}
MessageHandler.prototype={on:function messageHandlerOn(actionName,handler,scope){var ah=this.actionHandler;if(ah[actionName]){error('There is already an actionName called "'+actionName+'"');}
ah[actionName]=[handler,scope];},send:function messageHandlerSend(actionName,data,transfers){var message={sourceName:this.sourceName,targetName:this.targetName,action:actionName,data:data};this.postMessage(message,transfers);},sendWithPromise:function messageHandlerSendWithPromise(actionName,data,transfers){var callbackId=this.callbackIndex++;var message={sourceName:this.sourceName,targetName:this.targetName,action:actionName,data:data,callbackId:callbackId};var capability=createPromiseCapability();this.callbacksCapabilities[callbackId]=capability;try{this.postMessage(message,transfers);}catch(e){capability.reject(e);}
return capability.promise;},postMessage:function(message,transfers){if(transfers&&this.postMessageTransfers){this.comObj.postMessage(message,transfers);}else{this.comObj.postMessage(message);}},destroy:function(){this.comObj.removeEventListener('message',this._onComObjOnMessage);}};function loadJpegStream(id,imageUrl,objs){var img=new Image();img.onload=(function loadJpegStream_onloadClosure(){objs.resolve(id,img);});img.onerror=(function loadJpegStream_onerrorClosure(){objs.resolve(id,null);warn('Error during JPEG image loading');});img.src=imageUrl;}
(function checkURLConstructor(scope){var hasWorkingUrl=false;try{if(typeof URL==='function'&&typeof URL.prototype==='object'&&('origin'in URL.prototype)){var u=new URL('b','http://a');u.pathname='c%20d';hasWorkingUrl=u.href==='http://a/c%20d';}}catch(e){}
if(hasWorkingUrl)
return;var relative=Object.create(null);relative['ftp']=21;relative['file']=0;relative['gopher']=70;relative['http']=80;relative['https']=443;relative['ws']=80;relative['wss']=443;var relativePathDotMapping=Object.create(null);relativePathDotMapping['%2e']='.';relativePathDotMapping['.%2e']='..';relativePathDotMapping['%2e.']='..';relativePathDotMapping['%2e%2e']='..';function isRelativeScheme(scheme){return relative[scheme]!==undefined;}
function invalid(){clear.call(this);this._isInvalid=true;}
function IDNAToASCII(h){if(''==h){invalid.call(this)}
return h.toLowerCase()}
function percentEscape(c){var unicode=c.charCodeAt(0);if(unicode>0x20&&unicode<0x7F&&[0x22,0x23,0x3C,0x3E,0x3F,0x60].indexOf(unicode)==-1){return c;}
return encodeURIComponent(c);}
function percentEscapeQuery(c){var unicode=c.charCodeAt(0);if(unicode>0x20&&unicode<0x7F&&[0x22,0x23,0x3C,0x3E,0x60].indexOf(unicode)==-1){return c;}
return encodeURIComponent(c);}
var EOF=undefined,ALPHA=/[a-zA-Z]/,ALPHANUMERIC=/[a-zA-Z0-9\+\-\.]/;function parse(input,stateOverride,base){function err(message){errors.push(message)}
var state=stateOverride||'scheme start',cursor=0,buffer='',seenAt=false,seenBracket=false,errors=[];loop:while((input[cursor-1]!=EOF||cursor==0)&&!this._isInvalid){var c=input[cursor];switch(state){case'scheme start':if(c&&ALPHA.test(c)){buffer+=c.toLowerCase();state='scheme';}else if(!stateOverride){buffer='';state='no scheme';continue;}else{err('Invalid scheme.');break loop;}
break;case'scheme':if(c&&ALPHANUMERIC.test(c)){buffer+=c.toLowerCase();}else if(':'==c){this._scheme=buffer;buffer='';if(stateOverride){break loop;}
if(isRelativeScheme(this._scheme)){this._isRelative=true;}
if('file'==this._scheme){state='relative';}else if(this._isRelative&&base&&base._scheme==this._scheme){state='relative or authority';}else if(this._isRelative){state='authority first slash';}else{state='scheme data';}}else if(!stateOverride){buffer='';cursor=0;state='no scheme';continue;}else if(EOF==c){break loop;}else{err('Code point not allowed in scheme: '+c);break loop;}
break;case'scheme data':if('?'==c){this._query='?';state='query';}else if('#'==c){this._fragment='#';state='fragment';}else{if(EOF!=c&&'\t'!=c&&'\n'!=c&&'\r'!=c){this._schemeData+=percentEscape(c);}}
break;case'no scheme':if(!base||!(isRelativeScheme(base._scheme))){err('Missing scheme.');invalid.call(this);}else{state='relative';continue;}
break;case'relative or authority':if('/'==c&&'/'==input[cursor+1]){state='authority ignore slashes';}else{err('Expected /, got: '+c);state='relative';continue}
break;case'relative':this._isRelative=true;if('file'!=this._scheme)
this._scheme=base._scheme;if(EOF==c){this._host=base._host;this._port=base._port;this._path=base._path.slice();this._query=base._query;this._username=base._username;this._password=base._password;break loop;}else if('/'==c||'\\'==c){if('\\'==c)
err('\\ is an invalid code point.');state='relative slash';}else if('?'==c){this._host=base._host;this._port=base._port;this._path=base._path.slice();this._query='?';this._username=base._username;this._password=base._password;state='query';}else if('#'==c){this._host=base._host;this._port=base._port;this._path=base._path.slice();this._query=base._query;this._fragment='#';this._username=base._username;this._password=base._password;state='fragment';}else{var nextC=input[cursor+1];var nextNextC=input[cursor+2];if('file'!=this._scheme||!ALPHA.test(c)||(nextC!=':'&&nextC!='|')||(EOF!=nextNextC&&'/'!=nextNextC&&'\\'!=nextNextC&&'?'!=nextNextC&&'#'!=nextNextC)){this._host=base._host;this._port=base._port;this._username=base._username;this._password=base._password;this._path=base._path.slice();this._path.pop();}
state='relative path';continue;}
break;case'relative slash':if('/'==c||'\\'==c){if('\\'==c){err('\\ is an invalid code point.');}
if('file'==this._scheme){state='file host';}else{state='authority ignore slashes';}}else{if('file'!=this._scheme){this._host=base._host;this._port=base._port;this._username=base._username;this._password=base._password;}
state='relative path';continue;}
break;case'authority first slash':if('/'==c){state='authority second slash';}else{err("Expected '/', got: "+c);state='authority ignore slashes';continue;}
break;case'authority second slash':state='authority ignore slashes';if('/'!=c){err("Expected '/', got: "+c);continue;}
break;case'authority ignore slashes':if('/'!=c&&'\\'!=c){state='authority';continue;}else{err('Expected authority, got: '+c);}
break;case'authority':if('@'==c){if(seenAt){err('@ already seen.');buffer+='%40';}
seenAt=true;for(var i=0;i<buffer.length;i++){var cp=buffer[i];if('\t'==cp||'\n'==cp||'\r'==cp){err('Invalid whitespace in authority.');continue;}
if(':'==cp&&null===this._password){this._password='';continue;}
var tempC=percentEscape(cp);(null!==this._password)?this._password+=tempC:this._username+=tempC;}
buffer='';}else if(EOF==c||'/'==c||'\\'==c||'?'==c||'#'==c){cursor-=buffer.length;buffer='';state='host';continue;}else{buffer+=c;}
break;case'file host':if(EOF==c||'/'==c||'\\'==c||'?'==c||'#'==c){if(buffer.length==2&&ALPHA.test(buffer[0])&&(buffer[1]==':'||buffer[1]=='|')){state='relative path';}else if(buffer.length==0){state='relative path start';}else{this._host=IDNAToASCII.call(this,buffer);buffer='';state='relative path start';}
continue;}else if('\t'==c||'\n'==c||'\r'==c){err('Invalid whitespace in file host.');}else{buffer+=c;}
break;case'host':case'hostname':if(':'==c&&!seenBracket){this._host=IDNAToASCII.call(this,buffer);buffer='';state='port';if('hostname'==stateOverride){break loop;}}else if(EOF==c||'/'==c||'\\'==c||'?'==c||'#'==c){this._host=IDNAToASCII.call(this,buffer);buffer='';state='relative path start';if(stateOverride){break loop;}
continue;}else if('\t'!=c&&'\n'!=c&&'\r'!=c){if('['==c){seenBracket=true;}else if(']'==c){seenBracket=false;}
buffer+=c;}else{err('Invalid code point in host/hostname: '+c);}
break;case'port':if(/[0-9]/.test(c)){buffer+=c;}else if(EOF==c||'/'==c||'\\'==c||'?'==c||'#'==c||stateOverride){if(''!=buffer){var temp=parseInt(buffer,10);if(temp!=relative[this._scheme]){this._port=temp+'';}
buffer='';}
if(stateOverride){break loop;}
state='relative path start';continue;}else if('\t'==c||'\n'==c||'\r'==c){err('Invalid code point in port: '+c);}else{invalid.call(this);}
break;case'relative path start':if('\\'==c)
err("'\\' not allowed in path.");state='relative path';if('/'!=c&&'\\'!=c){continue;}
break;case'relative path':if(EOF==c||'/'==c||'\\'==c||(!stateOverride&&('?'==c||'#'==c))){if('\\'==c){err('\\ not allowed in relative path.');}
var tmp;if(tmp=relativePathDotMapping[buffer.toLowerCase()]){buffer=tmp;}
if('..'==buffer){this._path.pop();if('/'!=c&&'\\'!=c){this._path.push('');}}else if('.'==buffer&&'/'!=c&&'\\'!=c){this._path.push('');}else if('.'!=buffer){if('file'==this._scheme&&this._path.length==0&&buffer.length==2&&ALPHA.test(buffer[0])&&buffer[1]=='|'){buffer=buffer[0]+':';}
this._path.push(buffer);}
buffer='';if('?'==c){this._query='?';state='query';}else if('#'==c){this._fragment='#';state='fragment';}}else if('\t'!=c&&'\n'!=c&&'\r'!=c){buffer+=percentEscape(c);}
break;case'query':if(!stateOverride&&'#'==c){this._fragment='#';state='fragment';}else if(EOF!=c&&'\t'!=c&&'\n'!=c&&'\r'!=c){this._query+=percentEscapeQuery(c);}
break;case'fragment':if(EOF!=c&&'\t'!=c&&'\n'!=c&&'\r'!=c){this._fragment+=c;}
break;}
cursor++;}}
function clear(){this._scheme='';this._schemeData='';this._username='';this._password=null;this._host='';this._port='';this._path=[];this._query='';this._fragment='';this._isInvalid=false;this._isRelative=false;}
function jURL(url,base){if(base!==undefined&&!(base instanceof jURL))
base=new jURL(String(base));this._url=url;clear.call(this);var input=url.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,'');parse.call(this,input,null,base);}
jURL.prototype={toString:function(){return this.href;},get href(){if(this._isInvalid)
return this._url;var authority='';if(''!=this._username||null!=this._password){authority=this._username+
(null!=this._password?':'+this._password:'')+'@';}
return this.protocol+
(this._isRelative?'//'+authority+this.host:'')+
this.pathname+this._query+this._fragment;},set href(href){clear.call(this);parse.call(this,href);},get protocol(){return this._scheme+':';},set protocol(protocol){if(this._isInvalid)
return;parse.call(this,protocol+':','scheme start');},get host(){return this._isInvalid?'':this._port?this._host+':'+this._port:this._host;},set host(host){if(this._isInvalid||!this._isRelative)
return;parse.call(this,host,'host');},get hostname(){return this._host;},set hostname(hostname){if(this._isInvalid||!this._isRelative)
return;parse.call(this,hostname,'hostname');},get port(){return this._port;},set port(port){if(this._isInvalid||!this._isRelative)
return;parse.call(this,port,'port');},get pathname(){return this._isInvalid?'':this._isRelative?'/'+this._path.join('/'):this._schemeData;},set pathname(pathname){if(this._isInvalid||!this._isRelative)
return;this._path=[];parse.call(this,pathname,'relative path start');},get search(){return this._isInvalid||!this._query||'?'==this._query?'':this._query;},set search(search){if(this._isInvalid||!this._isRelative)
return;this._query='?';if('?'==search[0])
search=search.slice(1);parse.call(this,search,'query');},get hash(){return this._isInvalid||!this._fragment||'#'==this._fragment?'':this._fragment;},set hash(hash){if(this._isInvalid)
return;this._fragment='#';if('#'==hash[0])
hash=hash.slice(1);parse.call(this,hash,'fragment');},get origin(){var host;if(this._isInvalid||!this._scheme){return'';}
switch(this._scheme){case'data':case'file':case'javascript':case'mailto':return'null';}
host=this.host;if(!host){return'';}
return this._scheme+'://'+host;}};var OriginalURL=scope.URL;if(OriginalURL){jURL.createObjectURL=function(blob){return OriginalURL.createObjectURL.apply(OriginalURL,arguments);};jURL.revokeObjectURL=function(url){OriginalURL.revokeObjectURL(url);};}
scope.URL=jURL;})(globalScope);exports.FONT_IDENTITY_MATRIX=FONT_IDENTITY_MATRIX;exports.IDENTITY_MATRIX=IDENTITY_MATRIX;exports.OPS=OPS;exports.VERBOSITY_LEVELS=VERBOSITY_LEVELS;exports.UNSUPPORTED_FEATURES=UNSUPPORTED_FEATURES;exports.AnnotationBorderStyleType=AnnotationBorderStyleType;exports.AnnotationFlag=AnnotationFlag;exports.AnnotationType=AnnotationType;exports.FontType=FontType;exports.ImageKind=ImageKind;exports.InvalidPDFException=InvalidPDFException;exports.MessageHandler=MessageHandler;exports.MissingDataException=MissingDataException;exports.MissingPDFException=MissingPDFException;exports.NotImplementedException=NotImplementedException;exports.PageViewport=PageViewport;exports.PasswordException=PasswordException;exports.PasswordResponses=PasswordResponses;exports.StatTimer=StatTimer;exports.StreamType=StreamType;exports.TextRenderingMode=TextRenderingMode;exports.UnexpectedResponseException=UnexpectedResponseException;exports.UnknownErrorException=UnknownErrorException;exports.Util=Util;exports.XRefParseException=XRefParseException;exports.arrayByteLength=arrayByteLength;exports.arraysToBytes=arraysToBytes;exports.assert=assert;exports.bytesToString=bytesToString;exports.createBlob=createBlob;exports.createPromiseCapability=createPromiseCapability;exports.createObjectURL=createObjectURL;exports.deprecated=deprecated;exports.error=error;exports.getLookupTableFactory=getLookupTableFactory;exports.getVerbosityLevel=getVerbosityLevel;exports.globalScope=globalScope;exports.info=info;exports.isArray=isArray;exports.isArrayBuffer=isArrayBuffer;exports.isBool=isBool;exports.isEmptyObj=isEmptyObj;exports.isInt=isInt;exports.isNum=isNum;exports.isString=isString;exports.isSpace=isSpace;exports.isSameOrigin=isSameOrigin;exports.isValidUrl=isValidUrl;exports.isLittleEndian=isLittleEndian;exports.isEvalSupported=isEvalSupported;exports.loadJpegStream=loadJpegStream;exports.log2=log2;exports.readInt8=readInt8;exports.readUint16=readUint16;exports.readUint32=readUint32;exports.removeNullCharacters=removeNullCharacters;exports.setVerbosityLevel=setVerbosityLevel;exports.shadow=shadow;exports.string32=string32;exports.stringToBytes=stringToBytes;exports.stringToPDFString=stringToPDFString;exports.stringToUTF8String=stringToUTF8String;exports.utf8StringToString=utf8StringToString;exports.warn=warn;}));(function(root,factory){{factory((root.pdfjsDisplayDOMUtils={}),root.pdfjsSharedUtil);}}(this,function(exports,sharedUtil){var removeNullCharacters=sharedUtil.removeNullCharacters;var warn=sharedUtil.warn;var CustomStyle=(function CustomStyleClosure(){var prefixes=['ms','Moz','Webkit','O'];var _cache=Object.create(null);function CustomStyle(){}
CustomStyle.getProp=function get(propName,element){if(arguments.length===1&&typeof _cache[propName]==='string'){return _cache[propName];}
element=element||document.documentElement;var style=element.style,prefixed,uPropName;if(typeof style[propName]==='string'){return(_cache[propName]=propName);}
uPropName=propName.charAt(0).toUpperCase()+propName.slice(1);for(var i=0,l=prefixes.length;i<l;i++){prefixed=prefixes[i]+uPropName;if(typeof style[prefixed]==='string'){return(_cache[propName]=prefixed);}}
return(_cache[propName]='undefined');};CustomStyle.setProp=function set(propName,element,str){var prop=this.getProp(propName);if(prop!=='undefined'){element.style[prop]=str;}};return CustomStyle;})();function hasCanvasTypedArrays(){var canvas=document.createElement('canvas');canvas.width=canvas.height=1;var ctx=canvas.getContext('2d');var imageData=ctx.createImageData(1,1);return(typeof imageData.data.buffer!=='undefined');}
var LinkTarget={NONE:0,SELF:1,BLANK:2,PARENT:3,TOP:4,};var LinkTargetStringMap=['','_self','_blank','_parent','_top'];function addLinkAttributes(link,params){var url=params&&params.url;link.href=link.title=(url?removeNullCharacters(url):'');if(url){var target=params.target;if(typeof target==='undefined'){target=getDefaultSetting('externalLinkTarget');}
link.target=LinkTargetStringMap[target];var rel=params.rel;if(typeof rel==='undefined'){rel=getDefaultSetting('externalLinkRel');}
link.rel=rel;}}
function getFilenameFromUrl(url){var anchor=url.indexOf('#');var query=url.indexOf('?');var end=Math.min(anchor>0?anchor:url.length,query>0?query:url.length);return url.substring(url.lastIndexOf('/',end)+1,end);}
function getDefaultSetting(id){var globalSettings=sharedUtil.globalScope.PDFJS;switch(id){case'pdfBug':return globalSettings?globalSettings.pdfBug:false;case'disableAutoFetch':return globalSettings?globalSettings.disableAutoFetch:false;case'disableStream':return globalSettings?globalSettings.disableStream:false;case'disableRange':return globalSettings?globalSettings.disableRange:false;case'disableFontFace':return globalSettings?globalSettings.disableFontFace:false;case'disableCreateObjectURL':return globalSettings?globalSettings.disableCreateObjectURL:false;case'disableWebGL':return globalSettings?globalSettings.disableWebGL:true;case'cMapUrl':return globalSettings?globalSettings.cMapUrl:null;case'cMapPacked':return globalSettings?globalSettings.cMapPacked:false;case'postMessageTransfers':return globalSettings?globalSettings.postMessageTransfers:true;case'workerSrc':return globalSettings?globalSettings.workerSrc:null;case'disableWorker':return globalSettings?globalSettings.disableWorker:false;case'maxImageSize':return globalSettings?globalSettings.maxImageSize:-1;case'imageResourcesPath':return globalSettings?globalSettings.imageResourcesPath:'';case'isEvalSupported':return globalSettings?globalSettings.isEvalSupported:true;case'externalLinkTarget':if(!globalSettings){return LinkTarget.NONE;}
switch(globalSettings.externalLinkTarget){case LinkTarget.NONE:case LinkTarget.SELF:case LinkTarget.BLANK:case LinkTarget.PARENT:case LinkTarget.TOP:return globalSettings.externalLinkTarget;}
warn('PDFJS.externalLinkTarget is invalid: '+
globalSettings.externalLinkTarget);globalSettings.externalLinkTarget=LinkTarget.NONE;return LinkTarget.NONE;case'externalLinkRel':return globalSettings?globalSettings.externalLinkRel:'noreferrer';case'enableStats':return!!(globalSettings&&globalSettings.enableStats);default:throw new Error('Unknown default setting: '+id);}}
function isExternalLinkTargetSet(){var externalLinkTarget=getDefaultSetting('externalLinkTarget');switch(externalLinkTarget){case LinkTarget.NONE:return false;case LinkTarget.SELF:case LinkTarget.BLANK:case LinkTarget.PARENT:case LinkTarget.TOP:return true;}}
exports.CustomStyle=CustomStyle;exports.addLinkAttributes=addLinkAttributes;exports.isExternalLinkTargetSet=isExternalLinkTargetSet;exports.getFilenameFromUrl=getFilenameFromUrl;exports.LinkTarget=LinkTarget;exports.hasCanvasTypedArrays=hasCanvasTypedArrays;exports.getDefaultSetting=getDefaultSetting;}));(function(root,factory){{factory((root.pdfjsDisplayFontLoader={}),root.pdfjsSharedUtil);}}(this,function(exports,sharedUtil){var assert=sharedUtil.assert;var bytesToString=sharedUtil.bytesToString;var string32=sharedUtil.string32;var shadow=sharedUtil.shadow;var warn=sharedUtil.warn;function FontLoader(docId){this.docId=docId;this.styleElement=null;this.nativeFontFaces=[];this.loadTestFontId=0;this.loadingContext={requests:[],nextRequestId:0};}
FontLoader.prototype={insertRule:function fontLoaderInsertRule(rule){var styleElement=this.styleElement;if(!styleElement){styleElement=this.styleElement=document.createElement('style');styleElement.id='PDFJS_FONT_STYLE_TAG_'+this.docId;document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);}
var styleSheet=styleElement.sheet;styleSheet.insertRule(rule,styleSheet.cssRules.length);},clear:function fontLoaderClear(){var styleElement=this.styleElement;if(styleElement){styleElement.parentNode.removeChild(styleElement);styleElement=this.styleElement=null;}
this.nativeFontFaces.forEach(function(nativeFontFace){document.fonts.delete(nativeFontFace);});this.nativeFontFaces.length=0;},get loadTestFont(){return shadow(this,'loadTestFont',atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQ'+'AABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwA'+'AAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbm'+'FtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAA'+'AADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6A'+'ABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAA'+'MQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAA'+'AAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAA'+'AAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQ'+'AAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMA'+'AQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAA'+'EAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAA'+'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAA'+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'+'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAA'+'AAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgc'+'A/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWF'+'hYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQA'+'AAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAg'+'ABAAAAAAAAAAAD6AAAAAAAAA=='));},addNativeFontFace:function fontLoader_addNativeFontFace(nativeFontFace){this.nativeFontFaces.push(nativeFontFace);document.fonts.add(nativeFontFace);},bind:function fontLoaderBind(fonts,callback){var rules=[];var fontsToLoad=[];var fontLoadPromises=[];var getNativeFontPromise=function(nativeFontFace){return nativeFontFace.loaded.catch(function(e){warn('Failed to load font "'+nativeFontFace.family+'": '+e);});};for(var i=0,ii=fonts.length;i<ii;i++){var font=fonts[i];if(font.attached||font.loading===false){continue;}
font.attached=true;if(FontLoader.isFontLoadingAPISupported){var nativeFontFace=font.createNativeFontFace();if(nativeFontFace){this.addNativeFontFace(nativeFontFace);fontLoadPromises.push(getNativeFontPromise(nativeFontFace));}}else{var rule=font.createFontFaceRule();if(rule){this.insertRule(rule);rules.push(rule);fontsToLoad.push(font);}}}
var request=this.queueLoadingCallback(callback);if(FontLoader.isFontLoadingAPISupported){Promise.all(fontLoadPromises).then(function(){request.complete();});}else if(rules.length>0&&!FontLoader.isSyncFontLoadingSupported){this.prepareFontLoadEvent(rules,fontsToLoad,request);}else{request.complete();}},queueLoadingCallback:function FontLoader_queueLoadingCallback(callback){function LoadLoader_completeRequest(){assert(!request.end,'completeRequest() cannot be called twice');request.end=Date.now();while(context.requests.length>0&&context.requests[0].end){var otherRequest=context.requests.shift();setTimeout(otherRequest.callback,0);}}
var context=this.loadingContext;var requestId='pdfjs-font-loading-'+(context.nextRequestId++);var request={id:requestId,complete:LoadLoader_completeRequest,callback:callback,started:Date.now()};context.requests.push(request);return request;},prepareFontLoadEvent:function fontLoaderPrepareFontLoadEvent(rules,fonts,request){function int32(data,offset){return(data.charCodeAt(offset)<<24)|(data.charCodeAt(offset+1)<<16)|(data.charCodeAt(offset+2)<<8)|(data.charCodeAt(offset+3)&0xff);}
function spliceString(s,offset,remove,insert){var chunk1=s.substr(0,offset);var chunk2=s.substr(offset+remove);return chunk1+insert+chunk2;}
var i,ii;var canvas=document.createElement('canvas');canvas.width=1;canvas.height=1;var ctx=canvas.getContext('2d');var called=0;function isFontReady(name,callback){called++;if(called>30){warn('Load test font never loaded.');callback();return;}
ctx.font='30px '+name;ctx.fillText('.',0,20);var imageData=ctx.getImageData(0,0,1,1);if(imageData.data[3]>0){callback();return;}
setTimeout(isFontReady.bind(null,name,callback));}
var loadTestFontId='lt'+Date.now()+this.loadTestFontId++;var data=this.loadTestFont;var COMMENT_OFFSET=976;data=spliceString(data,COMMENT_OFFSET,loadTestFontId.length,loadTestFontId);var CFF_CHECKSUM_OFFSET=16;var XXXX_VALUE=0x58585858;var checksum=int32(data,CFF_CHECKSUM_OFFSET);for(i=0,ii=loadTestFontId.length-3;i<ii;i+=4){checksum=(checksum-XXXX_VALUE+int32(loadTestFontId,i))|0;}
if(i<loadTestFontId.length){checksum=(checksum-XXXX_VALUE+
int32(loadTestFontId+'XXX',i))|0;}
data=spliceString(data,CFF_CHECKSUM_OFFSET,4,string32(checksum));var url='url(data:font/opentype;base64,'+btoa(data)+');';var rule='@font-face { font-family:"'+loadTestFontId+'";src:'+
url+'}';this.insertRule(rule);var names=[];for(i=0,ii=fonts.length;i<ii;i++){names.push(fonts[i].loadedName);}
names.push(loadTestFontId);var div=document.createElement('div');div.setAttribute('style','visibility: hidden;'+'width: 10px; height: 10px;'+'position: absolute; top: 0px; left: 0px;');for(i=0,ii=names.length;i<ii;++i){var span=document.createElement('span');span.textContent='Hi';span.style.fontFamily=names[i];div.appendChild(span);}
document.body.appendChild(div);isFontReady(loadTestFontId,function(){document.body.removeChild(div);request.complete();});}};FontLoader.isFontLoadingAPISupported=typeof document!=='undefined'&&!!document.fonts;Object.defineProperty(FontLoader,'isSyncFontLoadingSupported',{get:function(){if(typeof navigator==='undefined'){return shadow(FontLoader,'isSyncFontLoadingSupported',true);}
var supported=false;var m=/Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);if(m&&m[1]>=14){supported=true;}
return shadow(FontLoader,'isSyncFontLoadingSupported',supported);},enumerable:true,configurable:true});var IsEvalSupportedCached={get value(){return shadow(this,'value',sharedUtil.isEvalSupported());}};var FontFaceObject=(function FontFaceObjectClosure(){function FontFaceObject(translatedData,options){this.compiledGlyphs=Object.create(null);for(var i in translatedData){this[i]=translatedData[i];}
this.options=options;}
FontFaceObject.prototype={createNativeFontFace:function FontFaceObject_createNativeFontFace(){if(!this.data){return null;}
if(this.options.disableFontFace){this.disableFontFace=true;return null;}
var nativeFontFace=new FontFace(this.loadedName,this.data,{});if(this.options.fontRegistry){this.options.fontRegistry.registerFont(this);}
return nativeFontFace;},createFontFaceRule:function FontFaceObject_createFontFaceRule(){if(!this.data){return null;}
if(this.options.disableFontFace){this.disableFontFace=true;return null;}
var data=bytesToString(new Uint8Array(this.data));var fontName=this.loadedName;var url=('url(data:'+this.mimetype+';base64,'+btoa(data)+');');var rule='@font-face { font-family:"'+fontName+'";src:'+url+'}';if(this.options.fontRegistry){this.options.fontRegistry.registerFont(this,url);}
return rule;},getPathGenerator:function FontFaceObject_getPathGenerator(objs,character){if(!(character in this.compiledGlyphs)){var cmds=objs.get(this.loadedName+'_path_'+character);var current,i,len;if(this.options.isEvalSupported&&IsEvalSupportedCached.value){var args,js='';for(i=0,len=cmds.length;i<len;i++){current=cmds[i];if(current.args!==undefined){args=current.args.join(',');}else{args='';}
js+='c.'+current.cmd+'('+args+');\n';}
this.compiledGlyphs[character]=new Function('c','size',js);}else{this.compiledGlyphs[character]=function(c,size){for(i=0,len=cmds.length;i<len;i++){current=cmds[i];if(current.cmd==='scale'){current.args=[size,-size];}
c[current.cmd].apply(c,current.args);}};}}
return this.compiledGlyphs[character];}};return FontFaceObject;})();exports.FontFaceObject=FontFaceObject;exports.FontLoader=FontLoader;}));(function(root,factory){{factory((root.pdfjsDisplayMetadata={}),root.pdfjsSharedUtil);}}(this,function(exports,sharedUtil){var error=sharedUtil.error;function fixMetadata(meta){return meta.replace(/>\\376\\377([^<]+)/g,function(all,codes){var bytes=codes.replace(/\\([0-3])([0-7])([0-7])/g,function(code,d1,d2,d3){return String.fromCharCode(d1*64+d2*8+d3*1);});var chars='';for(var i=0;i<bytes.length;i+=2){var code=bytes.charCodeAt(i)*256+bytes.charCodeAt(i+1);chars+=code>=32&&code<127&&code!==60&&code!==62&&code!==38&&false?String.fromCharCode(code):'&#x'+(0x10000+code).toString(16).substring(1)+';';}
return'>'+chars;});}
function Metadata(meta){if(typeof meta==='string'){meta=fixMetadata(meta);var parser=new DOMParser();meta=parser.parseFromString(meta,'application/xml');}else if(!(meta instanceof Document)){error('Metadata: Invalid metadata object');}
this.metaDocument=meta;this.metadata=Object.create(null);this.parse();}
Metadata.prototype={parse:function Metadata_parse(){var doc=this.metaDocument;var rdf=doc.documentElement;if(rdf.nodeName.toLowerCase()!=='rdf:rdf'){rdf=rdf.firstChild;while(rdf&&rdf.nodeName.toLowerCase()!=='rdf:rdf'){rdf=rdf.nextSibling;}}
var nodeName=(rdf)?rdf.nodeName.toLowerCase():null;if(!rdf||nodeName!=='rdf:rdf'||!rdf.hasChildNodes()){return;}
var children=rdf.childNodes,desc,entry,name,i,ii,length,iLength;for(i=0,length=children.length;i<length;i++){desc=children[i];if(desc.nodeName.toLowerCase()!=='rdf:description'){continue;}
for(ii=0,iLength=desc.childNodes.length;ii<iLength;ii++){if(desc.childNodes[ii].nodeName.toLowerCase()!=='#text'){entry=desc.childNodes[ii];name=entry.nodeName.toLowerCase();this.metadata[name]=entry.textContent.trim();}}}},get:function Metadata_get(name){return this.metadata[name]||null;},has:function Metadata_has(name){return typeof this.metadata[name]!=='undefined';}};exports.Metadata=Metadata;}));(function(root,factory){{factory((root.pdfjsDisplaySVG={}),root.pdfjsSharedUtil);}}(this,function(exports,sharedUtil){var FONT_IDENTITY_MATRIX=sharedUtil.FONT_IDENTITY_MATRIX;var IDENTITY_MATRIX=sharedUtil.IDENTITY_MATRIX;var ImageKind=sharedUtil.ImageKind;var OPS=sharedUtil.OPS;var Util=sharedUtil.Util;var isNum=sharedUtil.isNum;var isArray=sharedUtil.isArray;var warn=sharedUtil.warn;var createObjectURL=sharedUtil.createObjectURL;var SVG_DEFAULTS={fontStyle:'normal',fontWeight:'normal',fillColor:'#000000'};var convertImgDataToPng=(function convertImgDataToPngClosure(){var PNG_HEADER=new Uint8Array([0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a]);var CHUNK_WRAPPER_SIZE=12;var crcTable=new Int32Array(256);for(var i=0;i<256;i++){var c=i;for(var h=0;h<8;h++){if(c&1){c=0xedB88320^((c>>1)&0x7fffffff);}else{c=(c>>1)&0x7fffffff;}}
crcTable[i]=c;}
function crc32(data,start,end){var crc=-1;for(var i=start;i<end;i++){var a=(crc^data[i])&0xff;var b=crcTable[a];crc=(crc>>>8)^b;}
return crc^-1;}
function writePngChunk(type,body,data,offset){var p=offset;var len=body.length;data[p]=len>>24&0xff;data[p+1]=len>>16&0xff;data[p+2]=len>>8&0xff;data[p+3]=len&0xff;p+=4;data[p]=type.charCodeAt(0)&0xff;data[p+1]=type.charCodeAt(1)&0xff;data[p+2]=type.charCodeAt(2)&0xff;data[p+3]=type.charCodeAt(3)&0xff;p+=4;data.set(body,p);p+=body.length;var crc=crc32(data,offset+4,p);data[p]=crc>>24&0xff;data[p+1]=crc>>16&0xff;data[p+2]=crc>>8&0xff;data[p+3]=crc&0xff;}
function adler32(data,start,end){var a=1;var b=0;for(var i=start;i<end;++i){a=(a+(data[i]&0xff))%65521;b=(b+a)%65521;}
return(b<<16)|a;}
function encode(imgData,kind,forceDataSchema){var width=imgData.width;var height=imgData.height;var bitDepth,colorType,lineSize;var bytes=imgData.data;switch(kind){case ImageKind.GRAYSCALE_1BPP:colorType=0;bitDepth=1;lineSize=(width+7)>>3;break;case ImageKind.RGB_24BPP:colorType=2;bitDepth=8;lineSize=width*3;break;case ImageKind.RGBA_32BPP:colorType=6;bitDepth=8;lineSize=width*4;break;default:throw new Error('invalid format');}
var literals=new Uint8Array((1+lineSize)*height);var offsetLiterals=0,offsetBytes=0;var y,i;for(y=0;y<height;++y){literals[offsetLiterals++]=0;literals.set(bytes.subarray(offsetBytes,offsetBytes+lineSize),offsetLiterals);offsetBytes+=lineSize;offsetLiterals+=lineSize;}
if(kind===ImageKind.GRAYSCALE_1BPP){offsetLiterals=0;for(y=0;y<height;y++){offsetLiterals++;for(i=0;i<lineSize;i++){literals[offsetLiterals++]^=0xFF;}}}
var ihdr=new Uint8Array([width>>24&0xff,width>>16&0xff,width>>8&0xff,width&0xff,height>>24&0xff,height>>16&0xff,height>>8&0xff,height&0xff,bitDepth,colorType,0x00,0x00,0x00]);var len=literals.length;var maxBlockLength=0xFFFF;var deflateBlocks=Math.ceil(len/maxBlockLength);var idat=new Uint8Array(2+len+deflateBlocks*5+4);var pi=0;idat[pi++]=0x78;idat[pi++]=0x9c;var pos=0;while(len>maxBlockLength){idat[pi++]=0x00;idat[pi++]=0xff;idat[pi++]=0xff;idat[pi++]=0x00;idat[pi++]=0x00;idat.set(literals.subarray(pos,pos+maxBlockLength),pi);pi+=maxBlockLength;pos+=maxBlockLength;len-=maxBlockLength;}
idat[pi++]=0x01;idat[pi++]=len&0xff;idat[pi++]=len>>8&0xff;idat[pi++]=(~len&0xffff)&0xff;idat[pi++]=(~len&0xffff)>>8&0xff;idat.set(literals.subarray(pos),pi);pi+=literals.length-pos;var adler=adler32(literals,0,literals.length);idat[pi++]=adler>>24&0xff;idat[pi++]=adler>>16&0xff;idat[pi++]=adler>>8&0xff;idat[pi++]=adler&0xff;var pngLength=PNG_HEADER.length+(CHUNK_WRAPPER_SIZE*3)+
ihdr.length+idat.length;var data=new Uint8Array(pngLength);var offset=0;data.set(PNG_HEADER,offset);offset+=PNG_HEADER.length;writePngChunk('IHDR',ihdr,data,offset);offset+=CHUNK_WRAPPER_SIZE+ihdr.length;writePngChunk('IDATA',idat,data,offset);offset+=CHUNK_WRAPPER_SIZE+idat.length;writePngChunk('IEND',new Uint8Array(0),data,offset);return createObjectURL(data,'image/png',forceDataSchema);}
return function convertImgDataToPng(imgData,forceDataSchema){var kind=(imgData.kind===undefined?ImageKind.GRAYSCALE_1BPP:imgData.kind);return encode(imgData,kind,forceDataSchema);};})();var SVGExtraState=(function SVGExtraStateClosure(){function SVGExtraState(){this.fontSizeScale=1;this.fontWeight=SVG_DEFAULTS.fontWeight;this.fontSize=0;this.textMatrix=IDENTITY_MATRIX;this.fontMatrix=FONT_IDENTITY_MATRIX;this.leading=0;this.x=0;this.y=0;this.lineX=0;this.lineY=0;this.charSpacing=0;this.wordSpacing=0;this.textHScale=1;this.textRise=0;this.fillColor=SVG_DEFAULTS.fillColor;this.strokeColor='#000000';this.fillAlpha=1;this.strokeAlpha=1;this.lineWidth=1;this.lineJoin='';this.lineCap='';this.miterLimit=0;this.dashArray=[];this.dashPhase=0;this.dependencies=[];this.clipId='';this.pendingClip=false;this.maskId='';}
SVGExtraState.prototype={clone:function SVGExtraState_clone(){return Object.create(this);},setCurrentPoint:function SVGExtraState_setCurrentPoint(x,y){this.x=x;this.y=y;}};return SVGExtraState;})();var SVGGraphics=(function SVGGraphicsClosure(){function createScratchSVG(width,height){var NS='http://www.w3.org/2000/svg';var svg=document.createElementNS(NS,'svg:svg');svg.setAttributeNS(null,'version','1.1');svg.setAttributeNS(null,'width',width+'px');svg.setAttributeNS(null,'height',height+'px');svg.setAttributeNS(null,'viewBox','0 0 '+width+' '+height);return svg;}
function opListToTree(opList){var opTree=[];var tmp=[];var opListLen=opList.length;for(var x=0;x<opListLen;x++){if(opList[x].fn==='save'){opTree.push({'fnId':92,'fn':'group','items':[]});tmp.push(opTree);opTree=opTree[opTree.length-1].items;continue;}
if(opList[x].fn==='restore'){opTree=tmp.pop();}else{opTree.push(opList[x]);}}
return opTree;}
function pf(value){if(value===(value|0)){return value.toString();}
var s=value.toFixed(10);var i=s.length-1;if(s[i]!=='0'){return s;}
do{i--;}while(s[i]==='0');return s.substr(0,s[i]==='.'?i:i+1);}
function pm(m){if(m[4]===0&&m[5]===0){if(m[1]===0&&m[2]===0){if(m[0]===1&&m[3]===1){return'';}
return'scale('+pf(m[0])+' '+pf(m[3])+')';}
if(m[0]===m[3]&&m[1]===-m[2]){var a=Math.acos(m[0])*180/Math.PI;return'rotate('+pf(a)+')';}}else{if(m[0]===1&&m[1]===0&&m[2]===0&&m[3]===1){return'translate('+pf(m[4])+' '+pf(m[5])+')';}}
return'matrix('+pf(m[0])+' '+pf(m[1])+' '+pf(m[2])+' '+
pf(m[3])+' '+pf(m[4])+' '+pf(m[5])+')';}
function SVGGraphics(commonObjs,objs,forceDataSchema){this.current=new SVGExtraState();this.transformMatrix=IDENTITY_MATRIX;this.transformStack=[];this.extraStack=[];this.commonObjs=commonObjs;this.objs=objs;this.pendingEOFill=false;this.embedFonts=false;this.embeddedFonts=Object.create(null);this.cssStyle=null;this.forceDataSchema=!!forceDataSchema;}
var NS='http://www.w3.org/2000/svg';var XML_NS='http://www.w3.org/XML/1998/namespace';var XLINK_NS='http://www.w3.org/1999/xlink';var LINE_CAP_STYLES=['butt','round','square'];var LINE_JOIN_STYLES=['miter','round','bevel'];var clipCount=0;var maskCount=0;SVGGraphics.prototype={save:function SVGGraphics_save(){this.transformStack.push(this.transformMatrix);var old=this.current;this.extraStack.push(old);this.current=old.clone();},restore:function SVGGraphics_restore(){this.transformMatrix=this.transformStack.pop();this.current=this.extraStack.pop();this.tgrp=document.createElementNS(NS,'svg:g');this.tgrp.setAttributeNS(null,'transform',pm(this.transformMatrix));this.pgrp.appendChild(this.tgrp);},group:function SVGGraphics_group(items){this.save();this.executeOpTree(items);this.restore();},loadDependencies:function SVGGraphics_loadDependencies(operatorList){var fnArray=operatorList.fnArray;var fnArrayLen=fnArray.length;var argsArray=operatorList.argsArray;var self=this;for(var i=0;i<fnArrayLen;i++){if(OPS.dependency===fnArray[i]){var deps=argsArray[i];for(var n=0,nn=deps.length;n<nn;n++){var obj=deps[n];var common=obj.substring(0,2)==='g_';var promise;if(common){promise=new Promise(function(resolve){self.commonObjs.get(obj,resolve);});}else{promise=new Promise(function(resolve){self.objs.get(obj,resolve);});}
this.current.dependencies.push(promise);}}}
return Promise.all(this.current.dependencies);},transform:function SVGGraphics_transform(a,b,c,d,e,f){var transformMatrix=[a,b,c,d,e,f];this.transformMatrix=Util.transform(this.transformMatrix,transformMatrix);this.tgrp=document.createElementNS(NS,'svg:g');this.tgrp.setAttributeNS(null,'transform',pm(this.transformMatrix));},getSVG:function SVGGraphics_getSVG(operatorList,viewport){this.svg=createScratchSVG(viewport.width,viewport.height);this.viewport=viewport;return this.loadDependencies(operatorList).then(function(){this.transformMatrix=IDENTITY_MATRIX;this.pgrp=document.createElementNS(NS,'svg:g');this.pgrp.setAttributeNS(null,'transform',pm(viewport.transform));this.tgrp=document.createElementNS(NS,'svg:g');this.tgrp.setAttributeNS(null,'transform',pm(this.transformMatrix));this.defs=document.createElementNS(NS,'svg:defs');this.pgrp.appendChild(this.defs);this.pgrp.appendChild(this.tgrp);this.svg.appendChild(this.pgrp);var opTree=this.convertOpList(operatorList);this.executeOpTree(opTree);return this.svg;}.bind(this));},convertOpList:function SVGGraphics_convertOpList(operatorList){var argsArray=operatorList.argsArray;var fnArray=operatorList.fnArray;var fnArrayLen=fnArray.length;var REVOPS=[];var opList=[];for(var op in OPS){REVOPS[OPS[op]]=op;}
for(var x=0;x<fnArrayLen;x++){var fnId=fnArray[x];opList.push({'fnId':fnId,'fn':REVOPS[fnId],'args':argsArray[x]});}
return opListToTree(opList);},executeOpTree:function SVGGraphics_executeOpTree(opTree){var opTreeLen=opTree.length;for(var x=0;x<opTreeLen;x++){var fn=opTree[x].fn;var fnId=opTree[x].fnId;var args=opTree[x].args;switch(fnId|0){case OPS.beginText:this.beginText();break;case OPS.setLeading:this.setLeading(args);break;case OPS.setLeadingMoveText:this.setLeadingMoveText(args[0],args[1]);break;case OPS.setFont:this.setFont(args);break;case OPS.showText:this.showText(args[0]);break;case OPS.showSpacedText:this.showText(args[0]);break;case OPS.endText:this.endText();break;case OPS.moveText:this.moveText(args[0],args[1]);break;case OPS.setCharSpacing:this.setCharSpacing(args[0]);break;case OPS.setWordSpacing:this.setWordSpacing(args[0]);break;case OPS.setHScale:this.setHScale(args[0]);break;case OPS.setTextMatrix:this.setTextMatrix(args[0],args[1],args[2],args[3],args[4],args[5]);break;case OPS.setLineWidth:this.setLineWidth(args[0]);break;case OPS.setLineJoin:this.setLineJoin(args[0]);break;case OPS.setLineCap:this.setLineCap(args[0]);break;case OPS.setMiterLimit:this.setMiterLimit(args[0]);break;case OPS.setFillRGBColor:this.setFillRGBColor(args[0],args[1],args[2]);break;case OPS.setStrokeRGBColor:this.setStrokeRGBColor(args[0],args[1],args[2]);break;case OPS.setDash:this.setDash(args[0],args[1]);break;case OPS.setGState:this.setGState(args[0]);break;case OPS.fill:this.fill();break;case OPS.eoFill:this.eoFill();break;case OPS.stroke:this.stroke();break;case OPS.fillStroke:this.fillStroke();break;case OPS.eoFillStroke:this.eoFillStroke();break;case OPS.clip:this.clip('nonzero');break;case OPS.eoClip:this.clip('evenodd');break;case OPS.paintSolidColorImageMask:this.paintSolidColorImageMask();break;case OPS.paintJpegXObject:this.paintJpegXObject(args[0],args[1],args[2]);break;case OPS.paintImageXObject:this.paintImageXObject(args[0]);break;case OPS.paintInlineImageXObject:this.paintInlineImageXObject(args[0]);break;case OPS.paintImageMaskXObject:this.paintImageMaskXObject(args[0]);break;case OPS.paintFormXObjectBegin:this.paintFormXObjectBegin(args[0],args[1]);break;case OPS.paintFormXObjectEnd:this.paintFormXObjectEnd();break;case OPS.closePath:this.closePath();break;case OPS.closeStroke:this.closeStroke();break;case OPS.closeFillStroke:this.closeFillStroke();break;case OPS.nextLine:this.nextLine();break;case OPS.transform:this.transform(args[0],args[1],args[2],args[3],args[4],args[5]);break;case OPS.constructPath:this.constructPath(args[0],args[1]);break;case OPS.endPath:this.endPath();break;case 92:this.group(opTree[x].items);break;default:warn('Unimplemented method '+fn);break;}}},setWordSpacing:function SVGGraphics_setWordSpacing(wordSpacing){this.current.wordSpacing=wordSpacing;},setCharSpacing:function SVGGraphics_setCharSpacing(charSpacing){this.current.charSpacing=charSpacing;},nextLine:function SVGGraphics_nextLine(){this.moveText(0,this.current.leading);},setTextMatrix:function SVGGraphics_setTextMatrix(a,b,c,d,e,f){var current=this.current;this.current.textMatrix=this.current.lineMatrix=[a,b,c,d,e,f];this.current.x=this.current.lineX=0;this.current.y=this.current.lineY=0;current.xcoords=[];current.tspan=document.createElementNS(NS,'svg:tspan');current.tspan.setAttributeNS(null,'font-family',current.fontFamily);current.tspan.setAttributeNS(null,'font-size',pf(current.fontSize)+'px');current.tspan.setAttributeNS(null,'y',pf(-current.y));current.txtElement=document.createElementNS(NS,'svg:text');current.txtElement.appendChild(current.tspan);},beginText:function SVGGraphics_beginText(){this.current.x=this.current.lineX=0;this.current.y=this.current.lineY=0;this.current.textMatrix=IDENTITY_MATRIX;this.current.lineMatrix=IDENTITY_MATRIX;this.current.tspan=document.createElementNS(NS,'svg:tspan');this.current.txtElement=document.createElementNS(NS,'svg:text');this.current.txtgrp=document.createElementNS(NS,'svg:g');this.current.xcoords=[];},moveText:function SVGGraphics_moveText(x,y){var current=this.current;this.current.x=this.current.lineX+=x;this.current.y=this.current.lineY+=y;current.xcoords=[];current.tspan=document.createElementNS(NS,'svg:tspan');current.tspan.setAttributeNS(null,'font-family',current.fontFamily);current.tspan.setAttributeNS(null,'font-size',pf(current.fontSize)+'px');current.tspan.setAttributeNS(null,'y',pf(-current.y));},showText:function SVGGraphics_showText(glyphs){var current=this.current;var font=current.font;var fontSize=current.fontSize;if(fontSize===0){return;}
var charSpacing=current.charSpacing;var wordSpacing=current.wordSpacing;var fontDirection=current.fontDirection;var textHScale=current.textHScale*fontDirection;var glyphsLength=glyphs.length;var vertical=font.vertical;var widthAdvanceScale=fontSize*current.fontMatrix[0];var x=0,i;for(i=0;i<glyphsLength;++i){var glyph=glyphs[i];if(glyph===null){x+=fontDirection*wordSpacing;continue;}else if(isNum(glyph)){x+=-glyph*fontSize*0.001;continue;}
current.xcoords.push(current.x+x*textHScale);var width=glyph.width;var character=glyph.fontChar;var charWidth=width*widthAdvanceScale+charSpacing*fontDirection;x+=charWidth;current.tspan.textContent+=character;}
if(vertical){current.y-=x*textHScale;}else{current.x+=x*textHScale;}
current.tspan.setAttributeNS(null,'x',current.xcoords.map(pf).join(' '));current.tspan.setAttributeNS(null,'y',pf(-current.y));current.tspan.setAttributeNS(null,'font-family',current.fontFamily);current.tspan.setAttributeNS(null,'font-size',pf(current.fontSize)+'px');if(current.fontStyle!==SVG_DEFAULTS.fontStyle){current.tspan.setAttributeNS(null,'font-style',current.fontStyle);}
if(current.fontWeight!==SVG_DEFAULTS.fontWeight){current.tspan.setAttributeNS(null,'font-weight',current.fontWeight);}
if(current.fillColor!==SVG_DEFAULTS.fillColor){current.tspan.setAttributeNS(null,'fill',current.fillColor);}
current.txtElement.setAttributeNS(null,'transform',pm(current.textMatrix)+' scale(1, -1)');current.txtElement.setAttributeNS(XML_NS,'xml:space','preserve');current.txtElement.appendChild(current.tspan);current.txtgrp.appendChild(current.txtElement);this.tgrp.appendChild(current.txtElement);},setLeadingMoveText:function SVGGraphics_setLeadingMoveText(x,y){this.setLeading(-y);this.moveText(x,y);},addFontStyle:function SVGGraphics_addFontStyle(fontObj){if(!this.cssStyle){this.cssStyle=document.createElementNS(NS,'svg:style');this.cssStyle.setAttributeNS(null,'type','text/css');this.defs.appendChild(this.cssStyle);}
var url=createObjectURL(fontObj.data,fontObj.mimetype,this.forceDataSchema);this.cssStyle.textContent+='@font-face { font-family: "'+fontObj.loadedName+'";'+' src: url('+url+'); }\n';},setFont:function SVGGraphics_setFont(details){var current=this.current;var fontObj=this.commonObjs.get(details[0]);var size=details[1];this.current.font=fontObj;if(this.embedFonts&&fontObj.data&&!this.embeddedFonts[fontObj.loadedName]){this.addFontStyle(fontObj);this.embeddedFonts[fontObj.loadedName]=fontObj;}
current.fontMatrix=(fontObj.fontMatrix?fontObj.fontMatrix:FONT_IDENTITY_MATRIX);var bold=fontObj.black?(fontObj.bold?'bolder':'bold'):(fontObj.bold?'bold':'normal');var italic=fontObj.italic?'italic':'normal';if(size<0){size=-size;current.fontDirection=-1;}else{current.fontDirection=1;}
current.fontSize=size;current.fontFamily=fontObj.loadedName;current.fontWeight=bold;current.fontStyle=italic;current.tspan=document.createElementNS(NS,'svg:tspan');current.tspan.setAttributeNS(null,'y',pf(-current.y));current.xcoords=[];},endText:function SVGGraphics_endText(){if(this.current.pendingClip){this.cgrp.appendChild(this.tgrp);this.pgrp.appendChild(this.cgrp);}else{this.pgrp.appendChild(this.tgrp);}
this.tgrp=document.createElementNS(NS,'svg:g');this.tgrp.setAttributeNS(null,'transform',pm(this.transformMatrix));},setLineWidth:function SVGGraphics_setLineWidth(width){this.current.lineWidth=width;},setLineCap:function SVGGraphics_setLineCap(style){this.current.lineCap=LINE_CAP_STYLES[style];},setLineJoin:function SVGGraphics_setLineJoin(style){this.current.lineJoin=LINE_JOIN_STYLES[style];},setMiterLimit:function SVGGraphics_setMiterLimit(limit){this.current.miterLimit=limit;},setStrokeRGBColor:function SVGGraphics_setStrokeRGBColor(r,g,b){var color=Util.makeCssRgb(r,g,b);this.current.strokeColor=color;},setFillRGBColor:function SVGGraphics_setFillRGBColor(r,g,b){var color=Util.makeCssRgb(r,g,b);this.current.fillColor=color;this.current.tspan=document.createElementNS(NS,'svg:tspan');this.current.xcoords=[];},setDash:function SVGGraphics_setDash(dashArray,dashPhase){this.current.dashArray=dashArray;this.current.dashPhase=dashPhase;},constructPath:function SVGGraphics_constructPath(ops,args){var current=this.current;var x=current.x,y=current.y;current.path=document.createElementNS(NS,'svg:path');var d=[];var opLength=ops.length;for(var i=0,j=0;i<opLength;i++){switch(ops[i]|0){case OPS.rectangle:x=args[j++];y=args[j++];var width=args[j++];var height=args[j++];var xw=x+width;var yh=y+height;d.push('M',pf(x),pf(y),'L',pf(xw),pf(y),'L',pf(xw),pf(yh),'L',pf(x),pf(yh),'Z');break;case OPS.moveTo:x=args[j++];y=args[j++];d.push('M',pf(x),pf(y));break;case OPS.lineTo:x=args[j++];y=args[j++];d.push('L',pf(x),pf(y));break;case OPS.curveTo:x=args[j+4];y=args[j+5];d.push('C',pf(args[j]),pf(args[j+1]),pf(args[j+2]),pf(args[j+3]),pf(x),pf(y));j+=6;break;case OPS.curveTo2:x=args[j+2];y=args[j+3];d.push('C',pf(x),pf(y),pf(args[j]),pf(args[j+1]),pf(args[j+2]),pf(args[j+3]));j+=4;break;case OPS.curveTo3:x=args[j+2];y=args[j+3];d.push('C',pf(args[j]),pf(args[j+1]),pf(x),pf(y),pf(x),pf(y));j+=4;break;case OPS.closePath:d.push('Z');break;}}
current.path.setAttributeNS(null,'d',d.join(' '));current.path.setAttributeNS(null,'stroke-miterlimit',pf(current.miterLimit));current.path.setAttributeNS(null,'stroke-linecap',current.lineCap);current.path.setAttributeNS(null,'stroke-linejoin',current.lineJoin);current.path.setAttributeNS(null,'stroke-width',pf(current.lineWidth)+'px');current.path.setAttributeNS(null,'stroke-dasharray',current.dashArray.map(pf).join(' '));current.path.setAttributeNS(null,'stroke-dashoffset',pf(current.dashPhase)+'px');current.path.setAttributeNS(null,'fill','none');this.tgrp.appendChild(current.path);if(current.pendingClip){this.cgrp.appendChild(this.tgrp);this.pgrp.appendChild(this.cgrp);}else{this.pgrp.appendChild(this.tgrp);}
current.element=current.path;current.setCurrentPoint(x,y);},endPath:function SVGGraphics_endPath(){var current=this.current;if(current.pendingClip){this.cgrp.appendChild(this.tgrp);this.pgrp.appendChild(this.cgrp);}else{this.pgrp.appendChild(this.tgrp);}
this.tgrp=document.createElementNS(NS,'svg:g');this.tgrp.setAttributeNS(null,'transform',pm(this.transformMatrix));},clip:function SVGGraphics_clip(type){var current=this.current;current.clipId='clippath'+clipCount;clipCount++;this.clippath=document.createElementNS(NS,'svg:clipPath');this.clippath.setAttributeNS(null,'id',current.clipId);var clipElement=current.element.cloneNode();if(type==='evenodd'){clipElement.setAttributeNS(null,'clip-rule','evenodd');}else{clipElement.setAttributeNS(null,'clip-rule','nonzero');}
this.clippath.setAttributeNS(null,'transform',pm(this.transformMatrix));this.clippath.appendChild(clipElement);this.defs.appendChild(this.clippath);current.pendingClip=true;this.cgrp=document.createElementNS(NS,'svg:g');this.cgrp.setAttributeNS(null,'clip-path','url(#'+current.clipId+')');this.pgrp.appendChild(this.cgrp);},closePath:function SVGGraphics_closePath(){var current=this.current;var d=current.path.getAttributeNS(null,'d');d+='Z';current.path.setAttributeNS(null,'d',d);},setLeading:function SVGGraphics_setLeading(leading){this.current.leading=-leading;},setTextRise:function SVGGraphics_setTextRise(textRise){this.current.textRise=textRise;},setHScale:function SVGGraphics_setHScale(scale){this.current.textHScale=scale/100;},setGState:function SVGGraphics_setGState(states){for(var i=0,ii=states.length;i<ii;i++){var state=states[i];var key=state[0];var value=state[1];switch(key){case'LW':this.setLineWidth(value);break;case'LC':this.setLineCap(value);break;case'LJ':this.setLineJoin(value);break;case'ML':this.setMiterLimit(value);break;case'D':this.setDash(value[0],value[1]);break;case'RI':break;case'FL':break;case'Font':this.setFont(value);break;case'CA':break;case'ca':break;case'BM':break;case'SMask':break;}}},fill:function SVGGraphics_fill(){var current=this.current;current.element.setAttributeNS(null,'fill',current.fillColor);},stroke:function SVGGraphics_stroke(){var current=this.current;current.element.setAttributeNS(null,'stroke',current.strokeColor);current.element.setAttributeNS(null,'fill','none');},eoFill:function SVGGraphics_eoFill(){var current=this.current;current.element.setAttributeNS(null,'fill',current.fillColor);current.element.setAttributeNS(null,'fill-rule','evenodd');},fillStroke:function SVGGraphics_fillStroke(){this.stroke();this.fill();},eoFillStroke:function SVGGraphics_eoFillStroke(){this.current.element.setAttributeNS(null,'fill-rule','evenodd');this.fillStroke();},closeStroke:function SVGGraphics_closeStroke(){this.closePath();this.stroke();},closeFillStroke:function SVGGraphics_closeFillStroke(){this.closePath();this.fillStroke();},paintSolidColorImageMask:function SVGGraphics_paintSolidColorImageMask(){var current=this.current;var rect=document.createElementNS(NS,'svg:rect');rect.setAttributeNS(null,'x','0');rect.setAttributeNS(null,'y','0');rect.setAttributeNS(null,'width','1px');rect.setAttributeNS(null,'height','1px');rect.setAttributeNS(null,'fill',current.fillColor);this.tgrp.appendChild(rect);},paintJpegXObject:function SVGGraphics_paintJpegXObject(objId,w,h){var current=this.current;var imgObj=this.objs.get(objId);var imgEl=document.createElementNS(NS,'svg:image');imgEl.setAttributeNS(XLINK_NS,'xlink:href',imgObj.src);imgEl.setAttributeNS(null,'width',imgObj.width+'px');imgEl.setAttributeNS(null,'height',imgObj.height+'px');imgEl.setAttributeNS(null,'x','0');imgEl.setAttributeNS(null,'y',pf(-h));imgEl.setAttributeNS(null,'transform','scale('+pf(1/w)+' '+pf(-1/h)+')');this.tgrp.appendChild(imgEl);if(current.pendingClip){this.cgrp.appendChild(this.tgrp);this.pgrp.appendChild(this.cgrp);}else{this.pgrp.appendChild(this.tgrp);}},paintImageXObject:function SVGGraphics_paintImageXObject(objId){var imgData=this.objs.get(objId);if(!imgData){warn('Dependent image isn\'t ready yet');return;}
this.paintInlineImageXObject(imgData);},paintInlineImageXObject:function SVGGraphics_paintInlineImageXObject(imgData,mask){var current=this.current;var width=imgData.width;var height=imgData.height;var imgSrc=convertImgDataToPng(imgData,this.forceDataSchema);var cliprect=document.createElementNS(NS,'svg:rect');cliprect.setAttributeNS(null,'x','0');cliprect.setAttributeNS(null,'y','0');cliprect.setAttributeNS(null,'width',pf(width));cliprect.setAttributeNS(null,'height',pf(height));current.element=cliprect;this.clip('nonzero');var imgEl=document.createElementNS(NS,'svg:image');imgEl.setAttributeNS(XLINK_NS,'xlink:href',imgSrc);imgEl.setAttributeNS(null,'x','0');imgEl.setAttributeNS(null,'y',pf(-height));imgEl.setAttributeNS(null,'width',pf(width)+'px');imgEl.setAttributeNS(null,'height',pf(height)+'px');imgEl.setAttributeNS(null,'transform','scale('+pf(1/width)+' '+
pf(-1/height)+')');if(mask){mask.appendChild(imgEl);}else{this.tgrp.appendChild(imgEl);}
if(current.pendingClip){this.cgrp.appendChild(this.tgrp);this.pgrp.appendChild(this.cgrp);}else{this.pgrp.appendChild(this.tgrp);}},paintImageMaskXObject:function SVGGraphics_paintImageMaskXObject(imgData){var current=this.current;var width=imgData.width;var height=imgData.height;var fillColor=current.fillColor;current.maskId='mask'+maskCount++;var mask=document.createElementNS(NS,'svg:mask');mask.setAttributeNS(null,'id',current.maskId);var rect=document.createElementNS(NS,'svg:rect');rect.setAttributeNS(null,'x','0');rect.setAttributeNS(null,'y','0');rect.setAttributeNS(null,'width',pf(width));rect.setAttributeNS(null,'height',pf(height));rect.setAttributeNS(null,'fill',fillColor);rect.setAttributeNS(null,'mask','url(#'+current.maskId+')');this.defs.appendChild(mask);this.tgrp.appendChild(rect);this.paintInlineImageXObject(imgData,mask);},paintFormXObjectBegin:function SVGGraphics_paintFormXObjectBegin(matrix,bbox){this.save();if(isArray(matrix)&&matrix.length===6){this.transform(matrix[0],matrix[1],matrix[2],matrix[3],matrix[4],matrix[5]);}
if(isArray(bbox)&&bbox.length===4){var width=bbox[2]-bbox[0];var height=bbox[3]-bbox[1];var cliprect=document.createElementNS(NS,'svg:rect');cliprect.setAttributeNS(null,'x',bbox[0]);cliprect.setAttributeNS(null,'y',bbox[1]);cliprect.setAttributeNS(null,'width',pf(width));cliprect.setAttributeNS(null,'height',pf(height));this.current.element=cliprect;this.clip('nonzero');this.endPath();}},paintFormXObjectEnd:function SVGGraphics_paintFormXObjectEnd(){this.restore();}};return SVGGraphics;})();exports.SVGGraphics=SVGGraphics;}));(function(root,factory){{factory((root.pdfjsDisplayAnnotationLayer={}),root.pdfjsSharedUtil,root.pdfjsDisplayDOMUtils);}}(this,function(exports,sharedUtil,displayDOMUtils){var AnnotationBorderStyleType=sharedUtil.AnnotationBorderStyleType;var AnnotationType=sharedUtil.AnnotationType;var Util=sharedUtil.Util;var addLinkAttributes=displayDOMUtils.addLinkAttributes;var LinkTarget=displayDOMUtils.LinkTarget;var getFilenameFromUrl=displayDOMUtils.getFilenameFromUrl;var warn=sharedUtil.warn;var CustomStyle=displayDOMUtils.CustomStyle;var getDefaultSetting=displayDOMUtils.getDefaultSetting;function AnnotationElementFactory(){}
AnnotationElementFactory.prototype={create:function AnnotationElementFactory_create(parameters){var subtype=parameters.data.annotationType;switch(subtype){case AnnotationType.LINK:return new LinkAnnotationElement(parameters);case AnnotationType.TEXT:return new TextAnnotationElement(parameters);case AnnotationType.WIDGET:return new WidgetAnnotationElement(parameters);case AnnotationType.POPUP:return new PopupAnnotationElement(parameters);case AnnotationType.HIGHLIGHT:return new HighlightAnnotationElement(parameters);case AnnotationType.UNDERLINE:return new UnderlineAnnotationElement(parameters);case AnnotationType.SQUIGGLY:return new SquigglyAnnotationElement(parameters);case AnnotationType.STRIKEOUT:return new StrikeOutAnnotationElement(parameters);case AnnotationType.FILEATTACHMENT:return new FileAttachmentAnnotationElement(parameters);default:return new AnnotationElement(parameters);}}};var AnnotationElement=(function AnnotationElementClosure(){function AnnotationElement(parameters,isRenderable){this.isRenderable=isRenderable||false;this.data=parameters.data;this.layer=parameters.layer;this.page=parameters.page;this.viewport=parameters.viewport;this.linkService=parameters.linkService;this.downloadManager=parameters.downloadManager;this.imageResourcesPath=parameters.imageResourcesPath;if(isRenderable){this.container=this._createContainer();}}
AnnotationElement.prototype={_createContainer:function AnnotationElement_createContainer(){var data=this.data,page=this.page,viewport=this.viewport;var container=document.createElement('section');var width=data.rect[2]-data.rect[0];var height=data.rect[3]-data.rect[1];container.setAttribute('data-annotation-id',data.id);var rect=Util.normalizeRect([data.rect[0],page.view[3]-data.rect[1]+page.view[1],data.rect[2],page.view[3]-data.rect[3]+page.view[1]]);CustomStyle.setProp('transform',container,'matrix('+viewport.transform.join(',')+')');CustomStyle.setProp('transformOrigin',container,-rect[0]+'px '+-rect[1]+'px');if(data.borderStyle.width>0){container.style.borderWidth=data.borderStyle.width+'px';if(data.borderStyle.style!==AnnotationBorderStyleType.UNDERLINE){width=width-2*data.borderStyle.width;height=height-2*data.borderStyle.width;}
var horizontalRadius=data.borderStyle.horizontalCornerRadius;var verticalRadius=data.borderStyle.verticalCornerRadius;if(horizontalRadius>0||verticalRadius>0){var radius=horizontalRadius+'px / '+verticalRadius+'px';CustomStyle.setProp('borderRadius',container,radius);}
switch(data.borderStyle.style){case AnnotationBorderStyleType.SOLID:container.style.borderStyle='solid';break;case AnnotationBorderStyleType.DASHED:container.style.borderStyle='dashed';break;case AnnotationBorderStyleType.BEVELED:warn('Unimplemented border style: beveled');break;case AnnotationBorderStyleType.INSET:warn('Unimplemented border style: inset');break;case AnnotationBorderStyleType.UNDERLINE:container.style.borderBottomStyle='solid';break;default:break;}
if(data.color){container.style.borderColor=Util.makeCssRgb(data.color[0]|0,data.color[1]|0,data.color[2]|0);}else{container.style.borderWidth=0;}}
container.style.left=rect[0]+'px';container.style.top=rect[1]+'px';container.style.width=width+'px';container.style.height=height+'px';return container;},_createPopup:function AnnotationElement_createPopup(container,trigger,data){if(!trigger){trigger=document.createElement('div');trigger.style.height=container.style.height;trigger.style.width=container.style.width;container.appendChild(trigger);}
var popupElement=new PopupElement({container:container,trigger:trigger,color:data.color,title:data.title,contents:data.contents,hideWrapper:true});var popup=popupElement.render();popup.style.left=container.style.width;container.appendChild(popup);},render:function AnnotationElement_render(){throw new Error('Abstract method AnnotationElement.render called');}};return AnnotationElement;})();var LinkAnnotationElement=(function LinkAnnotationElementClosure(){function LinkAnnotationElement(parameters){AnnotationElement.call(this,parameters,true);}
Util.inherit(LinkAnnotationElement,AnnotationElement,{render:function LinkAnnotationElement_render(){this.container.className='linkAnnotation';var link=document.createElement('a');addLinkAttributes(link,{url:this.data.url,target:(this.data.newWindow?LinkTarget.BLANK:undefined),});if(!this.data.url){if(this.data.action){this._bindNamedAction(link,this.data.action);}else{this._bindLink(link,(this.data.dest||null));}}
this.container.appendChild(link);return this.container;},_bindLink:function LinkAnnotationElement_bindLink(link,destination){var self=this;link.href=this.linkService.getDestinationHash(destination);link.onclick=function(){if(destination){self.linkService.navigateTo(destination);}
return false;};if(destination){link.className='internalLink';}},_bindNamedAction:function LinkAnnotationElement_bindNamedAction(link,action){var self=this;link.href=this.linkService.getAnchorUrl('');link.onclick=function(){self.linkService.executeNamedAction(action);return false;};link.className='internalLink';}});return LinkAnnotationElement;})();var TextAnnotationElement=(function TextAnnotationElementClosure(){function TextAnnotationElement(parameters){var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);AnnotationElement.call(this,parameters,isRenderable);}
Util.inherit(TextAnnotationElement,AnnotationElement,{render:function TextAnnotationElement_render(){this.container.className='textAnnotation';var image=document.createElement('img');image.style.height=this.container.style.height;image.style.width=this.container.style.width;image.src=this.imageResourcesPath+'annotation-'+
this.data.name.toLowerCase()+'.svg';image.alt='[{{type}} Annotation]';image.dataset.l10nId='text_annotation_type';image.dataset.l10nArgs=JSON.stringify({type:this.data.name});if(!this.data.hasPopup){this._createPopup(this.container,image,this.data);}
this.container.appendChild(image);return this.container;}});return TextAnnotationElement;})();var WidgetAnnotationElement=(function WidgetAnnotationElementClosure(){function WidgetAnnotationElement(parameters){var isRenderable=!parameters.data.hasAppearance&&!!parameters.data.fieldValue;AnnotationElement.call(this,parameters,isRenderable);}
Util.inherit(WidgetAnnotationElement,AnnotationElement,{render:function WidgetAnnotationElement_render(){var content=document.createElement('div');content.textContent=this.data.fieldValue;var textAlignment=this.data.textAlignment;content.style.textAlign=['left','center','right'][textAlignment];content.style.verticalAlign='middle';content.style.display='table-cell';var font=(this.data.fontRefName?this.page.commonObjs.getData(this.data.fontRefName):null);this._setTextStyle(content,font);this.container.appendChild(content);return this.container;},_setTextStyle:function WidgetAnnotationElement_setTextStyle(element,font){var style=element.style;style.fontSize=this.data.fontSize+'px';style.direction=(this.data.fontDirection<0?'rtl':'ltr');if(!font){return;}
style.fontWeight=(font.black?(font.bold?'900':'bold'):(font.bold?'bold':'normal'));style.fontStyle=(font.italic?'italic':'normal');var fontFamily=font.loadedName?'"'+font.loadedName+'", ':'';var fallbackName=font.fallbackName||'Helvetica, sans-serif';style.fontFamily=fontFamily+fallbackName;}});return WidgetAnnotationElement;})();var PopupAnnotationElement=(function PopupAnnotationElementClosure(){function PopupAnnotationElement(parameters){var isRenderable=!!(parameters.data.title||parameters.data.contents);AnnotationElement.call(this,parameters,isRenderable);}
Util.inherit(PopupAnnotationElement,AnnotationElement,{render:function PopupAnnotationElement_render(){this.container.className='popupAnnotation';var selector='[data-annotation-id="'+this.data.parentId+'"]';var parentElement=this.layer.querySelector(selector);if(!parentElement){return this.container;}
var popup=new PopupElement({container:this.container,trigger:parentElement,color:this.data.color,title:this.data.title,contents:this.data.contents});var parentLeft=parseFloat(parentElement.style.left);var parentWidth=parseFloat(parentElement.style.width);CustomStyle.setProp('transformOrigin',this.container,-(parentLeft+parentWidth)+'px -'+
parentElement.style.top);this.container.style.left=(parentLeft+parentWidth)+'px';this.container.appendChild(popup.render());return this.container;}});return PopupAnnotationElement;})();var PopupElement=(function PopupElementClosure(){var BACKGROUND_ENLIGHT=0.7;function PopupElement(parameters){this.container=parameters.container;this.trigger=parameters.trigger;this.color=parameters.color;this.title=parameters.title;this.contents=parameters.contents;this.hideWrapper=parameters.hideWrapper||false;this.pinned=false;}
PopupElement.prototype={render:function PopupElement_render(){var wrapper=document.createElement('div');wrapper.className='popupWrapper';this.hideElement=(this.hideWrapper?wrapper:this.container);this.hideElement.setAttribute('hidden',true);var popup=document.createElement('div');popup.className='popup';var color=this.color;if(color){var r=BACKGROUND_ENLIGHT*(255-color[0])+color[0];var g=BACKGROUND_ENLIGHT*(255-color[1])+color[1];var b=BACKGROUND_ENLIGHT*(255-color[2])+color[2];popup.style.backgroundColor=Util.makeCssRgb(r|0,g|0,b|0);}
var contents=this._formatContents(this.contents);var title=document.createElement('h1');title.textContent=this.title;this.trigger.addEventListener('click',this._toggle.bind(this));this.trigger.addEventListener('mouseover',this._show.bind(this,false));this.trigger.addEventListener('mouseout',this._hide.bind(this,false));popup.addEventListener('click',this._hide.bind(this,true));popup.appendChild(title);popup.appendChild(contents);wrapper.appendChild(popup);return wrapper;},_formatContents:function PopupElement_formatContents(contents){var p=document.createElement('p');var lines=contents.split(/(?:\r\n?|\n)/);for(var i=0,ii=lines.length;i<ii;++i){var line=lines[i];p.appendChild(document.createTextNode(line));if(i<(ii-1)){p.appendChild(document.createElement('br'));}}
return p;},_toggle:function PopupElement_toggle(){if(this.pinned){this._hide(true);}else{this._show(true);}},_show:function PopupElement_show(pin){if(pin){this.pinned=true;}
if(this.hideElement.hasAttribute('hidden')){this.hideElement.removeAttribute('hidden');this.container.style.zIndex+=1;}},_hide:function PopupElement_hide(unpin){if(unpin){this.pinned=false;}
if(!this.hideElement.hasAttribute('hidden')&&!this.pinned){this.hideElement.setAttribute('hidden',true);this.container.style.zIndex-=1;}}};return PopupElement;})();var HighlightAnnotationElement=(function HighlightAnnotationElementClosure(){function HighlightAnnotationElement(parameters){var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);AnnotationElement.call(this,parameters,isRenderable);}
Util.inherit(HighlightAnnotationElement,AnnotationElement,{render:function HighlightAnnotationElement_render(){this.container.className='highlightAnnotation';if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}
return this.container;}});return HighlightAnnotationElement;})();var UnderlineAnnotationElement=(function UnderlineAnnotationElementClosure(){function UnderlineAnnotationElement(parameters){var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);AnnotationElement.call(this,parameters,isRenderable);}
Util.inherit(UnderlineAnnotationElement,AnnotationElement,{render:function UnderlineAnnotationElement_render(){this.container.className='underlineAnnotation';if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}
return this.container;}});return UnderlineAnnotationElement;})();var SquigglyAnnotationElement=(function SquigglyAnnotationElementClosure(){function SquigglyAnnotationElement(parameters){var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);AnnotationElement.call(this,parameters,isRenderable);}
Util.inherit(SquigglyAnnotationElement,AnnotationElement,{render:function SquigglyAnnotationElement_render(){this.container.className='squigglyAnnotation';if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}
return this.container;}});return SquigglyAnnotationElement;})();var StrikeOutAnnotationElement=(function StrikeOutAnnotationElementClosure(){function StrikeOutAnnotationElement(parameters){var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);AnnotationElement.call(this,parameters,isRenderable);}
Util.inherit(StrikeOutAnnotationElement,AnnotationElement,{render:function StrikeOutAnnotationElement_render(){this.container.className='strikeoutAnnotation';if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}
return this.container;}});return StrikeOutAnnotationElement;})();var FileAttachmentAnnotationElement=(function FileAttachmentAnnotationElementClosure(){function FileAttachmentAnnotationElement(parameters){AnnotationElement.call(this,parameters,true);this.filename=getFilenameFromUrl(parameters.data.file.filename);this.content=parameters.data.file.content;}
Util.inherit(FileAttachmentAnnotationElement,AnnotationElement,{render:function FileAttachmentAnnotationElement_render(){this.container.className='fileAttachmentAnnotation';var trigger=document.createElement('div');trigger.style.height=this.container.style.height;trigger.style.width=this.container.style.width;trigger.addEventListener('dblclick',this._download.bind(this));if(!this.data.hasPopup&&(this.data.title||this.data.contents)){this._createPopup(this.container,trigger,this.data);}
this.container.appendChild(trigger);return this.container;},_download:function FileAttachmentAnnotationElement_download(){if(!this.downloadManager){warn('Download cannot be started due to unavailable download manager');return;}
this.downloadManager.downloadData(this.content,this.filename,'');}});return FileAttachmentAnnotationElement;})();var AnnotationLayer=(function AnnotationLayerClosure(){return{render:function AnnotationLayer_render(parameters){var annotationElementFactory=new AnnotationElementFactory();for(var i=0,ii=parameters.annotations.length;i<ii;i++){var data=parameters.annotations[i];if(!data){continue;}
var properties={data:data,layer:parameters.div,page:parameters.page,viewport:parameters.viewport,linkService:parameters.linkService,downloadManager:parameters.downloadManager,imageResourcesPath:parameters.imageResourcesPath||getDefaultSetting('imageResourcesPath')};var element=annotationElementFactory.create(properties);if(element.isRenderable){parameters.div.appendChild(element.render());}}},update:function AnnotationLayer_update(parameters){for(var i=0,ii=parameters.annotations.length;i<ii;i++){var data=parameters.annotations[i];var element=parameters.div.querySelector('[data-annotation-id="'+data.id+'"]');if(element){CustomStyle.setProp('transform',element,'matrix('+parameters.viewport.transform.join(',')+')');}}
parameters.div.removeAttribute('hidden');}};})();exports.AnnotationLayer=AnnotationLayer;}));(function(root,factory){{factory((root.pdfjsDisplayTextLayer={}),root.pdfjsSharedUtil,root.pdfjsDisplayDOMUtils);}}(this,function(exports,sharedUtil,displayDOMUtils){var Util=sharedUtil.Util;var createPromiseCapability=sharedUtil.createPromiseCapability;var CustomStyle=displayDOMUtils.CustomStyle;var getDefaultSetting=displayDOMUtils.getDefaultSetting;var renderTextLayer=(function renderTextLayerClosure(){var MAX_TEXT_DIVS_TO_RENDER=100000;var NonWhitespaceRegexp=/\S/;function isAllWhitespace(str){return!NonWhitespaceRegexp.test(str);}
function appendText(textDivs,viewport,geom,styles){var style=styles[geom.fontName];var textDiv=document.createElement('div');textDivs.push(textDiv);if(isAllWhitespace(geom.str)){textDiv.dataset.isWhitespace=true;return;}
var tx=Util.transform(viewport.transform,geom.transform);var angle=Math.atan2(tx[1],tx[0]);if(style.vertical){angle+=Math.PI/2;}
var fontHeight=Math.sqrt((tx[2]*tx[2])+(tx[3]*tx[3]));var fontAscent=fontHeight;if(style.ascent){fontAscent=style.ascent*fontAscent;}else if(style.descent){fontAscent=(1+style.descent)*fontAscent;}
var left;var top;if(angle===0){left=tx[4];top=tx[5]-fontAscent;}else{left=tx[4]+(fontAscent*Math.sin(angle));top=tx[5]-(fontAscent*Math.cos(angle));}
textDiv.style.left=left+'px';textDiv.style.top=top+'px';textDiv.style.fontSize=fontHeight+'px';textDiv.style.fontFamily=style.fontFamily;textDiv.textContent=geom.str;if(getDefaultSetting('pdfBug')){textDiv.dataset.fontName=geom.fontName;}
if(angle!==0){textDiv.dataset.angle=angle*(180/Math.PI);}
if(geom.str.length>1){if(style.vertical){textDiv.dataset.canvasWidth=geom.height*viewport.scale;}else{textDiv.dataset.canvasWidth=geom.width*viewport.scale;}}}
function render(task){if(task._canceled){return;}
var textLayerFrag=task._container;var textDivs=task._textDivs;var capability=task._capability;var textDivsLength=textDivs.length;if(textDivsLength>MAX_TEXT_DIVS_TO_RENDER){capability.resolve();return;}
var canvas=document.createElement('canvas');canvas.mozOpaque=true;var ctx=canvas.getContext('2d',{alpha:false});var lastFontSize;var lastFontFamily;for(var i=0;i<textDivsLength;i++){var textDiv=textDivs[i];if(textDiv.dataset.isWhitespace!==undefined){continue;}
var fontSize=textDiv.style.fontSize;var fontFamily=textDiv.style.fontFamily;if(fontSize!==lastFontSize||fontFamily!==lastFontFamily){ctx.font=fontSize+' '+fontFamily;lastFontSize=fontSize;lastFontFamily=fontFamily;}
var width=ctx.measureText(textDiv.textContent).width;textLayerFrag.appendChild(textDiv);var transform;if(textDiv.dataset.canvasWidth!==undefined&&width>0){var textScale=textDiv.dataset.canvasWidth/width;transform='scaleX('+textScale+')';}else{transform='';}
var rotation=textDiv.dataset.angle;if(rotation){transform='rotate('+rotation+'deg) '+transform;}
if(transform){CustomStyle.setProp('transform',textDiv,transform);}}
capability.resolve();}
function TextLayerRenderTask(textContent,container,viewport,textDivs){this._textContent=textContent;this._container=container;this._viewport=viewport;textDivs=textDivs||[];this._textDivs=textDivs;this._canceled=false;this._capability=createPromiseCapability();this._renderTimer=null;}
TextLayerRenderTask.prototype={get promise(){return this._capability.promise;},cancel:function TextLayer_cancel(){this._canceled=true;if(this._renderTimer!==null){clearTimeout(this._renderTimer);this._renderTimer=null;}
this._capability.reject('canceled');},_render:function TextLayer_render(timeout){var textItems=this._textContent.items;var styles=this._textContent.styles;var textDivs=this._textDivs;var viewport=this._viewport;for(var i=0,len=textItems.length;i<len;i++){appendText(textDivs,viewport,textItems[i],styles);}
if(!timeout){render(this);}else{var self=this;this._renderTimer=setTimeout(function(){render(self);self._renderTimer=null;},timeout);}}};function renderTextLayer(renderParameters){var task=new TextLayerRenderTask(renderParameters.textContent,renderParameters.container,renderParameters.viewport,renderParameters.textDivs);task._render(renderParameters.timeout);return task;}
return renderTextLayer;})();exports.renderTextLayer=renderTextLayer;}));(function(root,factory){{factory((root.pdfjsDisplayWebGL={}),root.pdfjsSharedUtil,root.pdfjsDisplayDOMUtils);}}(this,function(exports,sharedUtil,displayDOMUtils){var shadow=sharedUtil.shadow;var getDefaultSetting=displayDOMUtils.getDefaultSetting;var WebGLUtils=(function WebGLUtilsClosure(){function loadShader(gl,code,shaderType){var shader=gl.createShader(shaderType);gl.shaderSource(shader,code);gl.compileShader(shader);var compiled=gl.getShaderParameter(shader,gl.COMPILE_STATUS);if(!compiled){var errorMsg=gl.getShaderInfoLog(shader);throw new Error('Error during shader compilation: '+errorMsg);}
return shader;}
function createVertexShader(gl,code){return loadShader(gl,code,gl.VERTEX_SHADER);}
function createFragmentShader(gl,code){return loadShader(gl,code,gl.FRAGMENT_SHADER);}
function createProgram(gl,shaders){var program=gl.createProgram();for(var i=0,ii=shaders.length;i<ii;++i){gl.attachShader(program,shaders[i]);}
gl.linkProgram(program);var linked=gl.getProgramParameter(program,gl.LINK_STATUS);if(!linked){var errorMsg=gl.getProgramInfoLog(program);throw new Error('Error during program linking: '+errorMsg);}
return program;}
function createTexture(gl,image,textureId){gl.activeTexture(textureId);var texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,image);return texture;}
var currentGL,currentCanvas;function generateGL(){if(currentGL){return;}
currentCanvas=document.createElement('canvas');currentGL=currentCanvas.getContext('webgl',{premultipliedalpha:false});}
var smaskVertexShaderCode='\
  attribute vec2 a_position;                                    \
  attribute vec2 a_texCoord;                                    \
                                                                \
  uniform vec2 u_resolution;                                    \
                                                                \
  varying vec2 v_texCoord;                                      \
                                                                \
  void main() {                                                 \
    vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0;   \
    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \
                                                                \
    v_texCoord = a_texCoord;                                    \
  }                                                             ';var smaskFragmentShaderCode='\
  precision mediump float;                                      \
                                                                \
  uniform vec4 u_backdrop;                                      \
  uniform int u_subtype;                                        \
  uniform sampler2D u_image;                                    \
  uniform sampler2D u_mask;                                     \
                                                                \
  varying vec2 v_texCoord;                                      \
                                                                \
  void main() {                                                 \
    vec4 imageColor = texture2D(u_image, v_texCoord);           \
    vec4 maskColor = texture2D(u_mask, v_texCoord);             \
    if (u_backdrop.a > 0.0) {                                   \
      maskColor.rgb = maskColor.rgb * maskColor.a +             \
                      u_backdrop.rgb * (1.0 - maskColor.a);     \
    }                                                           \
    float lum;                                                  \
    if (u_subtype == 0) {                                       \
      lum = maskColor.a;                                        \
    } else {                                                    \
      lum = maskColor.r * 0.3 + maskColor.g * 0.59 +            \
            maskColor.b * 0.11;                                 \
    }                                                           \
    imageColor.a *= lum;                                        \
    imageColor.rgb *= imageColor.a;                             \
    gl_FragColor = imageColor;                                  \
  }                                                             ';var smaskCache=null;function initSmaskGL(){var canvas,gl;generateGL();canvas=currentCanvas;currentCanvas=null;gl=currentGL;currentGL=null;var vertexShader=createVertexShader(gl,smaskVertexShaderCode);var fragmentShader=createFragmentShader(gl,smaskFragmentShaderCode);var program=createProgram(gl,[vertexShader,fragmentShader]);gl.useProgram(program);var cache={};cache.gl=gl;cache.canvas=canvas;cache.resolutionLocation=gl.getUniformLocation(program,'u_resolution');cache.positionLocation=gl.getAttribLocation(program,'a_position');cache.backdropLocation=gl.getUniformLocation(program,'u_backdrop');cache.subtypeLocation=gl.getUniformLocation(program,'u_subtype');var texCoordLocation=gl.getAttribLocation(program,'a_texCoord');var texLayerLocation=gl.getUniformLocation(program,'u_image');var texMaskLocation=gl.getUniformLocation(program,'u_mask');var texCoordBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texCoordBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([0.0,0.0,1.0,0.0,0.0,1.0,0.0,1.0,1.0,0.0,1.0,1.0]),gl.STATIC_DRAW);gl.enableVertexAttribArray(texCoordLocation);gl.vertexAttribPointer(texCoordLocation,2,gl.FLOAT,false,0,0);gl.uniform1i(texLayerLocation,0);gl.uniform1i(texMaskLocation,1);smaskCache=cache;}
function composeSMask(layer,mask,properties){var width=layer.width,height=layer.height;if(!smaskCache){initSmaskGL();}
var cache=smaskCache,canvas=cache.canvas,gl=cache.gl;canvas.width=width;canvas.height=height;gl.viewport(0,0,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.uniform2f(cache.resolutionLocation,width,height);if(properties.backdrop){gl.uniform4f(cache.resolutionLocation,properties.backdrop[0],properties.backdrop[1],properties.backdrop[2],1);}else{gl.uniform4f(cache.resolutionLocation,0,0,0,0);}
gl.uniform1i(cache.subtypeLocation,properties.subtype==='Luminosity'?1:0);var texture=createTexture(gl,layer,gl.TEXTURE0);var maskTexture=createTexture(gl,mask,gl.TEXTURE1);var buffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,buffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([0,0,width,0,0,height,0,height,width,0,width,height]),gl.STATIC_DRAW);gl.enableVertexAttribArray(cache.positionLocation);gl.vertexAttribPointer(cache.positionLocation,2,gl.FLOAT,false,0,0);gl.clearColor(0,0,0,0);gl.enable(gl.BLEND);gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);gl.clear(gl.COLOR_BUFFER_BIT);gl.drawArrays(gl.TRIANGLES,0,6);gl.flush();gl.deleteTexture(texture);gl.deleteTexture(maskTexture);gl.deleteBuffer(buffer);return canvas;}
var figuresVertexShaderCode='\
  attribute vec2 a_position;                                    \
  attribute vec3 a_color;                                       \
                                                                \
  uniform vec2 u_resolution;                                    \
  uniform vec2 u_scale;                                         \
  uniform vec2 u_offset;                                        \
                                                                \
  varying vec4 v_color;                                         \
                                                                \
  void main() {                                                 \
    vec2 position = (a_position + u_offset) * u_scale;          \
    vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0;     \
    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \
                                                                \
    v_color = vec4(a_color / 255.0, 1.0);                       \
  }                                                             ';var figuresFragmentShaderCode='\
  precision mediump float;                                      \
                                                                \
  varying vec4 v_color;                                         \
                                                                \
  void main() {                                                 \
    gl_FragColor = v_color;                                     \
  }                                                             ';var figuresCache=null;function initFiguresGL(){var canvas,gl;generateGL();canvas=currentCanvas;currentCanvas=null;gl=currentGL;currentGL=null;var vertexShader=createVertexShader(gl,figuresVertexShaderCode);var fragmentShader=createFragmentShader(gl,figuresFragmentShaderCode);var program=createProgram(gl,[vertexShader,fragmentShader]);gl.useProgram(program);var cache={};cache.gl=gl;cache.canvas=canvas;cache.resolutionLocation=gl.getUniformLocation(program,'u_resolution');cache.scaleLocation=gl.getUniformLocation(program,'u_scale');cache.offsetLocation=gl.getUniformLocation(program,'u_offset');cache.positionLocation=gl.getAttribLocation(program,'a_position');cache.colorLocation=gl.getAttribLocation(program,'a_color');figuresCache=cache;}
function drawFigures(width,height,backgroundColor,figures,context){if(!figuresCache){initFiguresGL();}
var cache=figuresCache,canvas=cache.canvas,gl=cache.gl;canvas.width=width;canvas.height=height;gl.viewport(0,0,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.uniform2f(cache.resolutionLocation,width,height);var count=0;var i,ii,rows;for(i=0,ii=figures.length;i<ii;i++){switch(figures[i].type){case'lattice':rows=(figures[i].coords.length/figures[i].verticesPerRow)|0;count+=(rows-1)*(figures[i].verticesPerRow-1)*6;break;case'triangles':count+=figures[i].coords.length;break;}}
var coords=new Float32Array(count*2);var colors=new Uint8Array(count*3);var coordsMap=context.coords,colorsMap=context.colors;var pIndex=0,cIndex=0;for(i=0,ii=figures.length;i<ii;i++){var figure=figures[i],ps=figure.coords,cs=figure.colors;switch(figure.type){case'lattice':var cols=figure.verticesPerRow;rows=(ps.length/cols)|0;for(var row=1;row<rows;row++){var offset=row*cols+1;for(var col=1;col<cols;col++,offset++){coords[pIndex]=coordsMap[ps[offset-cols-1]];coords[pIndex+1]=coordsMap[ps[offset-cols-1]+1];coords[pIndex+2]=coordsMap[ps[offset-cols]];coords[pIndex+3]=coordsMap[ps[offset-cols]+1];coords[pIndex+4]=coordsMap[ps[offset-1]];coords[pIndex+5]=coordsMap[ps[offset-1]+1];colors[cIndex]=colorsMap[cs[offset-cols-1]];colors[cIndex+1]=colorsMap[cs[offset-cols-1]+1];colors[cIndex+2]=colorsMap[cs[offset-cols-1]+2];colors[cIndex+3]=colorsMap[cs[offset-cols]];colors[cIndex+4]=colorsMap[cs[offset-cols]+1];colors[cIndex+5]=colorsMap[cs[offset-cols]+2];colors[cIndex+6]=colorsMap[cs[offset-1]];colors[cIndex+7]=colorsMap[cs[offset-1]+1];colors[cIndex+8]=colorsMap[cs[offset-1]+2];coords[pIndex+6]=coords[pIndex+2];coords[pIndex+7]=coords[pIndex+3];coords[pIndex+8]=coords[pIndex+4];coords[pIndex+9]=coords[pIndex+5];coords[pIndex+10]=coordsMap[ps[offset]];coords[pIndex+11]=coordsMap[ps[offset]+1];colors[cIndex+9]=colors[cIndex+3];colors[cIndex+10]=colors[cIndex+4];colors[cIndex+11]=colors[cIndex+5];colors[cIndex+12]=colors[cIndex+6];colors[cIndex+13]=colors[cIndex+7];colors[cIndex+14]=colors[cIndex+8];colors[cIndex+15]=colorsMap[cs[offset]];colors[cIndex+16]=colorsMap[cs[offset]+1];colors[cIndex+17]=colorsMap[cs[offset]+2];pIndex+=12;cIndex+=18;}}
break;case'triangles':for(var j=0,jj=ps.length;j<jj;j++){coords[pIndex]=coordsMap[ps[j]];coords[pIndex+1]=coordsMap[ps[j]+1];colors[cIndex]=colorsMap[cs[j]];colors[cIndex+1]=colorsMap[cs[j]+1];colors[cIndex+2]=colorsMap[cs[j]+2];pIndex+=2;cIndex+=3;}
break;}}
if(backgroundColor){gl.clearColor(backgroundColor[0]/255,backgroundColor[1]/255,backgroundColor[2]/255,1.0);}else{gl.clearColor(0,0,0,0);}
gl.clear(gl.COLOR_BUFFER_BIT);var coordsBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,coordsBuffer);gl.bufferData(gl.ARRAY_BUFFER,coords,gl.STATIC_DRAW);gl.enableVertexAttribArray(cache.positionLocation);gl.vertexAttribPointer(cache.positionLocation,2,gl.FLOAT,false,0,0);var colorsBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,colorsBuffer);gl.bufferData(gl.ARRAY_BUFFER,colors,gl.STATIC_DRAW);gl.enableVertexAttribArray(cache.colorLocation);gl.vertexAttribPointer(cache.colorLocation,3,gl.UNSIGNED_BYTE,false,0,0);gl.uniform2f(cache.scaleLocation,context.scaleX,context.scaleY);gl.uniform2f(cache.offsetLocation,context.offsetX,context.offsetY);gl.drawArrays(gl.TRIANGLES,0,count);gl.flush();gl.deleteBuffer(coordsBuffer);gl.deleteBuffer(colorsBuffer);return canvas;}
function cleanup(){if(smaskCache&&smaskCache.canvas){smaskCache.canvas.width=0;smaskCache.canvas.height=0;}
if(figuresCache&&figuresCache.canvas){figuresCache.canvas.width=0;figuresCache.canvas.height=0;}
smaskCache=null;figuresCache=null;}
return{get isEnabled(){if(getDefaultSetting('disableWebGL')){return false;}
var enabled=false;try{generateGL();enabled=!!currentGL;}catch(e){}
return shadow(this,'isEnabled',enabled);},composeSMask:composeSMask,drawFigures:drawFigures,clear:cleanup};})();exports.WebGLUtils=WebGLUtils;}));(function(root,factory){{factory((root.pdfjsDisplayPatternHelper={}),root.pdfjsSharedUtil,root.pdfjsDisplayWebGL);}}(this,function(exports,sharedUtil,displayWebGL){var Util=sharedUtil.Util;var info=sharedUtil.info;var isArray=sharedUtil.isArray;var error=sharedUtil.error;var WebGLUtils=displayWebGL.WebGLUtils;var ShadingIRs={};ShadingIRs.RadialAxial={fromIR:function RadialAxial_fromIR(raw){var type=raw[1];var colorStops=raw[2];var p0=raw[3];var p1=raw[4];var r0=raw[5];var r1=raw[6];return{type:'Pattern',getPattern:function RadialAxial_getPattern(ctx){var grad;if(type==='axial'){grad=ctx.createLinearGradient(p0[0],p0[1],p1[0],p1[1]);}else if(type==='radial'){grad=ctx.createRadialGradient(p0[0],p0[1],r0,p1[0],p1[1],r1);}
for(var i=0,ii=colorStops.length;i<ii;++i){var c=colorStops[i];grad.addColorStop(c[0],c[1]);}
return grad;}};}};var createMeshCanvas=(function createMeshCanvasClosure(){function drawTriangle(data,context,p1,p2,p3,c1,c2,c3){var coords=context.coords,colors=context.colors;var bytes=data.data,rowSize=data.width*4;var tmp;if(coords[p1+1]>coords[p2+1]){tmp=p1;p1=p2;p2=tmp;tmp=c1;c1=c2;c2=tmp;}
if(coords[p2+1]>coords[p3+1]){tmp=p2;p2=p3;p3=tmp;tmp=c2;c2=c3;c3=tmp;}
if(coords[p1+1]>coords[p2+1]){tmp=p1;p1=p2;p2=tmp;tmp=c1;c1=c2;c2=tmp;}
var x1=(coords[p1]+context.offsetX)*context.scaleX;var y1=(coords[p1+1]+context.offsetY)*context.scaleY;var x2=(coords[p2]+context.offsetX)*context.scaleX;var y2=(coords[p2+1]+context.offsetY)*context.scaleY;var x3=(coords[p3]+context.offsetX)*context.scaleX;var y3=(coords[p3+1]+context.offsetY)*context.scaleY;if(y1>=y3){return;}
var c1r=colors[c1],c1g=colors[c1+1],c1b=colors[c1+2];var c2r=colors[c2],c2g=colors[c2+1],c2b=colors[c2+2];var c3r=colors[c3],c3g=colors[c3+1],c3b=colors[c3+2];var minY=Math.round(y1),maxY=Math.round(y3);var xa,car,cag,cab;var xb,cbr,cbg,cbb;var k;for(var y=minY;y<=maxY;y++){if(y<y2){k=y<y1?0:y1===y2?1:(y1-y)/(y1-y2);xa=x1-(x1-x2)*k;car=c1r-(c1r-c2r)*k;cag=c1g-(c1g-c2g)*k;cab=c1b-(c1b-c2b)*k;}else{k=y>y3?1:y2===y3?0:(y2-y)/(y2-y3);xa=x2-(x2-x3)*k;car=c2r-(c2r-c3r)*k;cag=c2g-(c2g-c3g)*k;cab=c2b-(c2b-c3b)*k;}
k=y<y1?0:y>y3?1:(y1-y)/(y1-y3);xb=x1-(x1-x3)*k;cbr=c1r-(c1r-c3r)*k;cbg=c1g-(c1g-c3g)*k;cbb=c1b-(c1b-c3b)*k;var x1_=Math.round(Math.min(xa,xb));var x2_=Math.round(Math.max(xa,xb));var j=rowSize*y+x1_*4;for(var x=x1_;x<=x2_;x++){k=(xa-x)/(xa-xb);k=k<0?0:k>1?1:k;bytes[j++]=(car-(car-cbr)*k)|0;bytes[j++]=(cag-(cag-cbg)*k)|0;bytes[j++]=(cab-(cab-cbb)*k)|0;bytes[j++]=255;}}}
function drawFigure(data,figure,context){var ps=figure.coords;var cs=figure.colors;var i,ii;switch(figure.type){case'lattice':var verticesPerRow=figure.verticesPerRow;var rows=Math.floor(ps.length/verticesPerRow)-1;var cols=verticesPerRow-1;for(i=0;i<rows;i++){var q=i*verticesPerRow;for(var j=0;j<cols;j++,q++){drawTriangle(data,context,ps[q],ps[q+1],ps[q+verticesPerRow],cs[q],cs[q+1],cs[q+verticesPerRow]);drawTriangle(data,context,ps[q+verticesPerRow+1],ps[q+1],ps[q+verticesPerRow],cs[q+verticesPerRow+1],cs[q+1],cs[q+verticesPerRow]);}}
break;case'triangles':for(i=0,ii=ps.length;i<ii;i+=3){drawTriangle(data,context,ps[i],ps[i+1],ps[i+2],cs[i],cs[i+1],cs[i+2]);}
break;default:error('illigal figure');break;}}
function createMeshCanvas(bounds,combinesScale,coords,colors,figures,backgroundColor,cachedCanvases){var EXPECTED_SCALE=1.1;var MAX_PATTERN_SIZE=3000;var BORDER_SIZE=2;var offsetX=Math.floor(bounds[0]);var offsetY=Math.floor(bounds[1]);var boundsWidth=Math.ceil(bounds[2])-offsetX;var boundsHeight=Math.ceil(bounds[3])-offsetY;var width=Math.min(Math.ceil(Math.abs(boundsWidth*combinesScale[0]*EXPECTED_SCALE)),MAX_PATTERN_SIZE);var height=Math.min(Math.ceil(Math.abs(boundsHeight*combinesScale[1]*EXPECTED_SCALE)),MAX_PATTERN_SIZE);var scaleX=boundsWidth/width;var scaleY=boundsHeight/height;var context={coords:coords,colors:colors,offsetX:-offsetX,offsetY:-offsetY,scaleX:1/scaleX,scaleY:1/scaleY};var paddedWidth=width+BORDER_SIZE*2;var paddedHeight=height+BORDER_SIZE*2;var canvas,tmpCanvas,i,ii;if(WebGLUtils.isEnabled){canvas=WebGLUtils.drawFigures(width,height,backgroundColor,figures,context);tmpCanvas=cachedCanvases.getCanvas('mesh',paddedWidth,paddedHeight,false);tmpCanvas.context.drawImage(canvas,BORDER_SIZE,BORDER_SIZE);canvas=tmpCanvas.canvas;}else{tmpCanvas=cachedCanvases.getCanvas('mesh',paddedWidth,paddedHeight,false);var tmpCtx=tmpCanvas.context;var data=tmpCtx.createImageData(width,height);if(backgroundColor){var bytes=data.data;for(i=0,ii=bytes.length;i<ii;i+=4){bytes[i]=backgroundColor[0];bytes[i+1]=backgroundColor[1];bytes[i+2]=backgroundColor[2];bytes[i+3]=255;}}
for(i=0;i<figures.length;i++){drawFigure(data,figures[i],context);}
tmpCtx.putImageData(data,BORDER_SIZE,BORDER_SIZE);canvas=tmpCanvas.canvas;}
return{canvas:canvas,offsetX:offsetX-BORDER_SIZE*scaleX,offsetY:offsetY-BORDER_SIZE*scaleY,scaleX:scaleX,scaleY:scaleY};}
return createMeshCanvas;})();ShadingIRs.Mesh={fromIR:function Mesh_fromIR(raw){var coords=raw[2];var colors=raw[3];var figures=raw[4];var bounds=raw[5];var matrix=raw[6];var background=raw[8];return{type:'Pattern',getPattern:function Mesh_getPattern(ctx,owner,shadingFill){var scale;if(shadingFill){scale=Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);}else{scale=Util.singularValueDecompose2dScale(owner.baseTransform);if(matrix){var matrixScale=Util.singularValueDecompose2dScale(matrix);scale=[scale[0]*matrixScale[0],scale[1]*matrixScale[1]];}}
var temporaryPatternCanvas=createMeshCanvas(bounds,scale,coords,colors,figures,shadingFill?null:background,owner.cachedCanvases);if(!shadingFill){ctx.setTransform.apply(ctx,owner.baseTransform);if(matrix){ctx.transform.apply(ctx,matrix);}}
ctx.translate(temporaryPatternCanvas.offsetX,temporaryPatternCanvas.offsetY);ctx.scale(temporaryPatternCanvas.scaleX,temporaryPatternCanvas.scaleY);return ctx.createPattern(temporaryPatternCanvas.canvas,'no-repeat');}};}};ShadingIRs.Dummy={fromIR:function Dummy_fromIR(){return{type:'Pattern',getPattern:function Dummy_fromIR_getPattern(){return'hotpink';}};}};function getShadingPatternFromIR(raw){var shadingIR=ShadingIRs[raw[0]];if(!shadingIR){error('Unknown IR type: '+raw[0]);}
return shadingIR.fromIR(raw);}
var TilingPattern=(function TilingPatternClosure(){var PaintType={COLORED:1,UNCOLORED:2};var MAX_PATTERN_SIZE=3000;function TilingPattern(IR,color,ctx,canvasGraphicsFactory,baseTransform){this.operatorList=IR[2];this.matrix=IR[3]||[1,0,0,1,0,0];this.bbox=IR[4];this.xstep=IR[5];this.ystep=IR[6];this.paintType=IR[7];this.tilingType=IR[8];this.color=color;this.canvasGraphicsFactory=canvasGraphicsFactory;this.baseTransform=baseTransform;this.type='Pattern';this.ctx=ctx;}
TilingPattern.prototype={createPatternCanvas:function TilinPattern_createPatternCanvas(owner){var operatorList=this.operatorList;var bbox=this.bbox;var xstep=this.xstep;var ystep=this.ystep;var paintType=this.paintType;var tilingType=this.tilingType;var color=this.color;var canvasGraphicsFactory=this.canvasGraphicsFactory;info('TilingType: '+tilingType);var x0=bbox[0],y0=bbox[1],x1=bbox[2],y1=bbox[3];var topLeft=[x0,y0];var botRight=[x0+xstep,y0+ystep];var width=botRight[0]-topLeft[0];var height=botRight[1]-topLeft[1];var matrixScale=Util.singularValueDecompose2dScale(this.matrix);var curMatrixScale=Util.singularValueDecompose2dScale(this.baseTransform);var combinedScale=[matrixScale[0]*curMatrixScale[0],matrixScale[1]*curMatrixScale[1]];width=Math.min(Math.ceil(Math.abs(width*combinedScale[0])),MAX_PATTERN_SIZE);height=Math.min(Math.ceil(Math.abs(height*combinedScale[1])),MAX_PATTERN_SIZE);var tmpCanvas=owner.cachedCanvases.getCanvas('pattern',width,height,true);var tmpCtx=tmpCanvas.context;var graphics=canvasGraphicsFactory.createCanvasGraphics(tmpCtx);graphics.groupLevel=owner.groupLevel;this.setFillAndStrokeStyleToContext(tmpCtx,paintType,color);this.setScale(width,height,xstep,ystep);this.transformToScale(graphics);var tmpTranslate=[1,0,0,1,-topLeft[0],-topLeft[1]];graphics.transform.apply(graphics,tmpTranslate);this.clipBbox(graphics,bbox,x0,y0,x1,y1);graphics.executeOperatorList(operatorList);return tmpCanvas.canvas;},setScale:function TilingPattern_setScale(width,height,xstep,ystep){this.scale=[width/xstep,height/ystep];},transformToScale:function TilingPattern_transformToScale(graphics){var scale=this.scale;var tmpScale=[scale[0],0,0,scale[1],0,0];graphics.transform.apply(graphics,tmpScale);},scaleToContext:function TilingPattern_scaleToContext(){var scale=this.scale;this.ctx.scale(1/scale[0],1/scale[1]);},clipBbox:function clipBbox(graphics,bbox,x0,y0,x1,y1){if(bbox&&isArray(bbox)&&bbox.length===4){var bboxWidth=x1-x0;var bboxHeight=y1-y0;graphics.ctx.rect(x0,y0,bboxWidth,bboxHeight);graphics.clip();graphics.endPath();}},setFillAndStrokeStyleToContext:function setFillAndStrokeStyleToContext(context,paintType,color){switch(paintType){case PaintType.COLORED:var ctx=this.ctx;context.fillStyle=ctx.fillStyle;context.strokeStyle=ctx.strokeStyle;break;case PaintType.UNCOLORED:var cssColor=Util.makeCssRgb(color[0],color[1],color[2]);context.fillStyle=cssColor;context.strokeStyle=cssColor;break;default:error('Unsupported paint type: '+paintType);}},getPattern:function TilingPattern_getPattern(ctx,owner){var temporaryPatternCanvas=this.createPatternCanvas(owner);ctx=this.ctx;ctx.setTransform.apply(ctx,this.baseTransform);ctx.transform.apply(ctx,this.matrix);this.scaleToContext();return ctx.createPattern(temporaryPatternCanvas,'repeat');}};return TilingPattern;})();exports.getShadingPatternFromIR=getShadingPatternFromIR;exports.TilingPattern=TilingPattern;}));(function(root,factory){{factory((root.pdfjsDisplayCanvas={}),root.pdfjsSharedUtil,root.pdfjsDisplayDOMUtils,root.pdfjsDisplayPatternHelper,root.pdfjsDisplayWebGL);}}(this,function(exports,sharedUtil,displayDOMUtils,displayPatternHelper,displayWebGL){var FONT_IDENTITY_MATRIX=sharedUtil.FONT_IDENTITY_MATRIX;var IDENTITY_MATRIX=sharedUtil.IDENTITY_MATRIX;var ImageKind=sharedUtil.ImageKind;var OPS=sharedUtil.OPS;var TextRenderingMode=sharedUtil.TextRenderingMode;var Uint32ArrayView=sharedUtil.Uint32ArrayView;var Util=sharedUtil.Util;var assert=sharedUtil.assert;var info=sharedUtil.info;var isNum=sharedUtil.isNum;var isArray=sharedUtil.isArray;var isLittleEndian=sharedUtil.isLittleEndian;var error=sharedUtil.error;var shadow=sharedUtil.shadow;var warn=sharedUtil.warn;var TilingPattern=displayPatternHelper.TilingPattern;var getShadingPatternFromIR=displayPatternHelper.getShadingPatternFromIR;var WebGLUtils=displayWebGL.WebGLUtils;var hasCanvasTypedArrays=displayDOMUtils.hasCanvasTypedArrays;var MIN_FONT_SIZE=16;var MAX_FONT_SIZE=100;var MAX_GROUP_SIZE=4096;var MIN_WIDTH_FACTOR=0.65;var COMPILE_TYPE3_GLYPHS=true;var MAX_SIZE_TO_COMPILE=1000;var FULL_CHUNK_HEIGHT=16;var HasCanvasTypedArraysCached={get value(){return shadow(HasCanvasTypedArraysCached,'value',hasCanvasTypedArrays());}};var IsLittleEndianCached={get value(){return shadow(IsLittleEndianCached,'value',isLittleEndian());}};function createScratchCanvas(width,height){var canvas=document.createElement('canvas');canvas.width=width;canvas.height=height;return canvas;}
function addContextCurrentTransform(ctx){if(!ctx.mozCurrentTransform){ctx._originalSave=ctx.save;ctx._originalRestore=ctx.restore;ctx._originalRotate=ctx.rotate;ctx._originalScale=ctx.scale;ctx._originalTranslate=ctx.translate;ctx._originalTransform=ctx.transform;ctx._originalSetTransform=ctx.setTransform;ctx._transformMatrix=ctx._transformMatrix||[1,0,0,1,0,0];ctx._transformStack=[];Object.defineProperty(ctx,'mozCurrentTransform',{get:function getCurrentTransform(){return this._transformMatrix;}});Object.defineProperty(ctx,'mozCurrentTransformInverse',{get:function getCurrentTransformInverse(){var m=this._transformMatrix;var a=m[0],b=m[1],c=m[2],d=m[3],e=m[4],f=m[5];var ad_bc=a*d-b*c;var bc_ad=b*c-a*d;return[d/ad_bc,b/bc_ad,c/bc_ad,a/ad_bc,(d*e-c*f)/bc_ad,(b*e-a*f)/ad_bc];}});ctx.save=function ctxSave(){var old=this._transformMatrix;this._transformStack.push(old);this._transformMatrix=old.slice(0,6);this._originalSave();};ctx.restore=function ctxRestore(){var prev=this._transformStack.pop();if(prev){this._transformMatrix=prev;this._originalRestore();}};ctx.translate=function ctxTranslate(x,y){var m=this._transformMatrix;m[4]=m[0]*x+m[2]*y+m[4];m[5]=m[1]*x+m[3]*y+m[5];this._originalTranslate(x,y);};ctx.scale=function ctxScale(x,y){var m=this._transformMatrix;m[0]=m[0]*x;m[1]=m[1]*x;m[2]=m[2]*y;m[3]=m[3]*y;this._originalScale(x,y);};ctx.transform=function ctxTransform(a,b,c,d,e,f){var m=this._transformMatrix;this._transformMatrix=[m[0]*a+m[2]*b,m[1]*a+m[3]*b,m[0]*c+m[2]*d,m[1]*c+m[3]*d,m[0]*e+m[2]*f+m[4],m[1]*e+m[3]*f+m[5]];ctx._originalTransform(a,b,c,d,e,f);};ctx.setTransform=function ctxSetTransform(a,b,c,d,e,f){this._transformMatrix=[a,b,c,d,e,f];ctx._originalSetTransform(a,b,c,d,e,f);};ctx.rotate=function ctxRotate(angle){var cosValue=Math.cos(angle);var sinValue=Math.sin(angle);var m=this._transformMatrix;this._transformMatrix=[m[0]*cosValue+m[2]*sinValue,m[1]*cosValue+m[3]*sinValue,m[0]*(-sinValue)+m[2]*cosValue,m[1]*(-sinValue)+m[3]*cosValue,m[4],m[5]];this._originalRotate(angle);};}}
var CachedCanvases=(function CachedCanvasesClosure(){function CachedCanvases(){this.cache=Object.create(null);}
CachedCanvases.prototype={getCanvas:function CachedCanvases_getCanvas(id,width,height,trackTransform){var canvasEntry;if(this.cache[id]!==undefined){canvasEntry=this.cache[id];canvasEntry.canvas.width=width;canvasEntry.canvas.height=height;canvasEntry.context.setTransform(1,0,0,1,0,0);}else{var canvas=createScratchCanvas(width,height);var ctx=canvas.getContext('2d');if(trackTransform){addContextCurrentTransform(ctx);}
this.cache[id]=canvasEntry={canvas:canvas,context:ctx};}
return canvasEntry;},clear:function(){for(var id in this.cache){var canvasEntry=this.cache[id];canvasEntry.canvas.width=0;canvasEntry.canvas.height=0;delete this.cache[id];}}};return CachedCanvases;})();function compileType3Glyph(imgData){var POINT_TO_PROCESS_LIMIT=1000;var width=imgData.width,height=imgData.height;var i,j,j0,width1=width+1;var points=new Uint8Array(width1*(height+1));var POINT_TYPES=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]);var lineSize=(width+7)&~7,data0=imgData.data;var data=new Uint8Array(lineSize*height),pos=0,ii;for(i=0,ii=data0.length;i<ii;i++){var mask=128,elem=data0[i];while(mask>0){data[pos++]=(elem&mask)?0:255;mask>>=1;}}
var count=0;pos=0;if(data[pos]!==0){points[0]=1;++count;}
for(j=1;j<width;j++){if(data[pos]!==data[pos+1]){points[j]=data[pos]?2:1;++count;}
pos++;}
if(data[pos]!==0){points[j]=2;++count;}
for(i=1;i<height;i++){pos=i*lineSize;j0=i*width1;if(data[pos-lineSize]!==data[pos]){points[j0]=data[pos]?1:8;++count;}
var sum=(data[pos]?4:0)+(data[pos-lineSize]?8:0);for(j=1;j<width;j++){sum=(sum>>2)+(data[pos+1]?4:0)+
(data[pos-lineSize+1]?8:0);if(POINT_TYPES[sum]){points[j0+j]=POINT_TYPES[sum];++count;}
pos++;}
if(data[pos-lineSize]!==data[pos]){points[j0+j]=data[pos]?2:4;++count;}
if(count>POINT_TO_PROCESS_LIMIT){return null;}}
pos=lineSize*(height-1);j0=i*width1;if(data[pos]!==0){points[j0]=8;++count;}
for(j=1;j<width;j++){if(data[pos]!==data[pos+1]){points[j0+j]=data[pos]?4:8;++count;}
pos++;}
if(data[pos]!==0){points[j0+j]=4;++count;}
if(count>POINT_TO_PROCESS_LIMIT){return null;}
var steps=new Int32Array([0,width1,-1,0,-width1,0,0,0,1]);var outlines=[];for(i=0;count&&i<=height;i++){var p=i*width1;var end=p+width;while(p<end&&!points[p]){p++;}
if(p===end){continue;}
var coords=[p%width1,i];var type=points[p],p0=p,pp;do{var step=steps[type];do{p+=step;}while(!points[p]);pp=points[p];if(pp!==5&&pp!==10){type=pp;points[p]=0;}else{type=pp&((0x33*type)>>4);points[p]&=(type>>2|type<<2);}
coords.push(p%width1);coords.push((p/width1)|0);--count;}while(p0!==p);outlines.push(coords);--i;}
var drawOutline=function(c){c.save();c.scale(1/width,-1/height);c.translate(0,-height);c.beginPath();for(var i=0,ii=outlines.length;i<ii;i++){var o=outlines[i];c.moveTo(o[0],o[1]);for(var j=2,jj=o.length;j<jj;j+=2){c.lineTo(o[j],o[j+1]);}}
c.fill();c.beginPath();c.restore();};return drawOutline;}
var CanvasExtraState=(function CanvasExtraStateClosure(){function CanvasExtraState(old){this.alphaIsShape=false;this.fontSize=0;this.fontSizeScale=1;this.textMatrix=IDENTITY_MATRIX;this.textMatrixScale=1;this.fontMatrix=FONT_IDENTITY_MATRIX;this.leading=0;this.x=0;this.y=0;this.lineX=0;this.lineY=0;this.charSpacing=0;this.wordSpacing=0;this.textHScale=1;this.textRenderingMode=TextRenderingMode.FILL;this.textRise=0;this.fillColor='#000000';this.strokeColor='#000000';this.patternFill=false;this.fillAlpha=1;this.strokeAlpha=1;this.lineWidth=1;this.activeSMask=null;this.resumeSMaskCtx=null;this.old=old;}
CanvasExtraState.prototype={clone:function CanvasExtraState_clone(){return Object.create(this);},setCurrentPoint:function CanvasExtraState_setCurrentPoint(x,y){this.x=x;this.y=y;}};return CanvasExtraState;})();var CanvasGraphics=(function CanvasGraphicsClosure(){var EXECUTION_TIME=15;var EXECUTION_STEPS=10;function CanvasGraphics(canvasCtx,commonObjs,objs,imageLayer){this.ctx=canvasCtx;this.current=new CanvasExtraState();this.stateStack=[];this.pendingClip=null;this.pendingEOFill=false;this.res=null;this.xobjs=null;this.commonObjs=commonObjs;this.objs=objs;this.imageLayer=imageLayer;this.groupStack=[];this.processingType3=null;this.baseTransform=null;this.baseTransformStack=[];this.groupLevel=0;this.smaskStack=[];this.smaskCounter=0;this.tempSMask=null;this.cachedCanvases=new CachedCanvases();if(canvasCtx){addContextCurrentTransform(canvasCtx);}
this.cachedGetSinglePixelWidth=null;}
function putBinaryImageData(ctx,imgData){if(typeof ImageData!=='undefined'&&imgData instanceof ImageData){ctx.putImageData(imgData,0,0);return;}
var height=imgData.height,width=imgData.width;var partialChunkHeight=height%FULL_CHUNK_HEIGHT;var fullChunks=(height-partialChunkHeight)/FULL_CHUNK_HEIGHT;var totalChunks=partialChunkHeight===0?fullChunks:fullChunks+1;var chunkImgData=ctx.createImageData(width,FULL_CHUNK_HEIGHT);var srcPos=0,destPos;var src=imgData.data;var dest=chunkImgData.data;var i,j,thisChunkHeight,elemsInThisChunk;if(imgData.kind===ImageKind.GRAYSCALE_1BPP){var srcLength=src.byteLength;var dest32=HasCanvasTypedArraysCached.value?new Uint32Array(dest.buffer):new Uint32ArrayView(dest);var dest32DataLength=dest32.length;var fullSrcDiff=(width+7)>>3;var white=0xFFFFFFFF;var black=(IsLittleEndianCached.value||!HasCanvasTypedArraysCached.value)?0xFF000000:0x000000FF;for(i=0;i<totalChunks;i++){thisChunkHeight=(i<fullChunks)?FULL_CHUNK_HEIGHT:partialChunkHeight;destPos=0;for(j=0;j<thisChunkHeight;j++){var srcDiff=srcLength-srcPos;var k=0;var kEnd=(srcDiff>fullSrcDiff)?width:srcDiff*8-7;var kEndUnrolled=kEnd&~7;var mask=0;var srcByte=0;for(;k<kEndUnrolled;k+=8){srcByte=src[srcPos++];dest32[destPos++]=(srcByte&128)?white:black;dest32[destPos++]=(srcByte&64)?white:black;dest32[destPos++]=(srcByte&32)?white:black;dest32[destPos++]=(srcByte&16)?white:black;dest32[destPos++]=(srcByte&8)?white:black;dest32[destPos++]=(srcByte&4)?white:black;dest32[destPos++]=(srcByte&2)?white:black;dest32[destPos++]=(srcByte&1)?white:black;}
for(;k<kEnd;k++){if(mask===0){srcByte=src[srcPos++];mask=128;}
dest32[destPos++]=(srcByte&mask)?white:black;mask>>=1;}}
while(destPos<dest32DataLength){dest32[destPos++]=0;}
ctx.putImageData(chunkImgData,0,i*FULL_CHUNK_HEIGHT);}}else if(imgData.kind===ImageKind.RGBA_32BPP){j=0;elemsInThisChunk=width*FULL_CHUNK_HEIGHT*4;for(i=0;i<fullChunks;i++){dest.set(src.subarray(srcPos,srcPos+elemsInThisChunk));srcPos+=elemsInThisChunk;ctx.putImageData(chunkImgData,0,j);j+=FULL_CHUNK_HEIGHT;}
if(i<totalChunks){elemsInThisChunk=width*partialChunkHeight*4;dest.set(src.subarray(srcPos,srcPos+elemsInThisChunk));ctx.putImageData(chunkImgData,0,j);}}else if(imgData.kind===ImageKind.RGB_24BPP){thisChunkHeight=FULL_CHUNK_HEIGHT;elemsInThisChunk=width*thisChunkHeight;for(i=0;i<totalChunks;i++){if(i>=fullChunks){thisChunkHeight=partialChunkHeight;elemsInThisChunk=width*thisChunkHeight;}
destPos=0;for(j=elemsInThisChunk;j--;){dest[destPos++]=src[srcPos++];dest[destPos++]=src[srcPos++];dest[destPos++]=src[srcPos++];dest[destPos++]=255;}
ctx.putImageData(chunkImgData,0,i*FULL_CHUNK_HEIGHT);}}else{error('bad image kind: '+imgData.kind);}}
function putBinaryImageMask(ctx,imgData){var height=imgData.height,width=imgData.width;var partialChunkHeight=height%FULL_CHUNK_HEIGHT;var fullChunks=(height-partialChunkHeight)/FULL_CHUNK_HEIGHT;var totalChunks=partialChunkHeight===0?fullChunks:fullChunks+1;var chunkImgData=ctx.createImageData(width,FULL_CHUNK_HEIGHT);var srcPos=0;var src=imgData.data;var dest=chunkImgData.data;for(var i=0;i<totalChunks;i++){var thisChunkHeight=(i<fullChunks)?FULL_CHUNK_HEIGHT:partialChunkHeight;var destPos=3;for(var j=0;j<thisChunkHeight;j++){var mask=0;for(var k=0;k<width;k++){if(!mask){var elem=src[srcPos++];mask=128;}
dest[destPos]=(elem&mask)?0:255;destPos+=4;mask>>=1;}}
ctx.putImageData(chunkImgData,0,i*FULL_CHUNK_HEIGHT);}}
function copyCtxState(sourceCtx,destCtx){var properties=['strokeStyle','fillStyle','fillRule','globalAlpha','lineWidth','lineCap','lineJoin','miterLimit','globalCompositeOperation','font'];for(var i=0,ii=properties.length;i<ii;i++){var property=properties[i];if(sourceCtx[property]!==undefined){destCtx[property]=sourceCtx[property];}}
if(sourceCtx.setLineDash!==undefined){destCtx.setLineDash(sourceCtx.getLineDash());destCtx.lineDashOffset=sourceCtx.lineDashOffset;}else if(sourceCtx.mozDashOffset!==undefined){destCtx.mozDash=sourceCtx.mozDash;destCtx.mozDashOffset=sourceCtx.mozDashOffset;}}
function composeSMaskBackdrop(bytes,r0,g0,b0){var length=bytes.length;for(var i=3;i<length;i+=4){var alpha=bytes[i];if(alpha===0){bytes[i-3]=r0;bytes[i-2]=g0;bytes[i-1]=b0;}else if(alpha<255){var alpha_=255-alpha;bytes[i-3]=(bytes[i-3]*alpha+r0*alpha_)>>8;bytes[i-2]=(bytes[i-2]*alpha+g0*alpha_)>>8;bytes[i-1]=(bytes[i-1]*alpha+b0*alpha_)>>8;}}}
function composeSMaskAlpha(maskData,layerData,transferMap){var length=maskData.length;var scale=1/255;for(var i=3;i<length;i+=4){var alpha=transferMap?transferMap[maskData[i]]:maskData[i];layerData[i]=(layerData[i]*alpha*scale)|0;}}
function composeSMaskLuminosity(maskData,layerData,transferMap){var length=maskData.length;for(var i=3;i<length;i+=4){var y=(maskData[i-3]*77)+
(maskData[i-2]*152)+
(maskData[i-1]*28);layerData[i]=transferMap?(layerData[i]*transferMap[y>>8])>>8:(layerData[i]*y)>>16;}}
function genericComposeSMask(maskCtx,layerCtx,width,height,subtype,backdrop,transferMap){var hasBackdrop=!!backdrop;var r0=hasBackdrop?backdrop[0]:0;var g0=hasBackdrop?backdrop[1]:0;var b0=hasBackdrop?backdrop[2]:0;var composeFn;if(subtype==='Luminosity'){composeFn=composeSMaskLuminosity;}else{composeFn=composeSMaskAlpha;}
var PIXELS_TO_PROCESS=1048576;var chunkSize=Math.min(height,Math.ceil(PIXELS_TO_PROCESS/width));for(var row=0;row<height;row+=chunkSize){var chunkHeight=Math.min(chunkSize,height-row);var maskData=maskCtx.getImageData(0,row,width,chunkHeight);var layerData=layerCtx.getImageData(0,row,width,chunkHeight);if(hasBackdrop){composeSMaskBackdrop(maskData.data,r0,g0,b0);}
composeFn(maskData.data,layerData.data,transferMap);maskCtx.putImageData(layerData,0,row);}}
function composeSMask(ctx,smask,layerCtx){var mask=smask.canvas;var maskCtx=smask.context;ctx.setTransform(smask.scaleX,0,0,smask.scaleY,smask.offsetX,smask.offsetY);var backdrop=smask.backdrop||null;if(!smask.transferMap&&WebGLUtils.isEnabled){var composed=WebGLUtils.composeSMask(layerCtx.canvas,mask,{subtype:smask.subtype,backdrop:backdrop});ctx.setTransform(1,0,0,1,0,0);ctx.drawImage(composed,smask.offsetX,smask.offsetY);return;}
genericComposeSMask(maskCtx,layerCtx,mask.width,mask.height,smask.subtype,backdrop,smask.transferMap);ctx.drawImage(mask,0,0);}
var LINE_CAP_STYLES=['butt','round','square'];var LINE_JOIN_STYLES=['miter','round','bevel'];var NORMAL_CLIP={};var EO_CLIP={};CanvasGraphics.prototype={beginDrawing:function CanvasGraphics_beginDrawing(transform,viewport,transparency){var width=this.ctx.canvas.width;var height=this.ctx.canvas.height;this.ctx.save();this.ctx.fillStyle='rgb(255, 255, 255)';this.ctx.fillRect(0,0,width,height);this.ctx.restore();if(transparency){var transparentCanvas=this.cachedCanvases.getCanvas('transparent',width,height,true);this.compositeCtx=this.ctx;this.transparentCanvas=transparentCanvas.canvas;this.ctx=transparentCanvas.context;this.ctx.save();this.ctx.transform.apply(this.ctx,this.compositeCtx.mozCurrentTransform);}
this.ctx.save();if(transform){this.ctx.transform.apply(this.ctx,transform);}
this.ctx.transform.apply(this.ctx,viewport.transform);this.baseTransform=this.ctx.mozCurrentTransform.slice();if(this.imageLayer){this.imageLayer.beginLayout();}},executeOperatorList:function CanvasGraphics_executeOperatorList(operatorList,executionStartIdx,continueCallback,stepper){var argsArray=operatorList.argsArray;var fnArray=operatorList.fnArray;var i=executionStartIdx||0;var argsArrayLen=argsArray.length;if(argsArrayLen===i){return i;}
var chunkOperations=(argsArrayLen-i>EXECUTION_STEPS&&typeof continueCallback==='function');var endTime=chunkOperations?Date.now()+EXECUTION_TIME:0;var steps=0;var commonObjs=this.commonObjs;var objs=this.objs;var fnId;while(true){if(stepper!==undefined&&i===stepper.nextBreakPoint){stepper.breakIt(i,continueCallback);return i;}
fnId=fnArray[i];if(fnId!==OPS.dependency){this[fnId].apply(this,argsArray[i]);}else{var deps=argsArray[i];for(var n=0,nn=deps.length;n<nn;n++){var depObjId=deps[n];var common=depObjId[0]==='g'&&depObjId[1]==='_';var objsPool=common?commonObjs:objs;if(!objsPool.isResolved(depObjId)){objsPool.get(depObjId,continueCallback);return i;}}}
i++;if(i===argsArrayLen){return i;}
if(chunkOperations&&++steps>EXECUTION_STEPS){if(Date.now()>endTime){continueCallback();return i;}
steps=0;}}},endDrawing:function CanvasGraphics_endDrawing(){if(this.current.activeSMask!==null){this.endSMaskGroup();}
this.ctx.restore();if(this.transparentCanvas){this.ctx=this.compositeCtx;this.ctx.save();this.ctx.setTransform(1,0,0,1,0,0);this.ctx.drawImage(this.transparentCanvas,0,0);this.ctx.restore();this.transparentCanvas=null;}
this.cachedCanvases.clear();WebGLUtils.clear();if(this.imageLayer){this.imageLayer.endLayout();}},setLineWidth:function CanvasGraphics_setLineWidth(width){this.current.lineWidth=width;this.ctx.lineWidth=width;},setLineCap:function CanvasGraphics_setLineCap(style){this.ctx.lineCap=LINE_CAP_STYLES[style];},setLineJoin:function CanvasGraphics_setLineJoin(style){this.ctx.lineJoin=LINE_JOIN_STYLES[style];},setMiterLimit:function CanvasGraphics_setMiterLimit(limit){this.ctx.miterLimit=limit;},setDash:function CanvasGraphics_setDash(dashArray,dashPhase){var ctx=this.ctx;if(ctx.setLineDash!==undefined){ctx.setLineDash(dashArray);ctx.lineDashOffset=dashPhase;}else{ctx.mozDash=dashArray;ctx.mozDashOffset=dashPhase;}},setRenderingIntent:function CanvasGraphics_setRenderingIntent(intent){},setFlatness:function CanvasGraphics_setFlatness(flatness){},setGState:function CanvasGraphics_setGState(states){for(var i=0,ii=states.length;i<ii;i++){var state=states[i];var key=state[0];var value=state[1];switch(key){case'LW':this.setLineWidth(value);break;case'LC':this.setLineCap(value);break;case'LJ':this.setLineJoin(value);break;case'ML':this.setMiterLimit(value);break;case'D':this.setDash(value[0],value[1]);break;case'RI':this.setRenderingIntent(value);break;case'FL':this.setFlatness(value);break;case'Font':this.setFont(value[0],value[1]);break;case'CA':this.current.strokeAlpha=state[1];break;case'ca':this.current.fillAlpha=state[1];this.ctx.globalAlpha=state[1];break;case'BM':if(value&&value.name&&(value.name!=='Normal')){var mode=value.name.replace(/([A-Z])/g,function(c){return'-'+c.toLowerCase();}).substring(1);this.ctx.globalCompositeOperation=mode;if(this.ctx.globalCompositeOperation!==mode){warn('globalCompositeOperation "'+mode+'" is not supported');}}else{this.ctx.globalCompositeOperation='source-over';}
break;case'SMask':if(this.current.activeSMask){if(this.stateStack.length>0&&(this.stateStack[this.stateStack.length-1].activeSMask===this.current.activeSMask)){this.suspendSMaskGroup();}else{this.endSMaskGroup();}}
this.current.activeSMask=value?this.tempSMask:null;if(this.current.activeSMask){this.beginSMaskGroup();}
this.tempSMask=null;break;}}},beginSMaskGroup:function CanvasGraphics_beginSMaskGroup(){var activeSMask=this.current.activeSMask;var drawnWidth=activeSMask.canvas.width;var drawnHeight=activeSMask.canvas.height;var cacheId='smaskGroupAt'+this.groupLevel;var scratchCanvas=this.cachedCanvases.getCanvas(cacheId,drawnWidth,drawnHeight,true);var currentCtx=this.ctx;var currentTransform=currentCtx.mozCurrentTransform;this.ctx.save();var groupCtx=scratchCanvas.context;groupCtx.scale(1/activeSMask.scaleX,1/activeSMask.scaleY);groupCtx.translate(-activeSMask.offsetX,-activeSMask.offsetY);groupCtx.transform.apply(groupCtx,currentTransform);activeSMask.startTransformInverse=groupCtx.mozCurrentTransformInverse;copyCtxState(currentCtx,groupCtx);this.ctx=groupCtx;this.setGState([['BM','Normal'],['ca',1],['CA',1]]);this.groupStack.push(currentCtx);this.groupLevel++;},suspendSMaskGroup:function CanvasGraphics_endSMaskGroup(){var groupCtx=this.ctx;this.groupLevel--;this.ctx=this.groupStack.pop();composeSMask(this.ctx,this.current.activeSMask,groupCtx);this.ctx.restore();this.ctx.save();copyCtxState(groupCtx,this.ctx);this.current.resumeSMaskCtx=groupCtx;var deltaTransform=Util.transform(this.current.activeSMask.startTransformInverse,groupCtx.mozCurrentTransform);this.ctx.transform.apply(this.ctx,deltaTransform);groupCtx.save();groupCtx.setTransform(1,0,0,1,0,0);groupCtx.clearRect(0,0,groupCtx.canvas.width,groupCtx.canvas.height);groupCtx.restore();},resumeSMaskGroup:function CanvasGraphics_endSMaskGroup(){var groupCtx=this.current.resumeSMaskCtx;var currentCtx=this.ctx;this.ctx=groupCtx;this.groupStack.push(currentCtx);this.groupLevel++;},endSMaskGroup:function CanvasGraphics_endSMaskGroup(){var groupCtx=this.ctx;this.groupLevel--;this.ctx=this.groupStack.pop();composeSMask(this.ctx,this.current.activeSMask,groupCtx);this.ctx.restore();copyCtxState(groupCtx,this.ctx);var deltaTransform=Util.transform(this.current.activeSMask.startTransformInverse,groupCtx.mozCurrentTransform);this.ctx.transform.apply(this.ctx,deltaTransform);},save:function CanvasGraphics_save(){this.ctx.save();var old=this.current;this.stateStack.push(old);this.current=old.clone();this.current.resumeSMaskCtx=null;},restore:function CanvasGraphics_restore(){if(this.current.resumeSMaskCtx){this.resumeSMaskGroup();}
if(this.current.activeSMask!==null&&(this.stateStack.length===0||this.stateStack[this.stateStack.length-1].activeSMask!==this.current.activeSMask)){this.endSMaskGroup();}
if(this.stateStack.length!==0){this.current=this.stateStack.pop();this.ctx.restore();this.pendingClip=null;this.cachedGetSinglePixelWidth=null;}},transform:function CanvasGraphics_transform(a,b,c,d,e,f){this.ctx.transform(a,b,c,d,e,f);this.cachedGetSinglePixelWidth=null;},constructPath:function CanvasGraphics_constructPath(ops,args){var ctx=this.ctx;var current=this.current;var x=current.x,y=current.y;for(var i=0,j=0,ii=ops.length;i<ii;i++){switch(ops[i]|0){case OPS.rectangle:x=args[j++];y=args[j++];var width=args[j++];var height=args[j++];if(width===0){width=this.getSinglePixelWidth();}
if(height===0){height=this.getSinglePixelWidth();}
var xw=x+width;var yh=y+height;this.ctx.moveTo(x,y);this.ctx.lineTo(xw,y);this.ctx.lineTo(xw,yh);this.ctx.lineTo(x,yh);this.ctx.lineTo(x,y);this.ctx.closePath();break;case OPS.moveTo:x=args[j++];y=args[j++];ctx.moveTo(x,y);break;case OPS.lineTo:x=args[j++];y=args[j++];ctx.lineTo(x,y);break;case OPS.curveTo:x=args[j+4];y=args[j+5];ctx.bezierCurveTo(args[j],args[j+1],args[j+2],args[j+3],x,y);j+=6;break;case OPS.curveTo2:ctx.bezierCurveTo(x,y,args[j],args[j+1],args[j+2],args[j+3]);x=args[j+2];y=args[j+3];j+=4;break;case OPS.curveTo3:x=args[j+2];y=args[j+3];ctx.bezierCurveTo(args[j],args[j+1],x,y,x,y);j+=4;break;case OPS.closePath:ctx.closePath();break;}}
current.setCurrentPoint(x,y);},closePath:function CanvasGraphics_closePath(){this.ctx.closePath();},stroke:function CanvasGraphics_stroke(consumePath){consumePath=typeof consumePath!=='undefined'?consumePath:true;var ctx=this.ctx;var strokeColor=this.current.strokeColor;ctx.lineWidth=Math.max(this.getSinglePixelWidth()*MIN_WIDTH_FACTOR,this.current.lineWidth);ctx.globalAlpha=this.current.strokeAlpha;if(strokeColor&&strokeColor.hasOwnProperty('type')&&strokeColor.type==='Pattern'){ctx.save();ctx.strokeStyle=strokeColor.getPattern(ctx,this);ctx.stroke();ctx.restore();}else{ctx.stroke();}
if(consumePath){this.consumePath();}
ctx.globalAlpha=this.current.fillAlpha;},closeStroke:function CanvasGraphics_closeStroke(){this.closePath();this.stroke();},fill:function CanvasGraphics_fill(consumePath){consumePath=typeof consumePath!=='undefined'?consumePath:true;var ctx=this.ctx;var fillColor=this.current.fillColor;var isPatternFill=this.current.patternFill;var needRestore=false;if(isPatternFill){ctx.save();if(this.baseTransform){ctx.setTransform.apply(ctx,this.baseTransform);}
ctx.fillStyle=fillColor.getPattern(ctx,this);needRestore=true;}
if(this.pendingEOFill){if(ctx.mozFillRule!==undefined){ctx.mozFillRule='evenodd';ctx.fill();ctx.mozFillRule='nonzero';}else{ctx.fill('evenodd');}
this.pendingEOFill=false;}else{ctx.fill();}
if(needRestore){ctx.restore();}
if(consumePath){this.consumePath();}},eoFill:function CanvasGraphics_eoFill(){this.pendingEOFill=true;this.fill();},fillStroke:function CanvasGraphics_fillStroke(){this.fill(false);this.stroke(false);this.consumePath();},eoFillStroke:function CanvasGraphics_eoFillStroke(){this.pendingEOFill=true;this.fillStroke();},closeFillStroke:function CanvasGraphics_closeFillStroke(){this.closePath();this.fillStroke();},closeEOFillStroke:function CanvasGraphics_closeEOFillStroke(){this.pendingEOFill=true;this.closePath();this.fillStroke();},endPath:function CanvasGraphics_endPath(){this.consumePath();},clip:function CanvasGraphics_clip(){this.pendingClip=NORMAL_CLIP;},eoClip:function CanvasGraphics_eoClip(){this.pendingClip=EO_CLIP;},beginText:function CanvasGraphics_beginText(){this.current.textMatrix=IDENTITY_MATRIX;this.current.textMatrixScale=1;this.current.x=this.current.lineX=0;this.current.y=this.current.lineY=0;},endText:function CanvasGraphics_endText(){var paths=this.pendingTextPaths;var ctx=this.ctx;if(paths===undefined){ctx.beginPath();return;}
ctx.save();ctx.beginPath();for(var i=0;i<paths.length;i++){var path=paths[i];ctx.setTransform.apply(ctx,path.transform);ctx.translate(path.x,path.y);path.addToPath(ctx,path.fontSize);}
ctx.restore();ctx.clip();ctx.beginPath();delete this.pendingTextPaths;},setCharSpacing:function CanvasGraphics_setCharSpacing(spacing){this.current.charSpacing=spacing;},setWordSpacing:function CanvasGraphics_setWordSpacing(spacing){this.current.wordSpacing=spacing;},setHScale:function CanvasGraphics_setHScale(scale){this.current.textHScale=scale/100;},setLeading:function CanvasGraphics_setLeading(leading){this.current.leading=-leading;},setFont:function CanvasGraphics_setFont(fontRefName,size){var fontObj=this.commonObjs.get(fontRefName);var current=this.current;if(!fontObj){error('Can\'t find font for '+fontRefName);}
current.fontMatrix=(fontObj.fontMatrix?fontObj.fontMatrix:FONT_IDENTITY_MATRIX);if(current.fontMatrix[0]===0||current.fontMatrix[3]===0){warn('Invalid font matrix for font '+fontRefName);}
if(size<0){size=-size;current.fontDirection=-1;}else{current.fontDirection=1;}
this.current.font=fontObj;this.current.fontSize=size;if(fontObj.isType3Font){return;}
var name=fontObj.loadedName||'sans-serif';var bold=fontObj.black?(fontObj.bold?'900':'bold'):(fontObj.bold?'bold':'normal');var italic=fontObj.italic?'italic':'normal';var typeface='"'+name+'", '+fontObj.fallbackName;var browserFontSize=size<MIN_FONT_SIZE?MIN_FONT_SIZE:size>MAX_FONT_SIZE?MAX_FONT_SIZE:size;this.current.fontSizeScale=size/browserFontSize;var rule=italic+' '+bold+' '+browserFontSize+'px '+typeface;this.ctx.font=rule;},setTextRenderingMode:function CanvasGraphics_setTextRenderingMode(mode){this.current.textRenderingMode=mode;},setTextRise:function CanvasGraphics_setTextRise(rise){this.current.textRise=rise;},moveText:function CanvasGraphics_moveText(x,y){this.current.x=this.current.lineX+=x;this.current.y=this.current.lineY+=y;},setLeadingMoveText:function CanvasGraphics_setLeadingMoveText(x,y){this.setLeading(-y);this.moveText(x,y);},setTextMatrix:function CanvasGraphics_setTextMatrix(a,b,c,d,e,f){this.current.textMatrix=[a,b,c,d,e,f];this.current.textMatrixScale=Math.sqrt(a*a+b*b);this.current.x=this.current.lineX=0;this.current.y=this.current.lineY=0;},nextLine:function CanvasGraphics_nextLine(){this.moveText(0,this.current.leading);},paintChar:function CanvasGraphics_paintChar(character,x,y){var ctx=this.ctx;var current=this.current;var font=current.font;var textRenderingMode=current.textRenderingMode;var fontSize=current.fontSize/current.fontSizeScale;var fillStrokeMode=textRenderingMode&TextRenderingMode.FILL_STROKE_MASK;var isAddToPathSet=!!(textRenderingMode&TextRenderingMode.ADD_TO_PATH_FLAG);var addToPath;if(font.disableFontFace||isAddToPathSet){addToPath=font.getPathGenerator(this.commonObjs,character);}
if(font.disableFontFace){ctx.save();ctx.translate(x,y);ctx.beginPath();addToPath(ctx,fontSize);if(fillStrokeMode===TextRenderingMode.FILL||fillStrokeMode===TextRenderingMode.FILL_STROKE){ctx.fill();}
if(fillStrokeMode===TextRenderingMode.STROKE||fillStrokeMode===TextRenderingMode.FILL_STROKE){ctx.stroke();}
ctx.restore();}else{if(fillStrokeMode===TextRenderingMode.FILL||fillStrokeMode===TextRenderingMode.FILL_STROKE){ctx.fillText(character,x,y);}
if(fillStrokeMode===TextRenderingMode.STROKE||fillStrokeMode===TextRenderingMode.FILL_STROKE){ctx.strokeText(character,x,y);}}
if(isAddToPathSet){var paths=this.pendingTextPaths||(this.pendingTextPaths=[]);paths.push({transform:ctx.mozCurrentTransform,x:x,y:y,fontSize:fontSize,addToPath:addToPath});}},get isFontSubpixelAAEnabled(){var ctx=document.createElement('canvas').getContext('2d');ctx.scale(1.5,1);ctx.fillText('I',0,10);var data=ctx.getImageData(0,0,10,10).data;var enabled=false;for(var i=3;i<data.length;i+=4){if(data[i]>0&&data[i]<255){enabled=true;break;}}
return shadow(this,'isFontSubpixelAAEnabled',enabled);},showText:function CanvasGraphics_showText(glyphs){var current=this.current;var font=current.font;if(font.isType3Font){return this.showType3Text(glyphs);}
var fontSize=current.fontSize;if(fontSize===0){return;}
var ctx=this.ctx;var fontSizeScale=current.fontSizeScale;var charSpacing=current.charSpacing;var wordSpacing=current.wordSpacing;var fontDirection=current.fontDirection;var textHScale=current.textHScale*fontDirection;var glyphsLength=glyphs.length;var vertical=font.vertical;var spacingDir=vertical?1:-1;var defaultVMetrics=font.defaultVMetrics;var widthAdvanceScale=fontSize*current.fontMatrix[0];var simpleFillText=current.textRenderingMode===TextRenderingMode.FILL&&!font.disableFontFace;ctx.save();ctx.transform.apply(ctx,current.textMatrix);ctx.translate(current.x,current.y+current.textRise);if(current.patternFill){ctx.fillStyle=current.fillColor.getPattern(ctx,this);}
if(fontDirection>0){ctx.scale(textHScale,-1);}else{ctx.scale(textHScale,1);}
var lineWidth=current.lineWidth;var scale=current.textMatrixScale;if(scale===0||lineWidth===0){var fillStrokeMode=current.textRenderingMode&TextRenderingMode.FILL_STROKE_MASK;if(fillStrokeMode===TextRenderingMode.STROKE||fillStrokeMode===TextRenderingMode.FILL_STROKE){this.cachedGetSinglePixelWidth=null;lineWidth=this.getSinglePixelWidth()*MIN_WIDTH_FACTOR;}}else{lineWidth/=scale;}
if(fontSizeScale!==1.0){ctx.scale(fontSizeScale,fontSizeScale);lineWidth/=fontSizeScale;}
ctx.lineWidth=lineWidth;var x=0,i;for(i=0;i<glyphsLength;++i){var glyph=glyphs[i];if(isNum(glyph)){x+=spacingDir*glyph*fontSize/1000;continue;}
var restoreNeeded=false;var spacing=(glyph.isSpace?wordSpacing:0)+charSpacing;var character=glyph.fontChar;var accent=glyph.accent;var scaledX,scaledY,scaledAccentX,scaledAccentY;var width=glyph.width;if(vertical){var vmetric,vx,vy;vmetric=glyph.vmetric||defaultVMetrics;vx=glyph.vmetric?vmetric[1]:width*0.5;vx=-vx*widthAdvanceScale;vy=vmetric[2]*widthAdvanceScale;width=vmetric?-vmetric[0]:width;scaledX=vx/fontSizeScale;scaledY=(x+vy)/fontSizeScale;}else{scaledX=x/fontSizeScale;scaledY=0;}
if(font.remeasure&&width>0){var measuredWidth=ctx.measureText(character).width*1000/fontSize*fontSizeScale;if(width<measuredWidth&&this.isFontSubpixelAAEnabled){var characterScaleX=width/measuredWidth;restoreNeeded=true;ctx.save();ctx.scale(characterScaleX,1);scaledX/=characterScaleX;}else if(width!==measuredWidth){scaledX+=(width-measuredWidth)/2000*fontSize/fontSizeScale;}}
if(glyph.isInFont||font.missingFile){if(simpleFillText&&!accent){ctx.fillText(character,scaledX,scaledY);}else{this.paintChar(character,scaledX,scaledY);if(accent){scaledAccentX=scaledX+accent.offset.x/fontSizeScale;scaledAccentY=scaledY-accent.offset.y/fontSizeScale;this.paintChar(accent.fontChar,scaledAccentX,scaledAccentY);}}}
var charWidth=width*widthAdvanceScale+spacing*fontDirection;x+=charWidth;if(restoreNeeded){ctx.restore();}}
if(vertical){current.y-=x*textHScale;}else{current.x+=x*textHScale;}
ctx.restore();},showType3Text:function CanvasGraphics_showType3Text(glyphs){var ctx=this.ctx;var current=this.current;var font=current.font;var fontSize=current.fontSize;var fontDirection=current.fontDirection;var spacingDir=font.vertical?1:-1;var charSpacing=current.charSpacing;var wordSpacing=current.wordSpacing;var textHScale=current.textHScale*fontDirection;var fontMatrix=current.fontMatrix||FONT_IDENTITY_MATRIX;var glyphsLength=glyphs.length;var isTextInvisible=current.textRenderingMode===TextRenderingMode.INVISIBLE;var i,glyph,width,spacingLength;if(isTextInvisible||fontSize===0){return;}
this.cachedGetSinglePixelWidth=null;ctx.save();ctx.transform.apply(ctx,current.textMatrix);ctx.translate(current.x,current.y);ctx.scale(textHScale,fontDirection);for(i=0;i<glyphsLength;++i){glyph=glyphs[i];if(isNum(glyph)){spacingLength=spacingDir*glyph*fontSize/1000;this.ctx.translate(spacingLength,0);current.x+=spacingLength*textHScale;continue;}
var spacing=(glyph.isSpace?wordSpacing:0)+charSpacing;var operatorList=font.charProcOperatorList[glyph.operatorListId];if(!operatorList){warn('Type3 character \"'+glyph.operatorListId+'\" is not available');continue;}
this.processingType3=glyph;this.save();ctx.scale(fontSize,fontSize);ctx.transform.apply(ctx,fontMatrix);this.executeOperatorList(operatorList);this.restore();var transformed=Util.applyTransform([glyph.width,0],fontMatrix);width=transformed[0]*fontSize+spacing;ctx.translate(width,0);current.x+=width*textHScale;}
ctx.restore();this.processingType3=null;},setCharWidth:function CanvasGraphics_setCharWidth(xWidth,yWidth){},setCharWidthAndBounds:function CanvasGraphics_setCharWidthAndBounds(xWidth,yWidth,llx,lly,urx,ury){this.ctx.rect(llx,lly,urx-llx,ury-lly);this.clip();this.endPath();},getColorN_Pattern:function CanvasGraphics_getColorN_Pattern(IR){var pattern;if(IR[0]==='TilingPattern'){var color=IR[1];var baseTransform=this.baseTransform||this.ctx.mozCurrentTransform.slice();var self=this;var canvasGraphicsFactory={createCanvasGraphics:function(ctx){return new CanvasGraphics(ctx,self.commonObjs,self.objs);}};pattern=new TilingPattern(IR,color,this.ctx,canvasGraphicsFactory,baseTransform);}else{pattern=getShadingPatternFromIR(IR);}
return pattern;},setStrokeColorN:function CanvasGraphics_setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments);},setFillColorN:function CanvasGraphics_setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments);this.current.patternFill=true;},setStrokeRGBColor:function CanvasGraphics_setStrokeRGBColor(r,g,b){var color=Util.makeCssRgb(r,g,b);this.ctx.strokeStyle=color;this.current.strokeColor=color;},setFillRGBColor:function CanvasGraphics_setFillRGBColor(r,g,b){var color=Util.makeCssRgb(r,g,b);this.ctx.fillStyle=color;this.current.fillColor=color;this.current.patternFill=false;},shadingFill:function CanvasGraphics_shadingFill(patternIR){var ctx=this.ctx;this.save();var pattern=getShadingPatternFromIR(patternIR);ctx.fillStyle=pattern.getPattern(ctx,this,true);var inv=ctx.mozCurrentTransformInverse;if(inv){var canvas=ctx.canvas;var width=canvas.width;var height=canvas.height;var bl=Util.applyTransform([0,0],inv);var br=Util.applyTransform([0,height],inv);var ul=Util.applyTransform([width,0],inv);var ur=Util.applyTransform([width,height],inv);var x0=Math.min(bl[0],br[0],ul[0],ur[0]);var y0=Math.min(bl[1],br[1],ul[1],ur[1]);var x1=Math.max(bl[0],br[0],ul[0],ur[0]);var y1=Math.max(bl[1],br[1],ul[1],ur[1]);this.ctx.fillRect(x0,y0,x1-x0,y1-y0);}else{this.ctx.fillRect(-1e10,-1e10,2e10,2e10);}
this.restore();},beginInlineImage:function CanvasGraphics_beginInlineImage(){error('Should not call beginInlineImage');},beginImageData:function CanvasGraphics_beginImageData(){error('Should not call beginImageData');},paintFormXObjectBegin:function CanvasGraphics_paintFormXObjectBegin(matrix,bbox){this.save();this.baseTransformStack.push(this.baseTransform);if(isArray(matrix)&&6===matrix.length){this.transform.apply(this,matrix);}
this.baseTransform=this.ctx.mozCurrentTransform;if(isArray(bbox)&&4===bbox.length){var width=bbox[2]-bbox[0];var height=bbox[3]-bbox[1];this.ctx.rect(bbox[0],bbox[1],width,height);this.clip();this.endPath();}},paintFormXObjectEnd:function CanvasGraphics_paintFormXObjectEnd(){this.restore();this.baseTransform=this.baseTransformStack.pop();},beginGroup:function CanvasGraphics_beginGroup(group){this.save();var currentCtx=this.ctx;if(!group.isolated){info('TODO: Support non-isolated groups.');}
if(group.knockout){warn('Knockout groups not supported.');}
var currentTransform=currentCtx.mozCurrentTransform;if(group.matrix){currentCtx.transform.apply(currentCtx,group.matrix);}
assert(group.bbox,'Bounding box is required.');var bounds=Util.getAxialAlignedBoundingBox(group.bbox,currentCtx.mozCurrentTransform);var canvasBounds=[0,0,currentCtx.canvas.width,currentCtx.canvas.height];bounds=Util.intersect(bounds,canvasBounds)||[0,0,0,0];var offsetX=Math.floor(bounds[0]);var offsetY=Math.floor(bounds[1]);var drawnWidth=Math.max(Math.ceil(bounds[2])-offsetX,1);var drawnHeight=Math.max(Math.ceil(bounds[3])-offsetY,1);var scaleX=1,scaleY=1;if(drawnWidth>MAX_GROUP_SIZE){scaleX=drawnWidth/MAX_GROUP_SIZE;drawnWidth=MAX_GROUP_SIZE;}
if(drawnHeight>MAX_GROUP_SIZE){scaleY=drawnHeight/MAX_GROUP_SIZE;drawnHeight=MAX_GROUP_SIZE;}
var cacheId='groupAt'+this.groupLevel;if(group.smask){cacheId+='_smask_'+((this.smaskCounter++)%2);}
var scratchCanvas=this.cachedCanvases.getCanvas(cacheId,drawnWidth,drawnHeight,true);var groupCtx=scratchCanvas.context;groupCtx.scale(1/scaleX,1/scaleY);groupCtx.translate(-offsetX,-offsetY);groupCtx.transform.apply(groupCtx,currentTransform);if(group.smask){this.smaskStack.push({canvas:scratchCanvas.canvas,context:groupCtx,offsetX:offsetX,offsetY:offsetY,scaleX:scaleX,scaleY:scaleY,subtype:group.smask.subtype,backdrop:group.smask.backdrop,transferMap:group.smask.transferMap||null,startTransformInverse:null,});}else{currentCtx.setTransform(1,0,0,1,0,0);currentCtx.translate(offsetX,offsetY);currentCtx.scale(scaleX,scaleY);}
copyCtxState(currentCtx,groupCtx);this.ctx=groupCtx;this.setGState([['BM','Normal'],['ca',1],['CA',1]]);this.groupStack.push(currentCtx);this.groupLevel++;this.current.activeSMask=null;},endGroup:function CanvasGraphics_endGroup(group){this.groupLevel--;var groupCtx=this.ctx;this.ctx=this.groupStack.pop();if(this.ctx.imageSmoothingEnabled!==undefined){this.ctx.imageSmoothingEnabled=false;}else{this.ctx.mozImageSmoothingEnabled=false;}
if(group.smask){this.tempSMask=this.smaskStack.pop();}else{this.ctx.drawImage(groupCtx.canvas,0,0);}
this.restore();},beginAnnotations:function CanvasGraphics_beginAnnotations(){this.save();this.current=new CanvasExtraState();if(this.baseTransform){this.ctx.setTransform.apply(this.ctx,this.baseTransform);}},endAnnotations:function CanvasGraphics_endAnnotations(){this.restore();},beginAnnotation:function CanvasGraphics_beginAnnotation(rect,transform,matrix){this.save();if(isArray(rect)&&4===rect.length){var width=rect[2]-rect[0];var height=rect[3]-rect[1];this.ctx.rect(rect[0],rect[1],width,height);this.clip();this.endPath();}
this.transform.apply(this,transform);this.transform.apply(this,matrix);},endAnnotation:function CanvasGraphics_endAnnotation(){this.restore();},paintJpegXObject:function CanvasGraphics_paintJpegXObject(objId,w,h){var domImage=this.objs.get(objId);if(!domImage){warn('Dependent image isn\'t ready yet');return;}
this.save();var ctx=this.ctx;ctx.scale(1/w,-1/h);ctx.drawImage(domImage,0,0,domImage.width,domImage.height,0,-h,w,h);if(this.imageLayer){var currentTransform=ctx.mozCurrentTransformInverse;var position=this.getCanvasPosition(0,0);this.imageLayer.appendImage({objId:objId,left:position[0],top:position[1],width:w/currentTransform[0],height:h/currentTransform[3]});}
this.restore();},paintImageMaskXObject:function CanvasGraphics_paintImageMaskXObject(img){var ctx=this.ctx;var width=img.width,height=img.height;var fillColor=this.current.fillColor;var isPatternFill=this.current.patternFill;var glyph=this.processingType3;if(COMPILE_TYPE3_GLYPHS&&glyph&&glyph.compiled===undefined){if(width<=MAX_SIZE_TO_COMPILE&&height<=MAX_SIZE_TO_COMPILE){glyph.compiled=compileType3Glyph({data:img.data,width:width,height:height});}else{glyph.compiled=null;}}
if(glyph&&glyph.compiled){glyph.compiled(ctx);return;}
var maskCanvas=this.cachedCanvases.getCanvas('maskCanvas',width,height);var maskCtx=maskCanvas.context;maskCtx.save();putBinaryImageMask(maskCtx,img);maskCtx.globalCompositeOperation='source-in';maskCtx.fillStyle=isPatternFill?fillColor.getPattern(maskCtx,this):fillColor;maskCtx.fillRect(0,0,width,height);maskCtx.restore();this.paintInlineImageXObject(maskCanvas.canvas);},paintImageMaskXObjectRepeat:function CanvasGraphics_paintImageMaskXObjectRepeat(imgData,scaleX,scaleY,positions){var width=imgData.width;var height=imgData.height;var fillColor=this.current.fillColor;var isPatternFill=this.current.patternFill;var maskCanvas=this.cachedCanvases.getCanvas('maskCanvas',width,height);var maskCtx=maskCanvas.context;maskCtx.save();putBinaryImageMask(maskCtx,imgData);maskCtx.globalCompositeOperation='source-in';maskCtx.fillStyle=isPatternFill?fillColor.getPattern(maskCtx,this):fillColor;maskCtx.fillRect(0,0,width,height);maskCtx.restore();var ctx=this.ctx;for(var i=0,ii=positions.length;i<ii;i+=2){ctx.save();ctx.transform(scaleX,0,0,scaleY,positions[i],positions[i+1]);ctx.scale(1,-1);ctx.drawImage(maskCanvas.canvas,0,0,width,height,0,-1,1,1);ctx.restore();}},paintImageMaskXObjectGroup:function CanvasGraphics_paintImageMaskXObjectGroup(images){var ctx=this.ctx;var fillColor=this.current.fillColor;var isPatternFill=this.current.patternFill;for(var i=0,ii=images.length;i<ii;i++){var image=images[i];var width=image.width,height=image.height;var maskCanvas=this.cachedCanvases.getCanvas('maskCanvas',width,height);var maskCtx=maskCanvas.context;maskCtx.save();putBinaryImageMask(maskCtx,image);maskCtx.globalCompositeOperation='source-in';maskCtx.fillStyle=isPatternFill?fillColor.getPattern(maskCtx,this):fillColor;maskCtx.fillRect(0,0,width,height);maskCtx.restore();ctx.save();ctx.transform.apply(ctx,image.transform);ctx.scale(1,-1);ctx.drawImage(maskCanvas.canvas,0,0,width,height,0,-1,1,1);ctx.restore();}},paintImageXObject:function CanvasGraphics_paintImageXObject(objId){var imgData=this.objs.get(objId);if(!imgData){warn('Dependent image isn\'t ready yet');return;}
this.paintInlineImageXObject(imgData);},paintImageXObjectRepeat:function CanvasGraphics_paintImageXObjectRepeat(objId,scaleX,scaleY,positions){var imgData=this.objs.get(objId);if(!imgData){warn('Dependent image isn\'t ready yet');return;}
var width=imgData.width;var height=imgData.height;var map=[];for(var i=0,ii=positions.length;i<ii;i+=2){map.push({transform:[scaleX,0,0,scaleY,positions[i],positions[i+1]],x:0,y:0,w:width,h:height});}
this.paintInlineImageXObjectGroup(imgData,map);},paintInlineImageXObject:function CanvasGraphics_paintInlineImageXObject(imgData){var width=imgData.width;var height=imgData.height;var ctx=this.ctx;this.save();ctx.scale(1/width,-1/height);var currentTransform=ctx.mozCurrentTransformInverse;var a=currentTransform[0],b=currentTransform[1];var widthScale=Math.max(Math.sqrt(a*a+b*b),1);var c=currentTransform[2],d=currentTransform[3];var heightScale=Math.max(Math.sqrt(c*c+d*d),1);var imgToPaint,tmpCanvas;if(imgData instanceof HTMLElement||!imgData.data){imgToPaint=imgData;}else{tmpCanvas=this.cachedCanvases.getCanvas('inlineImage',width,height);var tmpCtx=tmpCanvas.context;putBinaryImageData(tmpCtx,imgData);imgToPaint=tmpCanvas.canvas;}
var paintWidth=width,paintHeight=height;var tmpCanvasId='prescale1';while((widthScale>2&&paintWidth>1)||(heightScale>2&&paintHeight>1)){var newWidth=paintWidth,newHeight=paintHeight;if(widthScale>2&&paintWidth>1){newWidth=Math.ceil(paintWidth/2);widthScale/=paintWidth/newWidth;}
if(heightScale>2&&paintHeight>1){newHeight=Math.ceil(paintHeight/2);heightScale/=paintHeight/newHeight;}
tmpCanvas=this.cachedCanvases.getCanvas(tmpCanvasId,newWidth,newHeight);tmpCtx=tmpCanvas.context;tmpCtx.clearRect(0,0,newWidth,newHeight);tmpCtx.drawImage(imgToPaint,0,0,paintWidth,paintHeight,0,0,newWidth,newHeight);imgToPaint=tmpCanvas.canvas;paintWidth=newWidth;paintHeight=newHeight;tmpCanvasId=tmpCanvasId==='prescale1'?'prescale2':'prescale1';}
ctx.drawImage(imgToPaint,0,0,paintWidth,paintHeight,0,-height,width,height);if(this.imageLayer){var position=this.getCanvasPosition(0,-height);this.imageLayer.appendImage({imgData:imgData,left:position[0],top:position[1],width:width/currentTransform[0],height:height/currentTransform[3]});}
this.restore();},paintInlineImageXObjectGroup:function CanvasGraphics_paintInlineImageXObjectGroup(imgData,map){var ctx=this.ctx;var w=imgData.width;var h=imgData.height;var tmpCanvas=this.cachedCanvases.getCanvas('inlineImage',w,h);var tmpCtx=tmpCanvas.context;putBinaryImageData(tmpCtx,imgData);for(var i=0,ii=map.length;i<ii;i++){var entry=map[i];ctx.save();ctx.transform.apply(ctx,entry.transform);ctx.scale(1,-1);ctx.drawImage(tmpCanvas.canvas,entry.x,entry.y,entry.w,entry.h,0,-1,1,1);if(this.imageLayer){var position=this.getCanvasPosition(entry.x,entry.y);this.imageLayer.appendImage({imgData:imgData,left:position[0],top:position[1],width:w,height:h});}
ctx.restore();}},paintSolidColorImageMask:function CanvasGraphics_paintSolidColorImageMask(){this.ctx.fillRect(0,0,1,1);},paintXObject:function CanvasGraphics_paintXObject(){warn('Unsupported \'paintXObject\' command.');},markPoint:function CanvasGraphics_markPoint(tag){},markPointProps:function CanvasGraphics_markPointProps(tag,properties){},beginMarkedContent:function CanvasGraphics_beginMarkedContent(tag){},beginMarkedContentProps:function CanvasGraphics_beginMarkedContentProps(tag,properties){},endMarkedContent:function CanvasGraphics_endMarkedContent(){},beginCompat:function CanvasGraphics_beginCompat(){},endCompat:function CanvasGraphics_endCompat(){},consumePath:function CanvasGraphics_consumePath(){var ctx=this.ctx;if(this.pendingClip){if(this.pendingClip===EO_CLIP){if(ctx.mozFillRule!==undefined){ctx.mozFillRule='evenodd';ctx.clip();ctx.mozFillRule='nonzero';}else{ctx.clip('evenodd');}}else{ctx.clip();}
this.pendingClip=null;}
ctx.beginPath();},getSinglePixelWidth:function CanvasGraphics_getSinglePixelWidth(scale){if(this.cachedGetSinglePixelWidth===null){var inverse=this.ctx.mozCurrentTransformInverse;this.cachedGetSinglePixelWidth=Math.sqrt(Math.max((inverse[0]*inverse[0]+inverse[1]*inverse[1]),(inverse[2]*inverse[2]+inverse[3]*inverse[3])));}
return this.cachedGetSinglePixelWidth;},getCanvasPosition:function CanvasGraphics_getCanvasPosition(x,y){var transform=this.ctx.mozCurrentTransform;return[transform[0]*x+transform[2]*y+transform[4],transform[1]*x+transform[3]*y+transform[5]];}};for(var op in OPS){CanvasGraphics.prototype[OPS[op]]=CanvasGraphics.prototype[op];}
return CanvasGraphics;})();exports.CanvasGraphics=CanvasGraphics;exports.createScratchCanvas=createScratchCanvas;}));(function(root,factory){{factory((root.pdfjsDisplayAPI={}),root.pdfjsSharedUtil,root.pdfjsDisplayFontLoader,root.pdfjsDisplayCanvas,root.pdfjsDisplayMetadata,root.pdfjsDisplayDOMUtils);}}(this,function(exports,sharedUtil,displayFontLoader,displayCanvas,displayMetadata,displayDOMUtils,amdRequire){var InvalidPDFException=sharedUtil.InvalidPDFException;var MessageHandler=sharedUtil.MessageHandler;var MissingPDFException=sharedUtil.MissingPDFException;var PageViewport=sharedUtil.PageViewport;var PasswordResponses=sharedUtil.PasswordResponses;var PasswordException=sharedUtil.PasswordException;var StatTimer=sharedUtil.StatTimer;var UnexpectedResponseException=sharedUtil.UnexpectedResponseException;var UnknownErrorException=sharedUtil.UnknownErrorException;var Util=sharedUtil.Util;var createPromiseCapability=sharedUtil.createPromiseCapability;var error=sharedUtil.error;var deprecated=sharedUtil.deprecated;var getVerbosityLevel=sharedUtil.getVerbosityLevel;var info=sharedUtil.info;var isArrayBuffer=sharedUtil.isArrayBuffer;var isSameOrigin=sharedUtil.isSameOrigin;var loadJpegStream=sharedUtil.loadJpegStream;var stringToBytes=sharedUtil.stringToBytes;var globalScope=sharedUtil.globalScope;var warn=sharedUtil.warn;var FontFaceObject=displayFontLoader.FontFaceObject;var FontLoader=displayFontLoader.FontLoader;var CanvasGraphics=displayCanvas.CanvasGraphics;var createScratchCanvas=displayCanvas.createScratchCanvas;var Metadata=displayMetadata.Metadata;var getDefaultSetting=displayDOMUtils.getDefaultSetting;var DEFAULT_RANGE_CHUNK_SIZE=65536;var isWorkerDisabled=false;var workerSrc;var isPostMessageTransfersDisabled=false;var useRequireEnsure=false;if(typeof window==='undefined'){isWorkerDisabled=true;if(typeof require.ensure==='undefined'){require.ensure=require('node-ensure');}
useRequireEnsure=true;}
if(typeof __webpack_require__!=='undefined'){useRequireEnsure=true;}
if(typeof requirejs!=='undefined'&&requirejs.toUrl){workerSrc=requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');}
var dynamicLoaderSupported=typeof requirejs!=='undefined'&&requirejs.load;var fakeWorkerFilesLoader=useRequireEnsure?(function(callback){require.ensure([],function(){var worker=require('./pdf.worker.js');callback(worker.WorkerMessageHandler);});}):dynamicLoaderSupported?(function(callback){requirejs(['pdfjs-dist/build/pdf.worker'],function(worker){callback(worker.WorkerMessageHandler);});}):null;function getDocument(src,pdfDataRangeTransport,passwordCallback,progressCallback){var task=new PDFDocumentLoadingTask();if(arguments.length>1){deprecated('getDocument is called with pdfDataRangeTransport, '+'passwordCallback or progressCallback argument');}
if(pdfDataRangeTransport){if(!(pdfDataRangeTransport instanceof PDFDataRangeTransport)){pdfDataRangeTransport=Object.create(pdfDataRangeTransport);pdfDataRangeTransport.length=src.length;pdfDataRangeTransport.initialData=src.initialData;if(!pdfDataRangeTransport.abort){pdfDataRangeTransport.abort=function(){};}}
src=Object.create(src);src.range=pdfDataRangeTransport;}
task.onPassword=passwordCallback||null;task.onProgress=progressCallback||null;var source;if(typeof src==='string'){source={url:src};}else if(isArrayBuffer(src)){source={data:src};}else if(src instanceof PDFDataRangeTransport){source={range:src};}else{if(typeof src!=='object'){error('Invalid parameter in getDocument, need either Uint8Array, '+'string or a parameter object');}
if(!src.url&&!src.data&&!src.range){error('Invalid parameter object: need either .data, .range or .url');}
source=src;}
var params={};var rangeTransport=null;var worker=null;for(var key in source){if(key==='url'&&typeof window!=='undefined'){params[key]=new URL(source[key],window.location).href;continue;}else if(key==='range'){rangeTransport=source[key];continue;}else if(key==='worker'){worker=source[key];continue;}else if(key==='data'&&!(source[key]instanceof Uint8Array)){var pdfBytes=source[key];if(typeof pdfBytes==='string'){params[key]=stringToBytes(pdfBytes);}else if(typeof pdfBytes==='object'&&pdfBytes!==null&&!isNaN(pdfBytes.length)){params[key]=new Uint8Array(pdfBytes);}else if(isArrayBuffer(pdfBytes)){params[key]=new Uint8Array(pdfBytes);}else{error('Invalid PDF binary data: either typed array, string or '+'array-like object is expected in the data property.');}
continue;}
params[key]=source[key];}
params.rangeChunkSize=params.rangeChunkSize||DEFAULT_RANGE_CHUNK_SIZE;if(!worker){worker=new PDFWorker();task._worker=worker;}
var docId=task.docId;worker.promise.then(function(){if(task.destroyed){throw new Error('Loading aborted');}
return _fetchDocument(worker,params,rangeTransport,docId).then(function(workerId){if(task.destroyed){throw new Error('Loading aborted');}
var messageHandler=new MessageHandler(docId,workerId,worker.port);var transport=new WorkerTransport(messageHandler,task,rangeTransport);task._transport=transport;messageHandler.send('Ready',null);});}).catch(task._capability.reject);return task;}
function _fetchDocument(worker,source,pdfDataRangeTransport,docId){if(worker.destroyed){return Promise.reject(new Error('Worker was destroyed'));}
source.disableAutoFetch=getDefaultSetting('disableAutoFetch');source.disableStream=getDefaultSetting('disableStream');source.chunkedViewerLoading=!!pdfDataRangeTransport;if(pdfDataRangeTransport){source.length=pdfDataRangeTransport.length;source.initialData=pdfDataRangeTransport.initialData;}
return worker.messageHandler.sendWithPromise('GetDocRequest',{docId:docId,source:source,disableRange:getDefaultSetting('disableRange'),maxImageSize:getDefaultSetting('maxImageSize'),cMapUrl:getDefaultSetting('cMapUrl'),cMapPacked:getDefaultSetting('cMapPacked'),disableFontFace:getDefaultSetting('disableFontFace'),disableCreateObjectURL:getDefaultSetting('disableCreateObjectURL'),postMessageTransfers:getDefaultSetting('postMessageTransfers')&&!isPostMessageTransfersDisabled,}).then(function(workerId){if(worker.destroyed){throw new Error('Worker was destroyed');}
return workerId;});}
var PDFDocumentLoadingTask=(function PDFDocumentLoadingTaskClosure(){var nextDocumentId=0;function PDFDocumentLoadingTask(){this._capability=createPromiseCapability();this._transport=null;this._worker=null;this.docId='d'+(nextDocumentId++);this.destroyed=false;this.onPassword=null;this.onProgress=null;this.onUnsupportedFeature=null;}
PDFDocumentLoadingTask.prototype={get promise(){return this._capability.promise;},destroy:function(){this.destroyed=true;var transportDestroyed=!this._transport?Promise.resolve():this._transport.destroy();return transportDestroyed.then(function(){this._transport=null;if(this._worker){this._worker.destroy();this._worker=null;}}.bind(this));},then:function PDFDocumentLoadingTask_then(onFulfilled,onRejected){return this.promise.then.apply(this.promise,arguments);}};return PDFDocumentLoadingTask;})();var PDFDataRangeTransport=(function pdfDataRangeTransportClosure(){function PDFDataRangeTransport(length,initialData){this.length=length;this.initialData=initialData;this._rangeListeners=[];this._progressListeners=[];this._progressiveReadListeners=[];this._readyCapability=createPromiseCapability();}
PDFDataRangeTransport.prototype={addRangeListener:function PDFDataRangeTransport_addRangeListener(listener){this._rangeListeners.push(listener);},addProgressListener:function PDFDataRangeTransport_addProgressListener(listener){this._progressListeners.push(listener);},addProgressiveReadListener:function PDFDataRangeTransport_addProgressiveReadListener(listener){this._progressiveReadListeners.push(listener);},onDataRange:function PDFDataRangeTransport_onDataRange(begin,chunk){var listeners=this._rangeListeners;for(var i=0,n=listeners.length;i<n;++i){listeners[i](begin,chunk);}},onDataProgress:function PDFDataRangeTransport_onDataProgress(loaded){this._readyCapability.promise.then(function(){var listeners=this._progressListeners;for(var i=0,n=listeners.length;i<n;++i){listeners[i](loaded);}}.bind(this));},onDataProgressiveRead:function PDFDataRangeTransport_onDataProgress(chunk){this._readyCapability.promise.then(function(){var listeners=this._progressiveReadListeners;for(var i=0,n=listeners.length;i<n;++i){listeners[i](chunk);}}.bind(this));},transportReady:function PDFDataRangeTransport_transportReady(){this._readyCapability.resolve();},requestDataRange:function PDFDataRangeTransport_requestDataRange(begin,end){throw new Error('Abstract method PDFDataRangeTransport.requestDataRange');},abort:function PDFDataRangeTransport_abort(){}};return PDFDataRangeTransport;})();var PDFDocumentProxy=(function PDFDocumentProxyClosure(){function PDFDocumentProxy(pdfInfo,transport,loadingTask){this.pdfInfo=pdfInfo;this.transport=transport;this.loadingTask=loadingTask;}
PDFDocumentProxy.prototype={get numPages(){return this.pdfInfo.numPages;},get fingerprint(){return this.pdfInfo.fingerprint;},getPage:function PDFDocumentProxy_getPage(pageNumber){return this.transport.getPage(pageNumber);},getPageIndex:function PDFDocumentProxy_getPageIndex(ref){return this.transport.getPageIndex(ref);},getDestinations:function PDFDocumentProxy_getDestinations(){return this.transport.getDestinations();},getDestination:function PDFDocumentProxy_getDestination(id){return this.transport.getDestination(id);},getPageLabels:function PDFDocumentProxy_getPageLabels(){return this.transport.getPageLabels();},getAttachments:function PDFDocumentProxy_getAttachments(){return this.transport.getAttachments();},getJavaScript:function PDFDocumentProxy_getJavaScript(){return this.transport.getJavaScript();},getOutline:function PDFDocumentProxy_getOutline(){return this.transport.getOutline();},getMetadata:function PDFDocumentProxy_getMetadata(){return this.transport.getMetadata();},getData:function PDFDocumentProxy_getData(){return this.transport.getData();},getDownloadInfo:function PDFDocumentProxy_getDownloadInfo(){return this.transport.downloadInfoCapability.promise;},getStats:function PDFDocumentProxy_getStats(){return this.transport.getStats();},cleanup:function PDFDocumentProxy_cleanup(){this.transport.startCleanup();},destroy:function PDFDocumentProxy_destroy(){return this.loadingTask.destroy();}};return PDFDocumentProxy;})();var PDFPageProxy=(function PDFPageProxyClosure(){function PDFPageProxy(pageIndex,pageInfo,transport){this.pageIndex=pageIndex;this.pageInfo=pageInfo;this.transport=transport;this.stats=new StatTimer();this.stats.enabled=getDefaultSetting('enableStats');this.commonObjs=transport.commonObjs;this.objs=new PDFObjects();this.cleanupAfterRender=false;this.pendingCleanup=false;this.intentStates=Object.create(null);this.destroyed=false;}
PDFPageProxy.prototype={get pageNumber(){return this.pageIndex+1;},get rotate(){return this.pageInfo.rotate;},get ref(){return this.pageInfo.ref;},get view(){return this.pageInfo.view;},getViewport:function PDFPageProxy_getViewport(scale,rotate){if(arguments.length<2){rotate=this.rotate;}
return new PageViewport(this.view,scale,rotate,0,0);},getAnnotations:function PDFPageProxy_getAnnotations(params){var intent=(params&&params.intent)||null;if(!this.annotationsPromise||this.annotationsIntent!==intent){this.annotationsPromise=this.transport.getAnnotations(this.pageIndex,intent);this.annotationsIntent=intent;}
return this.annotationsPromise;},render:function PDFPageProxy_render(params){var stats=this.stats;stats.time('Overall');this.pendingCleanup=false;var renderingIntent=(params.intent==='print'?'print':'display');if(!this.intentStates[renderingIntent]){this.intentStates[renderingIntent]=Object.create(null);}
var intentState=this.intentStates[renderingIntent];if(!intentState.displayReadyCapability){intentState.receivingOperatorList=true;intentState.displayReadyCapability=createPromiseCapability();intentState.operatorList={fnArray:[],argsArray:[],lastChunk:false};this.stats.time('Page Request');this.transport.messageHandler.send('RenderPageRequest',{pageIndex:this.pageNumber-1,intent:renderingIntent});}
var internalRenderTask=new InternalRenderTask(complete,params,this.objs,this.commonObjs,intentState.operatorList,this.pageNumber);internalRenderTask.useRequestAnimationFrame=renderingIntent!=='print';if(!intentState.renderTasks){intentState.renderTasks=[];}
intentState.renderTasks.push(internalRenderTask);var renderTask=internalRenderTask.task;if(params.continueCallback){deprecated('render is used with continueCallback parameter');renderTask.onContinue=params.continueCallback;}
var self=this;intentState.displayReadyCapability.promise.then(function pageDisplayReadyPromise(transparency){if(self.pendingCleanup){complete();return;}
stats.time('Rendering');internalRenderTask.initializeGraphics(transparency);internalRenderTask.operatorListChanged();},function pageDisplayReadPromiseError(reason){complete(reason);});function complete(error){var i=intentState.renderTasks.indexOf(internalRenderTask);if(i>=0){intentState.renderTasks.splice(i,1);}
if(self.cleanupAfterRender){self.pendingCleanup=true;}
self._tryCleanup();if(error){internalRenderTask.capability.reject(error);}else{internalRenderTask.capability.resolve();}
stats.timeEnd('Rendering');stats.timeEnd('Overall');}
return renderTask;},getOperatorList:function PDFPageProxy_getOperatorList(){function operatorListChanged(){if(intentState.operatorList.lastChunk){intentState.opListReadCapability.resolve(intentState.operatorList);var i=intentState.renderTasks.indexOf(opListTask);if(i>=0){intentState.renderTasks.splice(i,1);}}}
var renderingIntent='oplist';if(!this.intentStates[renderingIntent]){this.intentStates[renderingIntent]=Object.create(null);}
var intentState=this.intentStates[renderingIntent];var opListTask;if(!intentState.opListReadCapability){opListTask={};opListTask.operatorListChanged=operatorListChanged;intentState.receivingOperatorList=true;intentState.opListReadCapability=createPromiseCapability();intentState.renderTasks=[];intentState.renderTasks.push(opListTask);intentState.operatorList={fnArray:[],argsArray:[],lastChunk:false};this.transport.messageHandler.send('RenderPageRequest',{pageIndex:this.pageIndex,intent:renderingIntent});}
return intentState.opListReadCapability.promise;},getTextContent:function PDFPageProxy_getTextContent(params){var normalizeWhitespace=(params&&params.normalizeWhitespace)||false;return this.transport.messageHandler.sendWithPromise('GetTextContent',{pageIndex:this.pageNumber-1,normalizeWhitespace:normalizeWhitespace,});},_destroy:function PDFPageProxy_destroy(){this.destroyed=true;this.transport.pageCache[this.pageIndex]=null;var waitOn=[];Object.keys(this.intentStates).forEach(function(intent){if(intent==='oplist'){return;}
var intentState=this.intentStates[intent];intentState.renderTasks.forEach(function(renderTask){var renderCompleted=renderTask.capability.promise.catch(function(){});waitOn.push(renderCompleted);renderTask.cancel();});},this);this.objs.clear();this.annotationsPromise=null;this.pendingCleanup=false;return Promise.all(waitOn);},destroy:function(){deprecated('page destroy method, use cleanup() instead');this.cleanup();},cleanup:function PDFPageProxy_cleanup(){this.pendingCleanup=true;this._tryCleanup();},_tryCleanup:function PDFPageProxy_tryCleanup(){if(!this.pendingCleanup||Object.keys(this.intentStates).some(function(intent){var intentState=this.intentStates[intent];return(intentState.renderTasks.length!==0||intentState.receivingOperatorList);},this)){return;}
Object.keys(this.intentStates).forEach(function(intent){delete this.intentStates[intent];},this);this.objs.clear();this.annotationsPromise=null;this.pendingCleanup=false;},_startRenderPage:function PDFPageProxy_startRenderPage(transparency,intent){var intentState=this.intentStates[intent];if(intentState.displayReadyCapability){intentState.displayReadyCapability.resolve(transparency);}},_renderPageChunk:function PDFPageProxy_renderPageChunk(operatorListChunk,intent){var intentState=this.intentStates[intent];var i,ii;for(i=0,ii=operatorListChunk.length;i<ii;i++){intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);}
intentState.operatorList.lastChunk=operatorListChunk.lastChunk;for(i=0;i<intentState.renderTasks.length;i++){intentState.renderTasks[i].operatorListChanged();}
if(operatorListChunk.lastChunk){intentState.receivingOperatorList=false;this._tryCleanup();}}};return PDFPageProxy;})();var PDFWorker=(function PDFWorkerClosure(){var nextFakeWorkerId=0;function getWorkerSrc(){if(typeof workerSrc!=='undefined'){return workerSrc;}
if(getDefaultSetting('workerSrc')){return getDefaultSetting('workerSrc');}
if(pdfjsFilePath){return pdfjsFilePath.replace(/\.js$/i,'.worker.js');}
error('No PDFJS.workerSrc specified');}
var fakeWorkerFilesLoadedCapability;function setupFakeWorkerGlobal(){var WorkerMessageHandler;if(!fakeWorkerFilesLoadedCapability){fakeWorkerFilesLoadedCapability=createPromiseCapability();var loader=fakeWorkerFilesLoader||function(callback){Util.loadScript(getWorkerSrc(),function(){callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler);});};loader(fakeWorkerFilesLoadedCapability.resolve);}
return fakeWorkerFilesLoadedCapability.promise;}
function createCDNWrapper(url){var wrapper='importScripts(\''+url+'\');';return URL.createObjectURL(new Blob([wrapper]));}
function PDFWorker(name){this.name=name;this.destroyed=false;this._readyCapability=createPromiseCapability();this._port=null;this._webWorker=null;this._messageHandler=null;this._initialize();}
PDFWorker.prototype={get promise(){return this._readyCapability.promise;},get port(){return this._port;},get messageHandler(){return this._messageHandler;},_initialize:function PDFWorker_initialize(){if(!isWorkerDisabled&&!getDefaultSetting('disableWorker')&&typeof Worker!=='undefined'){var workerSrc=getWorkerSrc();try{if(!isSameOrigin(window.location.href,workerSrc)){workerSrc=createCDNWrapper(new URL(workerSrc,window.location).href);}
var worker=new Worker(workerSrc);var messageHandler=new MessageHandler('main','worker',worker);var terminateEarly=function(){worker.removeEventListener('error',onWorkerError);messageHandler.destroy();worker.terminate();if(this.destroyed){this._readyCapability.reject(new Error('Worker was destroyed'));}else{this._setupFakeWorker();}}.bind(this);var onWorkerError=function(event){if(!this._webWorker){terminateEarly();}}.bind(this);worker.addEventListener('error',onWorkerError);messageHandler.on('test',function PDFWorker_test(data){worker.removeEventListener('error',onWorkerError);if(this.destroyed){terminateEarly();return;}
var supportTypedArray=data&&data.supportTypedArray;if(supportTypedArray){this._messageHandler=messageHandler;this._port=worker;this._webWorker=worker;if(!data.supportTransfers){isPostMessageTransfersDisabled=true;}
this._readyCapability.resolve();messageHandler.send('configure',{verbosity:getVerbosityLevel()});}else{this._setupFakeWorker();messageHandler.destroy();worker.terminate();}}.bind(this));messageHandler.on('console_log',function(data){console.log.apply(console,data);});messageHandler.on('console_error',function(data){console.error.apply(console,data);});messageHandler.on('ready',function(data){worker.removeEventListener('error',onWorkerError);if(this.destroyed){terminateEarly();return;}
try{sendTest();}catch(e){this._setupFakeWorker();}}.bind(this));var sendTest=function(){var postMessageTransfers=getDefaultSetting('postMessageTransfers')&&!isPostMessageTransfersDisabled;var testObj=new Uint8Array([postMessageTransfers?255:0]);try{messageHandler.send('test',testObj,[testObj.buffer]);}catch(ex){info('Cannot use postMessage transfers');testObj[0]=0;messageHandler.send('test',testObj);}};sendTest();return;}catch(e){info('The worker has been disabled.');}}
this._setupFakeWorker();},_setupFakeWorker:function PDFWorker_setupFakeWorker(){if(!isWorkerDisabled&&!getDefaultSetting('disableWorker')){warn('Setting up fake worker.');isWorkerDisabled=true;}
setupFakeWorkerGlobal().then(function(WorkerMessageHandler){if(this.destroyed){this._readyCapability.reject(new Error('Worker was destroyed'));return;}
var port={_listeners:[],postMessage:function(obj){var e={data:obj};this._listeners.forEach(function(listener){listener.call(this,e);},this);},addEventListener:function(name,listener){this._listeners.push(listener);},removeEventListener:function(name,listener){var i=this._listeners.indexOf(listener);this._listeners.splice(i,1);},terminate:function(){}};this._port=port;var id='fake'+(nextFakeWorkerId++);var workerHandler=new MessageHandler(id+'_worker',id,port);WorkerMessageHandler.setup(workerHandler,port);var messageHandler=new MessageHandler(id,id+'_worker',port);this._messageHandler=messageHandler;this._readyCapability.resolve();}.bind(this));},destroy:function PDFWorker_destroy(){this.destroyed=true;if(this._webWorker){this._webWorker.terminate();this._webWorker=null;}
this._port=null;if(this._messageHandler){this._messageHandler.destroy();this._messageHandler=null;}}};return PDFWorker;})();var WorkerTransport=(function WorkerTransportClosure(){function WorkerTransport(messageHandler,loadingTask,pdfDataRangeTransport){this.messageHandler=messageHandler;this.loadingTask=loadingTask;this.pdfDataRangeTransport=pdfDataRangeTransport;this.commonObjs=new PDFObjects();this.fontLoader=new FontLoader(loadingTask.docId);this.destroyed=false;this.destroyCapability=null;this.pageCache=[];this.pagePromises=[];this.downloadInfoCapability=createPromiseCapability();this.setupMessageHandler();}
WorkerTransport.prototype={destroy:function WorkerTransport_destroy(){if(this.destroyCapability){return this.destroyCapability.promise;}
this.destroyed=true;this.destroyCapability=createPromiseCapability();var waitOn=[];this.pageCache.forEach(function(page){if(page){waitOn.push(page._destroy());}});this.pageCache=[];this.pagePromises=[];var self=this;var terminated=this.messageHandler.sendWithPromise('Terminate',null);waitOn.push(terminated);Promise.all(waitOn).then(function(){self.fontLoader.clear();if(self.pdfDataRangeTransport){self.pdfDataRangeTransport.abort();self.pdfDataRangeTransport=null;}
if(self.messageHandler){self.messageHandler.destroy();self.messageHandler=null;}
self.destroyCapability.resolve();},this.destroyCapability.reject);return this.destroyCapability.promise;},setupMessageHandler:function WorkerTransport_setupMessageHandler(){var messageHandler=this.messageHandler;function updatePassword(password){messageHandler.send('UpdatePassword',password);}
var pdfDataRangeTransport=this.pdfDataRangeTransport;if(pdfDataRangeTransport){pdfDataRangeTransport.addRangeListener(function(begin,chunk){messageHandler.send('OnDataRange',{begin:begin,chunk:chunk});});pdfDataRangeTransport.addProgressListener(function(loaded){messageHandler.send('OnDataProgress',{loaded:loaded});});pdfDataRangeTransport.addProgressiveReadListener(function(chunk){messageHandler.send('OnDataRange',{chunk:chunk});});messageHandler.on('RequestDataRange',function transportDataRange(data){pdfDataRangeTransport.requestDataRange(data.begin,data.end);},this);}
messageHandler.on('GetDoc',function transportDoc(data){var pdfInfo=data.pdfInfo;this.numPages=data.pdfInfo.numPages;var loadingTask=this.loadingTask;var pdfDocument=new PDFDocumentProxy(pdfInfo,this,loadingTask);this.pdfDocument=pdfDocument;loadingTask._capability.resolve(pdfDocument);},this);messageHandler.on('NeedPassword',function transportNeedPassword(exception){var loadingTask=this.loadingTask;if(loadingTask.onPassword){return loadingTask.onPassword(updatePassword,PasswordResponses.NEED_PASSWORD);}
loadingTask._capability.reject(new PasswordException(exception.message,exception.code));},this);messageHandler.on('IncorrectPassword',function transportIncorrectPassword(exception){var loadingTask=this.loadingTask;if(loadingTask.onPassword){return loadingTask.onPassword(updatePassword,PasswordResponses.INCORRECT_PASSWORD);}
loadingTask._capability.reject(new PasswordException(exception.message,exception.code));},this);messageHandler.on('InvalidPDF',function transportInvalidPDF(exception){this.loadingTask._capability.reject(new InvalidPDFException(exception.message));},this);messageHandler.on('MissingPDF',function transportMissingPDF(exception){this.loadingTask._capability.reject(new MissingPDFException(exception.message));},this);messageHandler.on('UnexpectedResponse',function transportUnexpectedResponse(exception){this.loadingTask._capability.reject(new UnexpectedResponseException(exception.message,exception.status));},this);messageHandler.on('UnknownError',function transportUnknownError(exception){this.loadingTask._capability.reject(new UnknownErrorException(exception.message,exception.details));},this);messageHandler.on('DataLoaded',function transportPage(data){this.downloadInfoCapability.resolve(data);},this);messageHandler.on('PDFManagerReady',function transportPage(data){if(this.pdfDataRangeTransport){this.pdfDataRangeTransport.transportReady();}},this);messageHandler.on('StartRenderPage',function transportRender(data){if(this.destroyed){return;}
var page=this.pageCache[data.pageIndex];page.stats.timeEnd('Page Request');page._startRenderPage(data.transparency,data.intent);},this);messageHandler.on('RenderPageChunk',function transportRender(data){if(this.destroyed){return;}
var page=this.pageCache[data.pageIndex];page._renderPageChunk(data.operatorList,data.intent);},this);messageHandler.on('commonobj',function transportObj(data){if(this.destroyed){return;}
var id=data[0];var type=data[1];if(this.commonObjs.hasData(id)){return;}
switch(type){case'Font':var exportedData=data[2];if('error'in exportedData){var exportedError=exportedData.error;warn('Error during font loading: '+exportedError);this.commonObjs.resolve(id,exportedError);break;}
var fontRegistry=null;if(getDefaultSetting('pdfBug')&&globalScope.FontInspector&&globalScope['FontInspector'].enabled){fontRegistry={registerFont:function(font,url){globalScope['FontInspector'].fontAdded(font,url);}};}
var font=new FontFaceObject(exportedData,{isEvalSuported:getDefaultSetting('isEvalSupported'),disableFontFace:getDefaultSetting('disableFontFace'),fontRegistry:fontRegistry});this.fontLoader.bind([font],function fontReady(fontObjs){this.commonObjs.resolve(id,font);}.bind(this));break;case'FontPath':this.commonObjs.resolve(id,data[2]);break;default:error('Got unknown common object type '+type);}},this);messageHandler.on('obj',function transportObj(data){if(this.destroyed){return;}
var id=data[0];var pageIndex=data[1];var type=data[2];var pageProxy=this.pageCache[pageIndex];var imageData;if(pageProxy.objs.hasData(id)){return;}
switch(type){case'JpegStream':imageData=data[3];loadJpegStream(id,imageData,pageProxy.objs);break;case'Image':imageData=data[3];pageProxy.objs.resolve(id,imageData);var MAX_IMAGE_SIZE_TO_STORE=8000000;if(imageData&&'data'in imageData&&imageData.data.length>MAX_IMAGE_SIZE_TO_STORE){pageProxy.cleanupAfterRender=true;}
break;default:error('Got unknown object type '+type);}},this);messageHandler.on('DocProgress',function transportDocProgress(data){if(this.destroyed){return;}
var loadingTask=this.loadingTask;if(loadingTask.onProgress){loadingTask.onProgress({loaded:data.loaded,total:data.total});}},this);messageHandler.on('PageError',function transportError(data){if(this.destroyed){return;}
var page=this.pageCache[data.pageNum-1];var intentState=page.intentStates[data.intent];if(intentState.displayReadyCapability){intentState.displayReadyCapability.reject(data.error);}else{error(data.error);}
if(intentState.operatorList){intentState.operatorList.lastChunk=true;for(var i=0;i<intentState.renderTasks.length;i++){intentState.renderTasks[i].operatorListChanged();}}},this);messageHandler.on('UnsupportedFeature',function transportUnsupportedFeature(data){if(this.destroyed){return;}
var featureId=data.featureId;var loadingTask=this.loadingTask;if(loadingTask.onUnsupportedFeature){loadingTask.onUnsupportedFeature(featureId);}
_UnsupportedManager.notify(featureId);},this);messageHandler.on('JpegDecode',function(data){if(this.destroyed){return Promise.reject('Worker was terminated');}
var imageUrl=data[0];var components=data[1];if(components!==3&&components!==1){return Promise.reject(new Error('Only 3 components or 1 component can be returned'));}
return new Promise(function(resolve,reject){var img=new Image();img.onload=function(){var width=img.width;var height=img.height;var size=width*height;var rgbaLength=size*4;var buf=new Uint8Array(size*components);var tmpCanvas=createScratchCanvas(width,height);var tmpCtx=tmpCanvas.getContext('2d');tmpCtx.drawImage(img,0,0);var data=tmpCtx.getImageData(0,0,width,height).data;var i,j;if(components===3){for(i=0,j=0;i<rgbaLength;i+=4,j+=3){buf[j]=data[i];buf[j+1]=data[i+1];buf[j+2]=data[i+2];}}else if(components===1){for(i=0,j=0;i<rgbaLength;i+=4,j++){buf[j]=data[i];}}
resolve({data:buf,width:width,height:height});};img.onerror=function(){reject(new Error('JpegDecode failed to load image'));};img.src=imageUrl;});},this);},getData:function WorkerTransport_getData(){return this.messageHandler.sendWithPromise('GetData',null);},getPage:function WorkerTransport_getPage(pageNumber,capability){if(pageNumber<=0||pageNumber>this.numPages||(pageNumber|0)!==pageNumber){return Promise.reject(new Error('Invalid page request'));}
var pageIndex=pageNumber-1;if(pageIndex in this.pagePromises){return this.pagePromises[pageIndex];}
var promise=this.messageHandler.sendWithPromise('GetPage',{pageIndex:pageIndex}).then(function(pageInfo){if(this.destroyed){throw new Error('Transport destroyed');}
var page=new PDFPageProxy(pageIndex,pageInfo,this);this.pageCache[pageIndex]=page;return page;}.bind(this));this.pagePromises[pageIndex]=promise;return promise;},getPageIndex:function WorkerTransport_getPageIndexByRef(ref){return this.messageHandler.sendWithPromise('GetPageIndex',{ref:ref}).then(function(pageIndex){return pageIndex;},function(reason){return Promise.reject(new Error(reason));});},getAnnotations:function WorkerTransport_getAnnotations(pageIndex,intent){return this.messageHandler.sendWithPromise('GetAnnotations',{pageIndex:pageIndex,intent:intent,});},getDestinations:function WorkerTransport_getDestinations(){return this.messageHandler.sendWithPromise('GetDestinations',null);},getDestination:function WorkerTransport_getDestination(id){return this.messageHandler.sendWithPromise('GetDestination',{id:id});},getPageLabels:function WorkerTransport_getPageLabels(){return this.messageHandler.sendWithPromise('GetPageLabels',null);},getAttachments:function WorkerTransport_getAttachments(){return this.messageHandler.sendWithPromise('GetAttachments',null);},getJavaScript:function WorkerTransport_getJavaScript(){return this.messageHandler.sendWithPromise('GetJavaScript',null);},getOutline:function WorkerTransport_getOutline(){return this.messageHandler.sendWithPromise('GetOutline',null);},getMetadata:function WorkerTransport_getMetadata(){return this.messageHandler.sendWithPromise('GetMetadata',null).then(function transportMetadata(results){return{info:results[0],metadata:(results[1]?new Metadata(results[1]):null)};});},getStats:function WorkerTransport_getStats(){return this.messageHandler.sendWithPromise('GetStats',null);},startCleanup:function WorkerTransport_startCleanup(){this.messageHandler.sendWithPromise('Cleanup',null).then(function endCleanup(){for(var i=0,ii=this.pageCache.length;i<ii;i++){var page=this.pageCache[i];if(page){page.cleanup();}}
this.commonObjs.clear();this.fontLoader.clear();}.bind(this));}};return WorkerTransport;})();var PDFObjects=(function PDFObjectsClosure(){function PDFObjects(){this.objs=Object.create(null);}
PDFObjects.prototype={ensureObj:function PDFObjects_ensureObj(objId){if(this.objs[objId]){return this.objs[objId];}
var obj={capability:createPromiseCapability(),data:null,resolved:false};this.objs[objId]=obj;return obj;},get:function PDFObjects_get(objId,callback){if(callback){this.ensureObj(objId).capability.promise.then(callback);return null;}
var obj=this.objs[objId];if(!obj||!obj.resolved){error('Requesting object that isn\'t resolved yet '+objId);}
return obj.data;},resolve:function PDFObjects_resolve(objId,data){var obj=this.ensureObj(objId);obj.resolved=true;obj.data=data;obj.capability.resolve(data);},isResolved:function PDFObjects_isResolved(objId){var objs=this.objs;if(!objs[objId]){return false;}else{return objs[objId].resolved;}},hasData:function PDFObjects_hasData(objId){return this.isResolved(objId);},getData:function PDFObjects_getData(objId){var objs=this.objs;if(!objs[objId]||!objs[objId].resolved){return null;}else{return objs[objId].data;}},clear:function PDFObjects_clear(){this.objs=Object.create(null);}};return PDFObjects;})();var RenderTask=(function RenderTaskClosure(){function RenderTask(internalRenderTask){this._internalRenderTask=internalRenderTask;this.onContinue=null;}
RenderTask.prototype={get promise(){return this._internalRenderTask.capability.promise;},cancel:function RenderTask_cancel(){this._internalRenderTask.cancel();},then:function RenderTask_then(onFulfilled,onRejected){return this.promise.then.apply(this.promise,arguments);}};return RenderTask;})();var InternalRenderTask=(function InternalRenderTaskClosure(){function InternalRenderTask(callback,params,objs,commonObjs,operatorList,pageNumber){this.callback=callback;this.params=params;this.objs=objs;this.commonObjs=commonObjs;this.operatorListIdx=null;this.operatorList=operatorList;this.pageNumber=pageNumber;this.running=false;this.graphicsReadyCallback=null;this.graphicsReady=false;this.useRequestAnimationFrame=false;this.cancelled=false;this.capability=createPromiseCapability();this.task=new RenderTask(this);this._continueBound=this._continue.bind(this);this._scheduleNextBound=this._scheduleNext.bind(this);this._nextBound=this._next.bind(this);}
InternalRenderTask.prototype={initializeGraphics:function InternalRenderTask_initializeGraphics(transparency){if(this.cancelled){return;}
if(getDefaultSetting('pdfBug')&&globalScope.StepperManager&&globalScope.StepperManager.enabled){this.stepper=globalScope.StepperManager.create(this.pageNumber-1);this.stepper.init(this.operatorList);this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint();}
var params=this.params;this.gfx=new CanvasGraphics(params.canvasContext,this.commonObjs,this.objs,params.imageLayer);this.gfx.beginDrawing(params.transform,params.viewport,transparency);this.operatorListIdx=0;this.graphicsReady=true;if(this.graphicsReadyCallback){this.graphicsReadyCallback();}},cancel:function InternalRenderTask_cancel(){this.running=false;this.cancelled=true;this.callback('cancelled');},operatorListChanged:function InternalRenderTask_operatorListChanged(){if(!this.graphicsReady){if(!this.graphicsReadyCallback){this.graphicsReadyCallback=this._continueBound;}
return;}
if(this.stepper){this.stepper.updateOperatorList(this.operatorList);}
if(this.running){return;}
this._continue();},_continue:function InternalRenderTask__continue(){this.running=true;if(this.cancelled){return;}
if(this.task.onContinue){this.task.onContinue.call(this.task,this._scheduleNextBound);}else{this._scheduleNext();}},_scheduleNext:function InternalRenderTask__scheduleNext(){if(this.useRequestAnimationFrame&&typeof window!=='undefined'){window.requestAnimationFrame(this._nextBound);}else{Promise.resolve(undefined).then(this._nextBound);}},_next:function InternalRenderTask__next(){if(this.cancelled){return;}
this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper);if(this.operatorListIdx===this.operatorList.argsArray.length){this.running=false;if(this.operatorList.lastChunk){this.gfx.endDrawing();this.callback();}}}};return InternalRenderTask;})();var _UnsupportedManager=(function UnsupportedManagerClosure(){var listeners=[];return{listen:function(cb){deprecated('Global UnsupportedManager.listen is used: '+' use PDFDocumentLoadingTask.onUnsupportedFeature instead');listeners.push(cb);},notify:function(featureId){for(var i=0,ii=listeners.length;i<ii;i++){listeners[i](featureId);}}};})();if(typeof pdfjsVersion!=='undefined'){exports.version=pdfjsVersion;}
if(typeof pdfjsBuild!=='undefined'){exports.build=pdfjsBuild;}
exports.getDocument=getDocument;exports.PDFDataRangeTransport=PDFDataRangeTransport;exports.PDFWorker=PDFWorker;exports.PDFDocumentProxy=PDFDocumentProxy;exports.PDFPageProxy=PDFPageProxy;exports._UnsupportedManager=_UnsupportedManager;}));(function(root,factory){{factory((root.pdfjsDisplayGlobal={}),root.pdfjsSharedUtil,root.pdfjsDisplayDOMUtils,root.pdfjsDisplayAPI,root.pdfjsDisplayAnnotationLayer,root.pdfjsDisplayTextLayer,root.pdfjsDisplayMetadata,root.pdfjsDisplaySVG);}}(this,function(exports,sharedUtil,displayDOMUtils,displayAPI,displayAnnotationLayer,displayTextLayer,displayMetadata,displaySVG){var globalScope=sharedUtil.globalScope;var deprecated=sharedUtil.deprecated;var warn=sharedUtil.warn;var LinkTarget=displayDOMUtils.LinkTarget;var isWorker=(typeof window==='undefined');if(!globalScope.PDFJS){globalScope.PDFJS={};}
var PDFJS=globalScope.PDFJS;if(typeof pdfjsVersion!=='undefined'){PDFJS.version=pdfjsVersion;}
if(typeof pdfjsBuild!=='undefined'){PDFJS.build=pdfjsBuild;}
PDFJS.pdfBug=false;if(PDFJS.verbosity!==undefined){sharedUtil.setVerbosityLevel(PDFJS.verbosity);}
delete PDFJS.verbosity;Object.defineProperty(PDFJS,'verbosity',{get:function(){return sharedUtil.getVerbosityLevel();},set:function(level){sharedUtil.setVerbosityLevel(level);},enumerable:true,configurable:true});PDFJS.VERBOSITY_LEVELS=sharedUtil.VERBOSITY_LEVELS;PDFJS.OPS=sharedUtil.OPS;PDFJS.UNSUPPORTED_FEATURES=sharedUtil.UNSUPPORTED_FEATURES;PDFJS.isValidUrl=sharedUtil.isValidUrl;PDFJS.shadow=sharedUtil.shadow;PDFJS.createBlob=sharedUtil.createBlob;PDFJS.createObjectURL=function PDFJS_createObjectURL(data,contentType){return sharedUtil.createObjectURL(data,contentType,PDFJS.disableCreateObjectURL);};Object.defineProperty(PDFJS,'isLittleEndian',{configurable:true,get:function PDFJS_isLittleEndian(){var value=sharedUtil.isLittleEndian();return sharedUtil.shadow(PDFJS,'isLittleEndian',value);}});PDFJS.removeNullCharacters=sharedUtil.removeNullCharacters;PDFJS.PasswordResponses=sharedUtil.PasswordResponses;PDFJS.PasswordException=sharedUtil.PasswordException;PDFJS.UnknownErrorException=sharedUtil.UnknownErrorException;PDFJS.InvalidPDFException=sharedUtil.InvalidPDFException;PDFJS.MissingPDFException=sharedUtil.MissingPDFException;PDFJS.UnexpectedResponseException=sharedUtil.UnexpectedResponseException;PDFJS.Util=sharedUtil.Util;PDFJS.PageViewport=sharedUtil.PageViewport;PDFJS.createPromiseCapability=sharedUtil.createPromiseCapability;PDFJS.maxImageSize=(PDFJS.maxImageSize===undefined?-1:PDFJS.maxImageSize);PDFJS.cMapUrl=(PDFJS.cMapUrl===undefined?null:PDFJS.cMapUrl);PDFJS.cMapPacked=PDFJS.cMapPacked===undefined?false:PDFJS.cMapPacked;PDFJS.disableFontFace=(PDFJS.disableFontFace===undefined?false:PDFJS.disableFontFace);PDFJS.imageResourcesPath=(PDFJS.imageResourcesPath===undefined?'':PDFJS.imageResourcesPath);PDFJS.disableWorker=(PDFJS.disableWorker===undefined?false:PDFJS.disableWorker);PDFJS.workerSrc=(PDFJS.workerSrc===undefined?null:PDFJS.workerSrc);PDFJS.disableRange=(PDFJS.disableRange===undefined?false:PDFJS.disableRange);PDFJS.disableStream=(PDFJS.disableStream===undefined?false:PDFJS.disableStream);PDFJS.disableAutoFetch=(PDFJS.disableAutoFetch===undefined?false:PDFJS.disableAutoFetch);PDFJS.pdfBug=(PDFJS.pdfBug===undefined?false:PDFJS.pdfBug);PDFJS.postMessageTransfers=(PDFJS.postMessageTransfers===undefined?true:PDFJS.postMessageTransfers);PDFJS.disableCreateObjectURL=(PDFJS.disableCreateObjectURL===undefined?false:PDFJS.disableCreateObjectURL);PDFJS.disableWebGL=(PDFJS.disableWebGL===undefined?true:PDFJS.disableWebGL);PDFJS.externalLinkTarget=(PDFJS.externalLinkTarget===undefined?LinkTarget.NONE:PDFJS.externalLinkTarget);PDFJS.externalLinkRel=(PDFJS.externalLinkRel===undefined?'noreferrer':PDFJS.externalLinkRel);PDFJS.isEvalSupported=(PDFJS.isEvalSupported===undefined?true:PDFJS.isEvalSupported);var savedOpenExternalLinksInNewWindow=PDFJS.openExternalLinksInNewWindow;delete PDFJS.openExternalLinksInNewWindow;Object.defineProperty(PDFJS,'openExternalLinksInNewWindow',{get:function(){return PDFJS.externalLinkTarget===LinkTarget.BLANK;},set:function(value){if(value){deprecated('PDFJS.openExternalLinksInNewWindow, please use '+'"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK" instead.');}
if(PDFJS.externalLinkTarget!==LinkTarget.NONE){warn('PDFJS.externalLinkTarget is already initialized');return;}
PDFJS.externalLinkTarget=value?LinkTarget.BLANK:LinkTarget.NONE;},enumerable:true,configurable:true});if(savedOpenExternalLinksInNewWindow){PDFJS.openExternalLinksInNewWindow=savedOpenExternalLinksInNewWindow;}
PDFJS.getDocument=displayAPI.getDocument;PDFJS.PDFDataRangeTransport=displayAPI.PDFDataRangeTransport;PDFJS.PDFWorker=displayAPI.PDFWorker;Object.defineProperty(PDFJS,'hasCanvasTypedArrays',{configurable:true,get:function PDFJS_hasCanvasTypedArrays(){var value=displayDOMUtils.hasCanvasTypedArrays();return sharedUtil.shadow(PDFJS,'hasCanvasTypedArrays',value);}});PDFJS.CustomStyle=displayDOMUtils.CustomStyle;PDFJS.LinkTarget=LinkTarget;PDFJS.addLinkAttributes=displayDOMUtils.addLinkAttributes;PDFJS.getFilenameFromUrl=displayDOMUtils.getFilenameFromUrl;PDFJS.isExternalLinkTargetSet=displayDOMUtils.isExternalLinkTargetSet;PDFJS.AnnotationLayer=displayAnnotationLayer.AnnotationLayer;PDFJS.renderTextLayer=displayTextLayer.renderTextLayer;PDFJS.Metadata=displayMetadata.Metadata;PDFJS.SVGGraphics=displaySVG.SVGGraphics;PDFJS.UnsupportedManager=displayAPI._UnsupportedManager;exports.globalScope=globalScope;exports.isWorker=isWorker;exports.PDFJS=globalScope.PDFJS;}));}).call(pdfjsLibs);exports.PDFJS=pdfjsLibs.pdfjsDisplayGlobal.PDFJS;exports.build=pdfjsLibs.pdfjsDisplayAPI.build;exports.version=pdfjsLibs.pdfjsDisplayAPI.version;exports.getDocument=pdfjsLibs.pdfjsDisplayAPI.getDocument;exports.PDFDataRangeTransport=pdfjsLibs.pdfjsDisplayAPI.PDFDataRangeTransport;exports.PDFWorker=pdfjsLibs.pdfjsDisplayAPI.PDFWorker;exports.renderTextLayer=pdfjsLibs.pdfjsDisplayTextLayer.renderTextLayer;exports.AnnotationLayer=pdfjsLibs.pdfjsDisplayAnnotationLayer.AnnotationLayer;exports.CustomStyle=pdfjsLibs.pdfjsDisplayDOMUtils.CustomStyle;exports.PasswordResponses=pdfjsLibs.pdfjsSharedUtil.PasswordResponses;exports.InvalidPDFException=pdfjsLibs.pdfjsSharedUtil.InvalidPDFException;exports.MissingPDFException=pdfjsLibs.pdfjsSharedUtil.MissingPDFException;exports.SVGGraphics=pdfjsLibs.pdfjsDisplaySVG.SVGGraphics;exports.UnexpectedResponseException=pdfjsLibs.pdfjsSharedUtil.UnexpectedResponseException;exports.OPS=pdfjsLibs.pdfjsSharedUtil.OPS;exports.UNSUPPORTED_FEATURES=pdfjsLibs.pdfjsSharedUtil.UNSUPPORTED_FEATURES;exports.isValidUrl=pdfjsLibs.pdfjsSharedUtil.isValidUrl;exports.createObjectURL=pdfjsLibs.pdfjsSharedUtil.createObjectURL;exports.removeNullCharacters=pdfjsLibs.pdfjsSharedUtil.removeNullCharacters;exports.shadow=pdfjsLibs.pdfjsSharedUtil.shadow;exports.createBlob=pdfjsLibs.pdfjsSharedUtil.createBlob;exports.getFilenameFromUrl=pdfjsLibs.pdfjsDisplayDOMUtils.getFilenameFromUrl;exports.addLinkAttributes=pdfjsLibs.pdfjsDisplayDOMUtils.addLinkAttributes;}));
// source --> https://orpheus-venlo.nl/wp-content/plugins/ultimate-member/assets/js/um-gdpr.min.js?ver=2.11.4 
jQuery(document).on("click","a.um-toggle-gdpr",function(e){var e=jQuery(e.currentTarget),t=e.closest(".um-field-area"),g=t.find(".um-gdpr-content");g.is(":visible")?(t.find("a.um-toggle-gdpr").text(e.data("toggle-show")),g.hide().find("a.um-toggle-gdpr").remove(),e.length&&e.get(0).scrollIntoView()):(t.find("a.um-toggle-gdpr").text(e.data("toggle-hide")),g.show().prepend(e.clone()))});