diff --git a/nginx/app/dependencies/diva.js/build/diva.debug.js b/nginx/app/dependencies/diva.js/build/diva.debug.js
index 91854162..f6d1d8fb 100644
--- a/nginx/app/dependencies/diva.js/build/diva.debug.js
+++ b/nginx/app/dependencies/diva.js/build/diva.debug.js
@@ -10,9 +10,10 @@
constructor() {
super(...arguments);
this.image = null;
+ this.unavailable = null;
}
static get observedAttributes() {
- return ["data-src", "data-alt", "data-crossorigin"];
+ return ["data-src", "data-fallback-src", "data-alt", "data-crossorigin"];
}
connectedCallback() {
this.observe();
@@ -21,10 +22,7 @@
lazyImageObserver == null ? void 0 : lazyImageObserver.unobserve(this);
}
attributeChangedCallback() {
- if (this.image) {
- this.image.remove();
- this.image = null;
- }
+ this.reset();
if (this.isConnected) {
this.observe();
}
@@ -40,16 +38,47 @@
}
lazyImageObserver == null ? void 0 : lazyImageObserver.unobserve(this);
const image = document.createElement("img");
- image.className = "thumbs-image";
+ image.className = "diva-thumbs-image";
image.alt = (_a = this.dataset.alt) != null ? _a : "";
const crossOrigin = this.dataset.crossorigin;
+ const isAnonymous = crossOrigin === "anonymous";
+ this.image = image;
+ this.appendChild(image);
+ this.loadImage(image, url, isAnonymous ? void 0 : crossOrigin, isAnonymous, false);
+ }
+ loadImage(image, url, crossOrigin, canUseFallback, usedFallback) {
+ image.removeAttribute("crossorigin");
if (crossOrigin) {
image.crossOrigin = crossOrigin;
}
- this.image = image;
- this.appendChild(image);
+ image.onerror = () => {
+ const fallbackUrl = this.dataset.fallbackSrc;
+ if (canUseFallback && !usedFallback && fallbackUrl && fallbackUrl !== url) {
+ this.loadImage(image, fallbackUrl, void 0, true, true);
+ return;
+ }
+ this.showUnavailable();
+ };
+ image.removeAttribute("src");
image.src = url;
}
+ reset() {
+ var _a, _b;
+ (_a = this.image) == null ? void 0 : _a.remove();
+ this.image = null;
+ (_b = this.unavailable) == null ? void 0 : _b.remove();
+ this.unavailable = null;
+ }
+ showUnavailable() {
+ var _a;
+ (_a = this.image) == null ? void 0 : _a.remove();
+ this.image = null;
+ const unavailable = document.createElement("div");
+ unavailable.className = "diva-thumbs-image diva-thumbs-image--unavailable";
+ unavailable.setAttribute("aria-label", "Thumbnail unavailable");
+ this.unavailable = unavailable;
+ this.appendChild(unavailable);
+ }
observe() {
if (!("IntersectionObserver" in window)) {
this.load();
@@ -1270,7 +1299,7 @@
customElements.define("osd-viewer", OsdViewer);
// cache/diva.css
- var diva_default = ":root{--diva-accent:#5a6bff;--diva-accent-light:#9aa4ff;--diva-border:#d9d4ce;--diva-danger:#d32f2f;--diva-dark-bg:#1c1d22;--diva-dark-border:#2c2d33;--diva-overlay-bg:#10111499;--diva-page-bg:#f7f5f1;--diva-shadow-dark:#00000026;--diva-shadow-focus:#9aa4ff59;--diva-shadow-modal:#00000040;--diva-surface:#e6e1dc;--diva-text-muted:#5c5a55;--diva-text-muted-on-dark:#ffffffb3;--diva-text-primary:#1b1b1b;--diva-toolbar-button-bg:#5258626b;--diva-toolbar-button-bg-hover:#5c636e85;--diva-toolbar-button-bg-fullscreen:#52586285;--diva-toolbar-button-bg-fullscreen-hover:#6068749e;--diva-toolbar-button-border:#ffffff59;--diva-toolbar-button-border-hover:#ffffff73;--diva-toolbar-button-border-fullscreen-hover:#fff9;--diva-toolbar-button-icon:#2c2d33;--diva-toolbar-button-shadow:inset 0 1px 0 #ffffff8c, inset 0 -1px 0 #ffffff2e;--diva-toolbar-button-shadow-hover:inset 0 1px 0 #ffffffb3, inset 0 -1px 0 #ffffff3d;--diva-white:#fff;--diva-font-lg:16px;--diva-font-md:13px;--diva-font-sm:11px;--diva-font-xs:10px;--diva-font-xl:20px;color-scheme:light}*{box-sizing:border-box}.list-reset{margin:0;padding:0;list-style:none}.ui-button{text-align:left;cursor:pointer;color:var(--diva-text-primary);font-size:var(--diva-font-lg);background-color:#0000;border:none;padding:0}.ui-button:hover{background-color:var(--diva-surface)}.ui-card{cursor:pointer;border-radius:0;width:100%;padding:6px}.ui-card--dark{background-color:var(--diva-dark-bg)}.diva-app{flex-direction:column;flex:1;height:100%;min-height:0;padding:12px 24px;display:flex}.diva-app.is-fullscreen{height:100vh;min-height:100vh;padding:0}.diva-app-header{font-size:var(--diva-font-lg);align-items:center;gap:12px;margin-bottom:8px;font-weight:600;display:flex}.diva-app-title{font-size:var(--diva-font-xl);text-align:left;color:var(--diva-text-primary);margin-bottom:6px;font-weight:600}.diva-app-title.is-fullscreen{color:var(--diva-white)}.diva-app-body{flex:1;align-items:stretch;gap:0;height:100%;min-height:0;display:flex;position:relative}.diva-app-body.is-fullscreen{flex:1;min-height:0}.diva-canvas-column{flex-direction:column;flex:1;gap:24px;min-height:0;display:flex}.diva-canvas-column.is-fullscreen{flex:1;height:100%;min-height:0}.diva-canvas-wrapper{flex:1;min-height:0;position:relative}.diva-canvas{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);border-radius:0;width:100%;height:100%;overflow:hidden}.diva-canvas.is-fullscreen{border-radius:0;flex:1;height:100%}.diva-canvas.has-collection{border-radius:0}.metadata-panel{height:100%;padding:12px;overflow:auto}.metadata-body{flex-direction:column;gap:10px;display:flex}.metadata-item{flex-direction:column;gap:0;display:flex}.metadata-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);letter-spacing:.05em;font-weight:600;line-height:1.3}.metadata-value{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px;line-height:1.3}.metadata-value>:first-child{margin-top:0}.metadata-value>:last-child{margin-bottom:0}.contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.sidebar-resizer,.collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:ew-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.sidebar-resizer.is-hidden,.collection-resizer.is-hidden{display:none}.sidebar-panel.is-fullscreen,.collection-panel.is-fullscreen{border-radius:0;height:100%}.sidebar-panel.is-hidden,.collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.sidebar-resizer,.collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.sidebar-pane{flex:1;width:100%;min-height:0}.sidebar-pane.is-hidden{display:none}.thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.thumbs.is-fullscreen{height:100%}.thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.thumbs-item:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.thumbs-image{border-radius:0;width:100%;height:auto;display:block}.thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.thumbs-image--protected{background:var(--diva-dark-bg);min-height:96px}.thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.thumbs-label.is-active{color:var(--diva-white)}.contents-panel{height:100%;padding:12px;overflow:auto}.contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.contents-item{margin-bottom:6px}.contents-heading{align-items:baseline;display:flex}.contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.contents-disclosure:hover{color:var(--diva-accent)}.contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.contents-meta dt{font-weight:600}.contents-meta dd{margin:0 0 .5rem 1rem}.contents-meta dd:last-child{margin-bottom:0}.contents-button:hover{color:var(--diva-accent)}.contents-button.is-current{font-weight:600}@media (width<=720px){.sidebar-panel{border-radius:0;height:auto;width:100%!important}.sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.sidebar-panel.is-mobile-hidden{display:none}.thumbs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:auto;overflow:auto hidden}.thumbs-item{min-width:120px}}.canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.canvas-toolbar-section.is-right{flex:none;margin-left:auto}.canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.canvas-toolbar-end .canvas-toolbar-section.is-right{margin-left:0}.canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.canvas-toolbar-button svg{flex:none;width:16px;height:16px}.canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.canvas-toolbar-item:hover:after,.canvas-toolbar-item:has(.canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.canvas-toolbar-section.is-right .canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.canvas-toolbar-section.is-right .canvas-toolbar-item:last-child:hover:after,.canvas-toolbar-section.is-right .canvas-toolbar-item:last-child:has(.canvas-toolbar-button:focus-visible):after{transform:translate(0)}.canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.canvas-toolbar-end .canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.canvas-label.is-fullscreen{color:var(--diva-white)}.status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.status.is-error{color:var(--diva-danger)}@media (width<=720px){.canvas-toolbar{flex-wrap:wrap;gap:5px}.canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.canvas-toolbar-item{width:32px;height:32px}.canvas-toolbar-button{width:28px;height:28px;padding:6px}.canvas-toolbar-button svg{width:15px;height:15px}.canvas-label,.status{display:none}}.modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.modal-overlay.is-fullscreen{padding:0}.modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.modal.is-narrow{width:min(960px,94vw)}.modal.is-page-view{height:80vh;max-height:80vh}.modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.modal-actions{gap:8px;display:flex}.modal-close-action .canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.modal-close-action .canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.modal-close-action .canvas-toolbar-item{width:32px}.modal-title-stack{flex-direction:column;gap:4px;display:flex}.modal-title{font-size:var(--diva-font-lg);font-weight:600}.modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.modal-subtitle.is-muted{font-size:var(--diva-font-md)}.modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.modal-body.is-no-gap{gap:0}.modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.modal-body.is-fullscreen{flex:1;min-height:0}.modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.modal-viewer.is-fullscreen{border-radius:0;height:100%}.modal-viewer.is-outer-left{border-radius:0}.modal-canvas{width:100%;height:100%;display:block}.modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.manifest-info-logo{width:100%;max-width:180px;height:auto}.page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.page-view-choice:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.page-view-choice:hover{background-color:var(--diva-dark-bg)}.page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.page-view-choice-thumb{border-radius:0;width:100%;height:auto;display:block}.page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.filter-title-button.is-collapsed{margin-bottom:0}.filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.filter-title-icon.is-expanded{transform:rotate(90deg)}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.filter-toggle.is-inline{margin-bottom:0}.filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.filter-range-header-right{align-items:center;gap:8px;display:flex}.filter-range-input{width:100%}.filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.filter-reset:hover{background-color:var(--diva-border)}.filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.collection-tree-item{padding-left:12px}.collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.manifest-tree-item{padding:6px 8px 6px 30px}.manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.collection-panel{border-radius:0;width:100%;height:auto}}";
+ var diva_default = ":root{--diva-accent:#5a6bff;--diva-accent-light:#9aa4ff;--diva-border:#d9d4ce;--diva-danger:#d32f2f;--diva-dark-bg:#1c1d22;--diva-dark-border:#2c2d33;--diva-overlay-bg:#10111499;--diva-page-bg:#f7f5f1;--diva-shadow-dark:#00000026;--diva-shadow-focus:#9aa4ff59;--diva-shadow-modal:#00000040;--diva-surface:#e6e1dc;--diva-text-muted:#5c5a55;--diva-text-muted-on-dark:#ffffffb3;--diva-text-primary:#1b1b1b;--diva-toolbar-button-bg:#5258626b;--diva-toolbar-button-bg-hover:#5c636e85;--diva-toolbar-button-bg-fullscreen:#52586285;--diva-toolbar-button-bg-fullscreen-hover:#6068749e;--diva-toolbar-button-border:#ffffff59;--diva-toolbar-button-border-hover:#ffffff73;--diva-toolbar-button-border-fullscreen-hover:#fff9;--diva-toolbar-button-icon:#2c2d33;--diva-toolbar-button-shadow:inset 0 1px 0 #ffffff8c, inset 0 -1px 0 #ffffff2e;--diva-toolbar-button-shadow-hover:inset 0 1px 0 #ffffffb3, inset 0 -1px 0 #ffffff3d;--diva-white:#fff;--diva-font-lg:16px;--diva-font-md:13px;--diva-font-sm:11px;--diva-font-xs:10px;--diva-font-xl:20px}.diva-app{color-scheme:light}.diva-app,.diva-app *{box-sizing:border-box}.diva-list-reset{margin:0;padding:0;list-style:none}.diva-ui-button{text-align:left;cursor:pointer;color:var(--diva-text-primary);font-size:var(--diva-font-lg);background-color:#0000;border:none;padding:0}.diva-ui-button:hover{background-color:var(--diva-surface)}.diva-ui-card{cursor:pointer;border-radius:0;width:100%;padding:6px}.diva-ui-card--dark{background-color:var(--diva-dark-bg)}.diva-app{color-scheme:light;flex-direction:column;flex:1;height:100%;min-height:0;padding:12px 24px;display:flex}.diva-app.is-fullscreen{height:100vh;min-height:100vh;padding:0}.diva-app-header{font-size:var(--diva-font-lg);align-items:center;gap:12px;margin-bottom:8px;font-weight:600;display:flex}.diva-app-title{font-size:var(--diva-font-xl);text-align:left;color:var(--diva-text-primary);margin-bottom:6px;font-weight:600}.diva-app-title.is-fullscreen{color:var(--diva-white)}.diva-app-body{flex:1;align-items:stretch;gap:0;height:100%;min-height:0;display:flex;position:relative}.diva-app-body.is-fullscreen{flex:1;min-height:0}.diva-canvas-column{flex-direction:column;flex:1;gap:24px;min-width:0;min-height:0;display:flex}.diva-canvas-column.is-fullscreen{flex:1;height:100%;min-height:0}.diva-canvas-wrapper{flex:1;min-height:0;position:relative}.diva-canvas{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);border-radius:0;width:100%;height:100%;overflow:hidden}.diva-canvas.is-fullscreen{border-radius:0;flex:1;height:100%}.diva-canvas.has-collection{border-radius:0}.diva-metadata-panel{height:100%;padding:12px;overflow:auto}.diva-metadata-body{flex-direction:column;gap:10px;display:flex}.diva-metadata-item{flex-direction:column;gap:0;display:flex}.diva-metadata-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);letter-spacing:.05em;font-weight:600;line-height:1.3}.diva-metadata-value{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px;line-height:1.3}.diva-metadata-value>:first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-fullscreen,.diva-collection-panel.is-fullscreen{border-radius:0;height:100%}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs.is-fullscreen{height:100%}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-image{border-radius:0;width:100%;height:auto;display:block}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-panel{height:100%;padding:12px;overflow:auto}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{border-radius:0;height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-fullscreen{flex:1;min-height:0}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-viewer.is-fullscreen{border-radius:0;height:100%}.diva-modal-viewer.is-outer-left{border-radius:0}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb{border-radius:0;width:100%;height:auto;display:block}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{border-radius:0;width:100%;height:auto}}";
// cache/elm-esm.js
function F(arity, fun, wrapper) {
@@ -18497,10 +18526,30 @@
return $elm$core$Maybe$Nothing;
} else {
var thumbUrl = A2($author$project$Model$canvasThumbnailUrl, images, canvas);
+ var fallbackThumbUrl = A2(
+ $elm$core$Maybe$withDefault,
+ "",
+ A2(
+ $elm$core$Maybe$map,
+ function($) {
+ return $.thumbUrl;
+ },
+ $elm$core$List$head(
+ A2(
+ $elm$core$List$filter,
+ function($) {
+ return $.isPrimary;
+ },
+ images
+ )
+ )
+ )
+ );
return $elm$core$Maybe$Just(
{
aspect: $rism_digital$elm_iiif$IIIF$Presentation$canvasAspect(canvas),
canvasId: canvas.id,
+ fallbackThumbUrl,
height: canvas.height,
images,
label: $rism_digital$elm_iiif$IIIF$Presentation$canvasLabel(canvas),
@@ -19131,12 +19180,7 @@
}
};
var $author$project$Main$layoutModeUpdated = _Platform_outgoingPort("layoutModeUpdated", $elm$json$Json$Encode$string);
- var $elm$core$Basics$min = F2(
- function(x, y) {
- return _Utils_cmp(x, y) < 0 ? x : y;
- }
- );
- var $author$project$Main$mobileShortSideBreakpoint = 720;
+ var $author$project$Main$mobileWidthBreakpoint = 720;
var $author$project$Main$replaceCollectionById = F3(
function(collectionId, replacement, collection) {
var rebuildUp = F2(
@@ -22811,9 +22855,7 @@
);
default:
var width = msg.a;
- var height = msg.b;
- var shortSide = A2($elm$core$Basics$min, width, height);
- var nextIsMobile = _Utils_cmp(shortSide, $author$project$Main$mobileShortSideBreakpoint) < 1;
+ var nextIsMobile = _Utils_cmp(width, $author$project$Main$mobileWidthBreakpoint) < 1;
var nextModel = nextIsMobile ? _Utils_update(
model,
{ isMobile: true, mobileSidebarOpen: false, sidebarState: $author$project$Model$SidebarHidden }
@@ -23040,7 +23082,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("throbber-overlay")
+ $elm$html$Html$Attributes$class("diva-throbber-overlay")
]
),
_List_fromArray(
@@ -23049,7 +23091,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("throbber")
+ $elm$html$Html$Attributes$class("diva-throbber")
]
),
A2(
@@ -23059,7 +23101,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("throbber-cube"),
+ $elm$html$Html$Attributes$class("diva-throbber-cube"),
A2(
$elm$html$Html$Attributes$style,
"animation-delay",
@@ -23085,7 +23127,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("viewer-status-overlay")
+ $elm$html$Html$Attributes$class("diva-viewer-status-overlay")
]
),
_List_fromArray(
@@ -23094,7 +23136,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal is-narrow")
+ $elm$html$Html$Attributes$class("diva-modal is-narrow")
]
),
_List_fromArray(
@@ -23103,7 +23145,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-header")
+ $elm$html$Html$Attributes$class("diva-modal-header")
]
),
_List_fromArray(
@@ -23112,7 +23154,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-title")
+ $elm$html$Html$Attributes$class("diva-modal-title")
]
),
_List_fromArray(
@@ -23128,7 +23170,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-body is-no-sidebar")
+ $elm$html$Html$Attributes$class("diva-modal-body is-no-sidebar")
]
),
_List_fromArray(
@@ -23140,7 +23182,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("status", true),
+ _Utils_Tuple2("diva-status", true),
_Utils_Tuple2("is-error", isError)
]
)
@@ -23168,7 +23210,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("viewer-zoom-indicator")
+ $elm$html$Html$Attributes$class("diva-viewer-zoom-indicator")
]
),
_List_fromArray(
@@ -23229,7 +23271,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("collection-resizer", true),
+ _Utils_Tuple2("diva-collection-resizer", true),
_Utils_Tuple2("is-hidden", !model.collectionSidebarVisible)
]
)
@@ -23282,8 +23324,8 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("manifest-tree-item", true),
- _Utils_Tuple2("ui-button", true),
+ _Utils_Tuple2("diva-manifest-tree-item", true),
+ _Utils_Tuple2("diva-ui-button", true),
_Utils_Tuple2("is-active", isActive)
]
)
@@ -23322,7 +23364,7 @@
$elm$html$Html$ul,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("collection-list list-reset")
+ $elm$html$Html$Attributes$class("diva-collection-list diva-list-reset")
]
),
A2(
@@ -23347,7 +23389,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-empty")
+ $elm$html$Html$Attributes$class("diva-contents-empty")
]
),
_List_fromArray(
@@ -23371,7 +23413,7 @@
$elm$html$Html$li,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("collection-tree-item")
+ $elm$html$Html$Attributes$class("diva-collection-tree-item")
]
),
A2(
@@ -23380,7 +23422,7 @@
$elm$html$Html$button,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("collection-node-button ui-button"),
+ $elm$html$Html$Attributes$class("diva-collection-node-button diva-ui-button"),
$elm$html$Html$Attributes$type_("button"),
$elm$html$Html$Events$onClick(
$author$project$Msg$UserClickedCollectionItem(collection.id)
@@ -23393,7 +23435,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("collection-expand-icon")
+ $elm$html$Html$Attributes$class("diva-collection-expand-icon")
]
),
_List_fromArray(
@@ -23423,7 +23465,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("collection-panel", true),
+ _Utils_Tuple2("diva-collection-panel", true),
_Utils_Tuple2("is-fullscreen", model.fullscreen),
_Utils_Tuple2("is-hidden", !model.collectionSidebarVisible)
]
@@ -23442,7 +23484,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("collection-header")
+ $elm$html$Html$Attributes$class("diva-collection-header")
]
),
_List_fromArray(
@@ -23451,7 +23493,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("collection-title")
+ $elm$html$Html$Attributes$class("diva-collection-title")
]
),
_List_fromArray(
@@ -23467,7 +23509,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("collection-summary")
+ $elm$html$Html$Attributes$class("diva-collection-summary")
]
),
_List_fromArray(
@@ -23488,7 +23530,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("sidebar-content")
+ $elm$html$Html$Attributes$class("diva-sidebar-content")
]
),
_List_fromArray(
@@ -23497,7 +23539,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("sidebar-pane is-scroll")
+ $elm$html$Html$Attributes$class("diva-sidebar-pane is-scroll")
]
),
_List_fromArray(
@@ -27704,7 +27746,7 @@
$elm$html$Html$img,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("manifest-info-logo"),
+ $elm$html$Html$Attributes$class("diva-manifest-info-logo"),
$elm$html$Html$Attributes$src(url),
$elm$html$Html$Attributes$alt("Manifest logo")
]
@@ -27748,7 +27790,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-item")
+ $elm$html$Html$Attributes$class("diva-metadata-item")
]
),
_List_fromArray(
@@ -27757,7 +27799,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-label")
+ $elm$html$Html$Attributes$class("diva-metadata-label")
]
),
_List_fromArray(
@@ -27770,7 +27812,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-value")
+ $elm$html$Html$Attributes$class("diva-metadata-value")
]
),
_List_fromArray(
@@ -27808,7 +27850,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-body is-two-column")
+ $elm$html$Html$Attributes$class("diva-modal-body is-two-column")
]
),
_List_fromArray(
@@ -27817,7 +27859,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-body")
+ $elm$html$Html$Attributes$class("diva-metadata-body")
]
),
A2($elm$core$List$map, $author$project$View$ManifestInfoModal$viewRow, rows)
@@ -27826,7 +27868,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("manifest-info-logo-wrap")
+ $elm$html$Html$Attributes$class("diva-manifest-info-logo-wrap")
]
),
_List_fromArray(
@@ -27895,7 +27937,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("canvas-toolbar-button", true),
+ _Utils_Tuple2("diva-canvas-toolbar-button", true),
_Utils_Tuple2("is-disabled", isDisabled),
_Utils_Tuple2("is-fullscreen", config.isFullscreen)
]
@@ -27925,7 +27967,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("canvas-toolbar-item"),
+ $elm$html$Html$Attributes$class("diva-canvas-toolbar-item"),
A2($elm$html$Html$Attributes$attribute, "data-tooltip", config.label)
]
),
@@ -27952,7 +27994,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-header")
+ $elm$html$Html$Attributes$class("diva-modal-header")
]
),
_List_fromArray(
@@ -27961,7 +28003,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-title")
+ $elm$html$Html$Attributes$class("diva-modal-title")
]
),
_List_fromArray(
@@ -27974,7 +28016,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-actions")
+ $elm$html$Html$Attributes$class("diva-modal-actions")
]
),
_List_fromArray(
@@ -27983,7 +28025,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-close-action")
+ $elm$html$Html$Attributes$class("diva-modal-close-action")
]
),
_List_fromArray(
@@ -28011,7 +28053,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-overlay")
+ $elm$html$Html$Attributes$class("diva-modal-overlay")
]
),
_List_fromArray(
@@ -28020,7 +28062,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal is-narrow")
+ $elm$html$Html$Attributes$class("diva-modal is-narrow")
]
),
_List_fromArray(
@@ -28113,9 +28155,9 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("page-view-choice", true),
- _Utils_Tuple2("ui-card", true),
- _Utils_Tuple2("ui-card--dark", true),
+ _Utils_Tuple2("diva-page-view-choice", true),
+ _Utils_Tuple2("diva-ui-card", true),
+ _Utils_Tuple2("diva-ui-card--dark", true),
_Utils_Tuple2("is-active", isActive)
]
)
@@ -28136,7 +28178,7 @@
$elm$html$Html$img,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("page-view-choice-thumb"),
+ $elm$html$Html$Attributes$class("diva-page-view-choice-thumb"),
$elm$html$Html$Attributes$src(image.thumbUrl),
$elm$html$Html$Attributes$alt(image.label),
A2($elm$html$Html$Attributes$attribute, "loading", "lazy"),
@@ -28150,7 +28192,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("page-view-choice-thumb page-view-choice-thumb--protected"),
+ $elm$html$Html$Attributes$class("diva-page-view-choice-thumb diva-page-view-choice-thumb--protected"),
A2($elm$html$Html$Attributes$attribute, "aria-label", "Protected image")
]
),
@@ -28162,7 +28204,7 @@
$elm$html$Html$span,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("page-view-choice-label")
+ $elm$html$Html$Attributes$class("diva-page-view-choice-label")
]
),
_List_fromArray(
@@ -28182,7 +28224,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("page-view-choices")
+ $elm$html$Html$Attributes$class("diva-page-view-choices")
]
),
A2(
@@ -28269,7 +28311,7 @@
$elm$html$Html$input,
A2(
$elm$core$List$cons,
- $elm$html$Html$Attributes$class("filter-range-input"),
+ $elm$html$Html$Attributes$class("diva-filter-range-input"),
attrs
),
_List_Nil
@@ -28281,7 +28323,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-range-group")
+ $elm$html$Html$Attributes$class("diva-filter-range-group")
]
),
_List_fromArray(
@@ -28290,7 +28332,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-range-header")
+ $elm$html$Html$Attributes$class("diva-filter-range-header")
]
),
_List_fromArray(
@@ -28299,7 +28341,7 @@
$elm$html$Html$span,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-label")
+ $elm$html$Html$Attributes$class("diva-filter-label")
]
),
_List_fromArray(
@@ -28312,7 +28354,7 @@
$elm$html$Html$span,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-value")
+ $elm$html$Html$Attributes$class("diva-filter-value")
]
),
_List_fromArray(
@@ -28355,7 +28397,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-range-group")
+ $elm$html$Html$Attributes$class("diva-filter-range-group")
]
),
_List_fromArray(
@@ -28364,7 +28406,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-range-header")
+ $elm$html$Html$Attributes$class("diva-filter-range-header")
]
),
_List_fromArray(
@@ -28373,7 +28415,7 @@
$elm$html$Html$label,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-toggle is-inline")
+ $elm$html$Html$Attributes$class("diva-filter-toggle is-inline")
]
),
_List_fromArray(
@@ -28399,7 +28441,7 @@
$elm$html$Html$span,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-value")
+ $elm$html$Html$Attributes$class("diva-filter-value")
]
),
_List_fromArray(
@@ -28497,7 +28539,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-group")
+ $elm$html$Html$Attributes$class("diva-filter-group")
]
),
A2(
@@ -28509,7 +28551,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("filter-title-button", true),
+ _Utils_Tuple2("diva-filter-title-button", true),
_Utils_Tuple2("is-collapsed", !isExpanded)
]
)
@@ -28528,7 +28570,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("filter-title-icon", true),
+ _Utils_Tuple2("diva-filter-title-icon", true),
_Utils_Tuple2("is-expanded", isExpanded)
]
)
@@ -28559,7 +28601,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-row")
+ $elm$html$Html$Attributes$class("diva-filter-row")
]
),
items
@@ -28580,7 +28622,7 @@
$elm$html$Html$button,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-reset"),
+ $elm$html$Html$Attributes$class("diva-filter-reset"),
$elm$html$Html$Attributes$type_("button"),
$elm$html$Html$Events$onClick($author$project$Msg$UserResetAltColourAdjust)
]
@@ -28816,7 +28858,7 @@
$elm$html$Html$select,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-select"),
+ $elm$html$Html$Attributes$class("diva-filter-select"),
$elm$html$Html$Events$onInput(onChange),
$elm$html$Html$Attributes$value(currentValue)
]
@@ -28831,7 +28873,7 @@
$elm$html$Html$label,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-toggle")
+ $elm$html$Html$Attributes$class("diva-filter-toggle")
]
),
_List_fromArray(
@@ -29070,7 +29112,7 @@
return A4(
$author$project$View$PageViewModal$viewFilterGroup,
model,
- "filter-json",
+ "diva-filter-json",
"Import / Export Filter Settings",
_List_fromArray(
[
@@ -29081,7 +29123,7 @@
$elm$html$Html$button,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-reset"),
+ $elm$html$Html$Attributes$class("diva-filter-reset"),
$elm$html$Html$Attributes$type_("button"),
$elm$html$Html$Events$onClick($author$project$Msg$UserCopiedFilterJson)
]
@@ -29096,7 +29138,7 @@
$elm$html$Html$button,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-reset"),
+ $elm$html$Html$Attributes$class("diva-filter-reset"),
$elm$html$Html$Attributes$type_("button"),
$elm$html$Html$Events$onClick($author$project$Msg$UserAppliedFilterJson)
]
@@ -29114,7 +29156,7 @@
$elm$html$Html$textarea,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-json"),
+ $elm$html$Html$Attributes$class("diva-filter-json"),
$elm$html$Html$Attributes$value(model.filtersJsonInput),
$elm$html$Html$Events$onInput($author$project$Msg$UserUpdatedFilterJsonInput),
$elm$html$Html$Attributes$rows(6)
@@ -29130,7 +29172,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-json-error")
+ $elm$html$Html$Attributes$class("diva-filter-json-error")
]
),
_List_fromArray(
@@ -29448,7 +29490,7 @@
$elm$html$Html$input,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-color-input"),
+ $elm$html$Html$Attributes$class("diva-filter-color-input"),
$elm$html$Html$Attributes$type_("color"),
$elm$html$Html$Attributes$value(colourValue),
$elm$html$Html$Events$onInput(onChange)
@@ -29526,7 +29568,7 @@
$elm$html$Html$span,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-label")
+ $elm$html$Html$Attributes$class("diva-filter-label")
]
),
_List_fromArray(
@@ -29544,7 +29586,7 @@
$elm$html$Html$span,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-label")
+ $elm$html$Html$Attributes$class("diva-filter-label")
]
),
_List_fromArray(
@@ -29666,7 +29708,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-range-group")
+ $elm$html$Html$Attributes$class("diva-filter-range-group")
]
),
_List_fromArray(
@@ -29675,7 +29717,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-range-header")
+ $elm$html$Html$Attributes$class("diva-filter-range-header")
]
),
_List_fromArray(
@@ -29684,7 +29726,7 @@
$elm$html$Html$span,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-label")
+ $elm$html$Html$Attributes$class("diva-filter-label")
]
),
_List_fromArray(
@@ -29697,7 +29739,7 @@
$elm$html$Html$span,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-range-header-right")
+ $elm$html$Html$Attributes$class("diva-filter-range-header-right")
]
),
_List_fromArray(
@@ -29706,7 +29748,7 @@
$elm$html$Html$span,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-value")
+ $elm$html$Html$Attributes$class("diva-filter-value")
]
),
_List_fromArray(
@@ -29721,7 +29763,7 @@
$elm$html$Html$button,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("filter-reset"),
+ $elm$html$Html$Attributes$class("diva-filter-reset"),
$elm$html$Html$Attributes$type_("button"),
$elm$html$Html$Events$onClick(
A2($author$project$Msg$UserUpdatedFilterInt, $author$project$Filters$IntRotation, "0")
@@ -29771,7 +29813,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-sidebar")
+ $elm$html$Html$Attributes$class("diva-modal-sidebar")
]
),
_List_fromArray(
@@ -29800,7 +29842,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("modal-viewer", true),
+ _Utils_Tuple2("diva-modal-viewer", true),
_Utils_Tuple2("is-fullscreen", fullscreen),
_Utils_Tuple2("is-outer-left", isOuterLeft)
]
@@ -29814,7 +29856,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-canvas"),
+ $elm$html$Html$Attributes$class("diva-modal-canvas"),
$elm$html$Html$Attributes$id("filter-viewer")
]
),
@@ -29851,7 +29893,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("modal-body", true),
+ _Utils_Tuple2("diva-modal-body", true),
_Utils_Tuple2("is-no-gap", true),
_Utils_Tuple2("is-fullscreen", model.pageViewFullscreen),
_Utils_Tuple2("is-with-choices", hasChoices),
@@ -30004,7 +30046,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-header")
+ $elm$html$Html$Attributes$class("diva-modal-header")
]
),
_List_fromArray(
@@ -30013,7 +30055,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-title-stack")
+ $elm$html$Html$Attributes$class("diva-modal-title-stack")
]
),
A2(
@@ -30022,7 +30064,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-title")
+ $elm$html$Html$Attributes$class("diva-modal-title")
]
),
_List_fromArray(
@@ -30038,7 +30080,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-subtitle")
+ $elm$html$Html$Attributes$class("diva-modal-subtitle")
]
),
_List_fromArray(
@@ -30055,7 +30097,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-subtitle is-muted")
+ $elm$html$Html$Attributes$class("diva-modal-subtitle is-muted")
]
),
_List_fromArray(
@@ -30073,7 +30115,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-actions")
+ $elm$html$Html$Attributes$class("diva-modal-actions")
]
),
_List_fromArray(
@@ -30130,7 +30172,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("modal-close-action")
+ $elm$html$Html$Attributes$class("diva-modal-close-action")
]
),
_List_fromArray(
@@ -30161,7 +30203,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("modal-overlay", true),
+ _Utils_Tuple2("diva-modal-overlay", true),
_Utils_Tuple2("is-fullscreen", model.pageViewFullscreen)
]
)
@@ -30177,7 +30219,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("modal", true),
+ _Utils_Tuple2("diva-modal", true),
_Utils_Tuple2("is-fullscreen", model.pageViewFullscreen),
_Utils_Tuple2("is-page-view", !model.pageViewFullscreen)
]
@@ -30201,7 +30243,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("required-statement")
+ $elm$html$Html$Attributes$class("diva-required-statement")
]
),
$author$project$View$HtmlRenderer$renderHtml(valueText)
@@ -30233,7 +30275,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-empty")
+ $elm$html$Html$Attributes$class("diva-contents-empty")
]
),
_List_fromArray(
@@ -30286,8 +30328,8 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("contents-button", true),
- _Utils_Tuple2("ui-button", true),
+ _Utils_Tuple2("diva-contents-button", true),
+ _Utils_Tuple2("diva-ui-button", true),
_Utils_Tuple2("is-current", isCurrent)
]
)
@@ -30321,7 +30363,7 @@
$elm$html$Html$button,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-disclosure ui-button"),
+ $elm$html$Html$Attributes$class("diva-contents-disclosure diva-ui-button"),
$elm$html$Html$Attributes$type_("button"),
A2(
$elm$html$Html$Attributes$attribute,
@@ -30357,7 +30399,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-item")
+ $elm$html$Html$Attributes$class("diva-metadata-item")
]
),
_List_fromArray(
@@ -30366,7 +30408,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-label")
+ $elm$html$Html$Attributes$class("diva-metadata-label")
]
),
_List_fromArray(
@@ -30381,7 +30423,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-value")
+ $elm$html$Html$Attributes$class("diva-metadata-value")
]
),
$author$project$View$HtmlRenderer$renderHtml(
@@ -30401,7 +30443,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-meta")
+ $elm$html$Html$Attributes$class("diva-contents-meta")
]
),
A2(
@@ -30485,7 +30527,7 @@
$elm$html$Html$ul,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-list-nested list-reset")
+ $elm$html$Html$Attributes$class("diva-contents-list-nested diva-list-reset")
]
),
rendered
@@ -30516,7 +30558,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-heading")
+ $elm$html$Html$Attributes$class("diva-contents-heading")
]
),
_Utils_ap(
@@ -30535,7 +30577,7 @@
$elm$html$Html$li,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-item")
+ $elm$html$Html$Attributes$class("diva-contents-item")
]
),
A2(
@@ -30552,7 +30594,7 @@
$elm$html$Html$ul,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-list list-reset")
+ $elm$html$Html$Attributes$class("diva-contents-list diva-list-reset")
]
),
A2(
@@ -30582,7 +30624,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-view-tabs")
+ $elm$html$Html$Attributes$class("diva-contents-view-tabs")
]
),
_List_fromArray(
@@ -30594,7 +30636,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("contents-view-button", true),
+ _Utils_Tuple2("diva-contents-view-button", true),
_Utils_Tuple2(
"is-active",
_Utils_eq(contentsView, $author$project$Model$ContentsIndex)
@@ -30619,7 +30661,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("contents-view-button", true),
+ _Utils_Tuple2("diva-contents-view-button", true),
_Utils_Tuple2(
"is-active",
_Utils_eq(contentsView, $author$project$Model$ContentsPages)
@@ -30790,7 +30832,7 @@
$elm$html$Html$li,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-item")
+ $elm$html$Html$Attributes$class("diva-contents-item")
]
),
A2($elm$core$List$cons, labelNode, metadataBlock)
@@ -30825,7 +30867,7 @@
$elm$html$Html$ul,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-list list-reset")
+ $elm$html$Html$Attributes$class("diva-contents-list diva-list-reset")
]
),
A2(
@@ -30873,7 +30915,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-panel")
+ $elm$html$Html$Attributes$class("diva-contents-panel")
]
),
_List_fromArray(
@@ -30882,7 +30924,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("contents-title")
+ $elm$html$Html$Attributes$class("diva-contents-title")
]
),
_List_fromArray(
@@ -30937,7 +30979,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-item")
+ $elm$html$Html$Attributes$class("diva-metadata-item")
]
),
_List_fromArray(
@@ -30946,7 +30988,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-label")
+ $elm$html$Html$Attributes$class("diva-metadata-label")
]
),
_List_fromArray(
@@ -30959,7 +31001,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-value")
+ $elm$html$Html$Attributes$class("diva-metadata-value")
]
),
A2(
@@ -30992,7 +31034,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-panel")
+ $elm$html$Html$Attributes$class("diva-metadata-panel")
]
),
(function() {
@@ -31005,7 +31047,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-body")
+ $elm$html$Html$Attributes$class("diva-metadata-body")
]
),
_Utils_ap(
@@ -31022,7 +31064,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("metadata-body")
+ $elm$html$Html$Attributes$class("diva-metadata-body")
]
),
_List_fromArray(
@@ -31046,7 +31088,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("sidebar-pane", true),
+ _Utils_Tuple2("diva-sidebar-pane", true),
_Utils_Tuple2(
"is-hidden",
!_Utils_eq(current, target)
@@ -31071,7 +31113,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("sidebar-tab-button", true),
+ _Utils_Tuple2("diva-sidebar-tab-button", true),
_Utils_Tuple2(
"is-active",
_Utils_eq(current, target)
@@ -31309,8 +31351,9 @@
"diva-lazy-image",
_List_fromArray(
[
- $elm$html$Html$Attributes$class("thumbs-lazy-image"),
+ $elm$html$Html$Attributes$class("diva-thumbs-lazy-image"),
A2($elm$html$Html$Attributes$attribute, "data-src", page.thumbUrl),
+ A2($elm$html$Html$Attributes$attribute, "data-fallback-src", page.fallbackThumbUrl),
A2(
$elm$html$Html$Attributes$attribute,
"data-alt",
@@ -31326,7 +31369,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("thumbs-image thumbs-image--protected"),
+ $elm$html$Html$Attributes$class("diva-thumbs-image diva-thumbs-image--protected"),
A2($elm$html$Html$Attributes$attribute, "aria-label", "Protected image")
]
),
@@ -31339,9 +31382,9 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("thumbs-item", true),
- _Utils_Tuple2("ui-card", true),
- _Utils_Tuple2("ui-card--dark", true),
+ _Utils_Tuple2("diva-thumbs-item", true),
+ _Utils_Tuple2("diva-ui-card", true),
+ _Utils_Tuple2("diva-ui-card--dark", true),
_Utils_Tuple2("is-active", isActive)
]
)
@@ -31373,7 +31416,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("thumbs-label", true),
+ _Utils_Tuple2("diva-thumbs-label", true),
_Utils_Tuple2("is-active", isActive)
]
)
@@ -31411,7 +31454,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("thumbs", true),
+ _Utils_Tuple2("diva-thumbs", true),
_Utils_Tuple2("is-fullscreen", fullscreen)
]
)
@@ -31446,7 +31489,7 @@
var thumbnailPages = _Utils_eq(model.resourceResponse, $author$project$Model$ResourceLoading) || _Utils_eq(model.response, $author$project$Model$Loading) ? _List_Nil : model.pages;
var panelClasses = _List_fromArray(
[
- _Utils_Tuple2("sidebar-panel", true),
+ _Utils_Tuple2("diva-sidebar-panel", true),
_Utils_Tuple2("is-fullscreen", model.fullscreen),
_Utils_Tuple2(
"is-hidden",
@@ -31518,7 +31561,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("sidebar-tabs")
+ $elm$html$Html$Attributes$class("diva-sidebar-tabs")
]
),
A2(
@@ -31531,7 +31574,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("sidebar-content")
+ $elm$html$Html$Attributes$class("diva-sidebar-content")
]
),
A2(
@@ -31601,7 +31644,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("sidebar-resizer", true),
+ _Utils_Tuple2("diva-sidebar-resizer", true),
_Utils_Tuple2(
"is-hidden",
!$author$project$View$Sidebar$isSidebarVisible(model.sidebarState)
@@ -31748,7 +31791,7 @@
$elm$html$Html$Attributes$classList(
_List_fromArray(
[
- _Utils_Tuple2("canvas-label", true),
+ _Utils_Tuple2("diva-canvas-label", true),
_Utils_Tuple2("is-fullscreen", fullscreen)
]
)
@@ -31797,7 +31840,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("canvas-toolbar-item"),
+ $elm$html$Html$Attributes$class("diva-canvas-toolbar-item"),
A2($elm$html$Html$Attributes$attribute, "data-tooltip", displayLabel)
]
),
@@ -31807,7 +31850,7 @@
$elm$html$Html$button,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("canvas-toolbar-button"),
+ $elm$html$Html$Attributes$class("diva-canvas-toolbar-button"),
$elm$html$Html$Attributes$type_("button"),
A2($elm$html$Html$Attributes$attribute, "aria-label", displayLabel),
A2($elm$html$Html$Attributes$attribute, "data-diva-auth-logout", action.sessionId),
@@ -31840,7 +31883,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("canvas-toolbar-stack")
+ $elm$html$Html$Attributes$class("diva-canvas-toolbar-stack")
]
),
_List_fromArray(
@@ -31849,7 +31892,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("canvas-toolbar")
+ $elm$html$Html$Attributes$class("diva-canvas-toolbar")
]
),
_List_fromArray(
@@ -31858,7 +31901,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("canvas-toolbar-section")
+ $elm$html$Html$Attributes$class("diva-canvas-toolbar-section")
]
),
_List_fromArray(
@@ -31887,7 +31930,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("canvas-toolbar-end")
+ $elm$html$Html$Attributes$class("diva-canvas-toolbar-end")
]
),
_List_fromArray(
@@ -31897,7 +31940,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("canvas-toolbar-section is-right")
+ $elm$html$Html$Attributes$class("diva-canvas-toolbar-section is-right")
]
),
_Utils_ap(
@@ -32128,7 +32171,7 @@
$elm$html$Html$div,
_List_fromArray(
[
- $elm$html$Html$Attributes$class("required-statement-dock")
+ $elm$html$Html$Attributes$class("diva-required-statement-dock")
]
),
_List_fromArray(
diff --git a/nginx/app/dependencies/diva.js/build/diva.esm.js b/nginx/app/dependencies/diva.js/build/diva.esm.js
index cd4e7cf8..4642f2aa 100644
--- a/nginx/app/dependencies/diva.js/build/diva.esm.js
+++ b/nginx/app/dependencies/diva.js/build/diva.esm.js
@@ -1 +1 @@
-var e,t,r,a,n,i,o,u,s,c,l,b,d,f=null,h=class extends HTMLElement{static get observedAttributes(){return["data-src","data-alt","data-crossorigin"]}connectedCallback(){this.observe()}disconnectedCallback(){null==f||f.unobserve(this)}attributeChangedCallback(){this.image&&(this.image.remove(),this.image=null),this.isConnected&&this.observe()}load(){var e;if(this.image)return;let t=this.dataset.src;if(!t)return;null==f||f.unobserve(this);let r=document.createElement("img");r.className="thumbs-image",r.alt=null!=(e=this.dataset.alt)?e:"";let a=this.dataset.crossorigin;a&&(r.crossOrigin=a),this.image=r,this.appendChild(r),r.src=t}observe(){"IntersectionObserver"in window?(f||(f=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.target.load()})},{rootMargin:"300px 0px"})),f.observe(this)):this.load()}constructor(){super(...arguments),this.image=null}},g=class extends HTMLElement{connectedCallback(){this.style.display="block",this.container||(this.container=document.createElement("div"),this.container.className="osd-container",this.container.style.width="100%",this.container.style.height="100%",this.container.addEventListener("wheel",this.handleWheelBound,{passive:!1,capture:!0}),this.container.addEventListener("dblclick",this.handleDoubleClickBound),this.appendChild(this.container),this.createScrollbar());let e=!!this.viewer;this.syncViewer(),!e&&this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),this.initialPageIndex)}disconnectedCallback(){this.cancelLoads(),null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.container&&(this.container.removeEventListener("wheel",this.handleWheelBound),this.container.removeEventListener("dblclick",this.handleDoubleClickBound)),this.scrollbarMouseMove&&(document.removeEventListener("mousemove",this.scrollbarMouseMove),this.scrollbarMouseMove=null),this.scrollbarMouseUp&&(document.removeEventListener("mouseup",this.scrollbarMouseUp),this.scrollbarMouseUp=null),this.viewer&&(this.clearPageOverlays(),this.viewer.destroy(),this.viewer=null),this.scrollbarTrack=null,this.scrollbarThumb=null}syncViewer(){if(window.OpenSeadragon&&this.container&&!this.viewer){let e={element:this.container,animationTime:.8,showNavigationControl:!1,preserveViewport:!0,maxImageCacheCount:512,tileRetryMax:2,tileRetryDelay:500,visibilityRatio:0,constrainDuringPan:!1,minZoomLevel:.1,minZoomImageRatio:.1,maxZoomPixelRatio:2,defaultZoomLevel:0,sequenceMode:!1,zoomPerScroll:1,crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1,gestureSettingsTrackpad:{pinchToZoom:!0,scrollToZoom:!1,flickEnabled:!0,dragToPan:!0},gestureSettingsMouse:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!1,dragToPan:!0},gestureSettingsTouch:{pinchToZoom:!1,dragToPan:!0}};this.viewer=OpenSeadragon(e);let t=this.viewer;t.addHandler("pan",this.handleViewportChangeBound),t.addHandler("zoom",this.handleViewportChangeBound),t.addHandler("pan",()=>this.updateScrollbar()),t.addHandler("zoom",()=>this.updateScrollbar()),t.addHandler("animation-finish",this.handleAnimationFinishBound)}}setLayoutMode(e){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single"})}setViewingDirection(e){this.applyLayoutChange({direction:"rtl"===e?"rtl":"ltr"})}setLayoutConfig(e,t){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single",direction:"rtl"===t?"rtl":"ltr"})}setTileSources(e,t=0,r="internal"){if(Array.isArray(e)){if(this.tileSources=e.slice(),this.resourceId=r,this.initialPageIndex=Number.isInteger(t)&&t>=0&&ts)for(var d=s;dc&&d>l;){var p=i[b],m=o[d],w=p.a,y=m.a,x=p.b,E=m.b;if(w===y){var I=tN(x,E,a,n.s[y]);b--,d--,v(I,!0);continue}var C=!1;if(w in s?C=!0:(ti(n.s[w].r),delete n.s[w],b--),y in u){if(C)break}else{var R=to(void 0),$=tT(E,a,R);n.s[y]=R,te(e,$,h),d--,h=$}}var L=!1;if(c=e)break;var r=tG[t];delete tG[t],r()}tF=!1})),t}var tZ="u">typeof requestAnimationFrame?requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},tX={addEventListener:function(){},removeEventListener:function(){}},tY="u">typeof document?document:tX,tJ="u">typeof window?window:tX,tQ=m(function(e,t,r){return eH(eP(function(a){function i(e){eq(r(e))}return e.addEventListener(t,i,n&&{passive:!0}),function(){e.removeEventListener(t,i)}}))}),t0=p(function(e,t){var r=eC(e,t);return r1(r)?rp(r.a):rm});function t1(e,t){return eP(function(r){tK(function(){var a=document.getElementById(e);r(a?ek(t(a)):{$:1,a:r6(e)})})})}function t2(){var e=tY.body,t=tY.documentElement;return{dz:Math.max(e.scrollWidth,e.offsetWidth,t.scrollWidth,t.offsetWidth,t.clientWidth),dd:Math.max(e.scrollHeight,e.offsetHeight,t.scrollHeight,t.offsetHeight,t.clientHeight)}}var t4=m(function(e,t,r){return t1(e,function(e){return e.scrollLeft=t,e.scrollTop=r,0})}),t3=m(function(e,t,r){return eP(function(a){function n(e){a(t(r.dH.a(e)))}var i,o,u,s=new XMLHttpRequest;s.addEventListener("error",function(){n(aT)}),s.addEventListener("timeout",function(){n(aP)}),s.addEventListener("load",function(){var e,t,a;n((e=r.dH.b,I(200<=(t=s).status&&t.status<300?aS:aL,{aK:(a=t).responseURL,gC:a.status,gD:a.statusText,eE:function(e){if(!e)return aC;for(var t=aC,r=e.split("\r\n"),a=r.length;a--;){var n=r[a],i=n.indexOf(": ");if(i>0){var o=n.substring(0,i),u=n.substring(i+2);t=C(aZ,o,function(e){return rp(aN(e)?u+", "+e.a:u)},t)}}return t}(a.getAllResponseHeaders())},e(t.response))))}),aN(r.fv)&&(i=e,o=s,u=r.fv.a,o.upload.addEventListener("progress",function(e){!o.c&&eq(I(aO,i,{a:u,b:ak({gy:e.loaded,fn:e.total})}))}),o.addEventListener("progress",function(e){!o.c&&eq(I(aO,i,{a:u,b:aM({gq:e.loaded,fn:e.lengthComputable?rp(e.total):rm})}))}));try{s.open(r.f8,r.aK,!0)}catch(e){return n(aA(r.aK))}return function(e,t){for(var r=t.eE;r.b;r=r.b)e.setRequestHeader(r.a.a,r.a.b);e.timeout=t.gM.a||0,e.responseType=t.dH.d,e.withCredentials=t.fB}(s,r),r.ef.a&&s.setRequestHeader("Content-Type",r.ef.a),s.send(r.ef.b),function(){s.c=!0,s.abort()}})}),t6=m(function(e,t,r){return{$:0,d:e,b:t,a:r}}),t5=p(function(e,t){return{$:0,d:t.d,b:t.b,a:function(r){return e(t.a(r))}}}),t8=y(function(e,t,r,a,n){for(var i,o=e.length,u=t+o<=n.length,s=0;u&&s