UNPKG

@aurigma/ui-framework

Version:

A platform which allows building print product personalization editors based on Aurigma's Customer's Canvas.

1 lines 23.3 kB
(window.multistep_editor_jsonpFunction=window.multistep_editor_jsonpFunction||[]).push([[33],{845:function(t,e){t.exports='<style>\n :host {\n display: block;\n width: 100%;\n height: var(--au-widget-height, 100%) !important;\n --paper-tabs-selection-bar_-_border-width: 0;\n --container-background-color: var(--au-widget--background-color, var(--carousel-current-image-background, transparent));\n --grid-template-carousel: "title title title""main main main""tabs tabs tabs"\n }\n\n :host .image-gallery {\n display: flex;\n width: 100%;\n height: 100%;\n flex-direction: column;\n display: grid;\n grid-template-columns: auto 2.4fr auto;\n grid-template-rows: 0.4fr 2.4fr auto;\n grid-template-areas: var(--grid-template-carousel);\n }\n\n :host .image-gallery__header {\n display: flex;\n width: 99%;\n min-height: 70px;\n justify-content: space-between;\n align-items: center;\n grid-area: title;\n }\n\n :host .image-gallery__header span {\n @apply --au-caption-font;\n }\n\n :host .image-gallery__header .title {\n @apply --au-subtitle1-font;\n font-weight: 600;\n font-size: calc(1 * var(--au-hem));\n color: var(--carousel-title);\n }\n\n :host .image-gallery__current-image {\n display: block;\n width: 100%;\n min-height: calc(7.5 * var(--au-hem));\n margin-bottom: calc(1.25 * var(--au-hem));\n background-color: var(--container-background-color);\n grid-area: main;\n position: relative;\n height: 100%;\n }\n\n :host .image-gallery__current-image iron-pages {\n height: 100%;\n box-sizing: border-box;\n }\n\n :host .image-gallery__current-image au-responsive-image {\n background-color: var(--container-background-color);\n --aurigma-responsive-image-width: calc(100% - var(--au-widget--padding));\n --aurigma-responsive-image-height: calc(100% - var(--au-widget--padding));\n --aurigma-responsive-image-padding: var(--au-widget--padding);\n --aurigma-responsive-image-box-shadow: var(--au-widget--box-shadow);\n --aurigma-responsive-image-border: var(--au-widget--border);\n }\n\n :host .image-gallery__tabs {\n display: block;\n width: 100%;\n min-height: calc(6.25 * var(--au-hem));\n height: 100%;\n grid-area: tabs;\n }\n\n :host .image-gallery__tabs .tab__content {\n width: calc(6 * var(--au-hem));\n white-space: nowrap;\n text-overflow: ellipsis;\n text-align: center;\n }\n\n :host .image-gallery__tabs .not-visible {\n display: none;\n }\n\n :host .image-gallery__tabs.vertical {\n width: fit-content;\n }\n\n :host .image-gallery__tabs.left {\n margin-right: var(--au-carousel-space-to-main-image, 0px);\n }\n\n :host .image-gallery__tabs.right {\n margin-left: var(--au-carousel-space-to-main-image, 0px);\n }\n\n :host .image-gallery__tabs.bottom {\n margin-top: var(--au-carousel-space-to-main-image, 0px);\n }\n\n button>iron-icon {\n pointer-events: none;\n }\n\n .tabs {\n display: flex;\n height: 100%;\n --i: 0;\n --n: 10;\n --scrollSize: 120px;\n position: relative;\n }\n\n .tabs.vertical {\n flex-direction: column;\n }\n\n .tabs.vertical.right {\n margin-left: calc(1.25 * var(--au-hem));\n }\n\n .tabs.vertical.left {\n margin-right: calc(1.25 * var(--au-hem));\n }\n\n .tabs .tabs__button {\n --iron-icon-fill-color: var(--carousel-thumb-button-color);\n --iron-icon-stroke-color: var(--carousel-thumb-button-color);\n font-size: calc(0.5 * var(--au-hem));\n width: calc(2.5 * var(--au-hem));\n height: calc(5.75 * var(--au-hem));\n }\n\n .tabs .tabs__button--back {\n margin-right: calc(1 * var(--au-hem));\n }\n\n .tabs .tabs__button--next {\n margin-left: calc(1 * var(--au-hem));\n }\n\n .vertical .tabs__button {\n font-size: calc(1.5 * var(--au-hem));\n width: 100%;\n height: calc(2.5 * var(--au-hem));\n }\n\n .vertical .tabs__button--back {\n margin: 0;\n margin-bottom: calc(1 * var(--au-hem));\n }\n\n .vertical .tabs__button--next {\n margin: 0;\n margin-top: calc(1 * var(--au-hem));\n }\n\n .tabs .tabs__button:hover {\n --iron-icon-fill-color: var(--carousel-thumb-button-color-hover);\n --iron-icon-stroke-color: var(--carousel-thumb-button-color-hover);\n }\n\n .tabs .tabs__button[disabled] {\n --iron-icon-fill-color: var(--carousel-thumb-button-color-disabled);\n --iron-icon-stroke-color: var(--carousel-thumb-button-color-disabled);\n }\n\n .tabs .tabs__content {\n overflow: hidden;\n flex: 1 1 auto;\n }\n\n .tabs__content iron-selector {\n display: flex;\n width: 100%;\n height: 100%;\n transition: all 0.1s linear;\n\n transform: translate(calc(var(--tx, 0px) + var(--i, 0) / var(--n) * -1 * var(--scrollSize)));\n }\n\n .vertical .tabs__content iron-selector {\n flex-direction: column;\n transform: translate(0, calc(var(--tx, 0px) + var(--i, 0) / var(--n) * -1 * var(--scrollSize)));\n max-height: 480px;\n }\n\n .vertical iron-icon {\n transform: rotate(90deg);\n }\n\n .tabs * {\n box-sizing: border-box;\n }\n\n .tabs .tab {\n cursor: pointer;\n\n border: 2px solid transparent;\n margin: auto calc(0.625 * var(--au-hem));\n transition: all 0.1s ease;\n }\n\n .tabs .tab:first-child {\n /*margin-left: 0;*/\n }\n\n .vertical .tab {\n margin: calc(0.625 * var(--au-hem)) auto;\n }\n\n .vertical .tab:first-child {\n /*margin-top: 0;*/\n }\n\n .tab au-responsive-image {\n cursor: pointer;\n background-color: var(--container-background-color);\n border: 4px solid var(--container-background-color);\n box-sizing: border-box;\n width: calc(5.625 * var(--au-hem));\n height: calc(5.625 * var(--au-hem));\n }\n\n .tab .tab__img {\n box-shadow: 0 0 0 1px var(--carousel-thumb-image-border);\n box-sizing: border-box;\n border-radius: 2px;\n background: var(--container-background-color);\n width: 100%;\n /*height: 100%;*/\n }\n\n .tab:hover .tab__img {\n opacity: 1;\n }\n\n .tab.iron-selected .tab__img {\n box-shadow: 0 0 0 2px var(--theme-primary-color);\n box-sizing: border-box;\n opacity: 1;\n }\n\n .tab .tab__title {\n @apply --au-caption-font;\n margin-top: calc(0.25 * var(--au-hem));\n user-select: none;\n }\n\n .hidden {\n position: absolute;\n opacity: 0;\n z-index: -1;\n pointer-events: none;\n }\n\n .current-image__button {\n position: absolute;\n width: calc(var(--au-hem) * 3);\n height: calc(var(--au-hem) * 3);\n top: calc(50% - var(--au-hem) * 1.5);\n z-index: 1;\n color: #83888F;\n background: #FFFFFF;\n border-radius: 50%;\n opacity: 0;\n cursor: pointer;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n user-select: none;\n border: none;\n outline: none;\n }\n\n .current-image____button--back {\n left: calc(var(--au-hem) * 0.5);\n\n }\n\n .current-image____button--next {\n right: calc(var(--au-hem) * 0.5);\n\n }\n\n .current-image__functional-container {\n z-index: 1;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n width: 100%;\n height: 100%;\n }\n\n .current-image__functional-container:hover .current-image__button {\n opacity: 0.8;\n }\n\n .current-image__functional-container:hover .current-image__button:hover {\n opacity: 1;\n }\n\n .current-image__lightbox {\n width: 100%;\n height: 100%;\n }\n\n #image {\n width: 100%;\n height: 100%;\n }\n\n .image-gallery.right {\n flex-direction: row !important;\n }\n\n .image-gallery.left {\n flex-direction: row-reverse !important;\n }\n</style>\n\n<div class$="image-gallery [[containerLayout]]">\n <div class="image-gallery__header" id="imageGalleryHeader">\n <span class="title">{{currentImageTitle}}</span>\n <span id="imageCounter">{{counterImage}}/{{imagesCount}}</span>\n </div>\n <div class="image-gallery__current-image" id="imageGalleryCurrentImage">\n <iron-pages id="image" selected="{{currentImageId}}" attr-for-selected="name">\n <dom-repeat items="{{images}}" index-as="index">\n <template>\n <au-responsive-image name="{{index}}" src$="{{item.urlHD}}" width="{{item.width}}"\n height="{{item.height}}">\n </au-responsive-image>\n </template>\n </dom-repeat>\n </iron-pages>\n <div class="current-image__functional-container">\n <div class="current-image__lightbox" style$="{{_cursorStyle}}" onclick="{{initLightbox()}}"></div>\n <dom-if if="{{arrowButtonsEnabled}}">\n <template>\n <button class="current-image__button current-image____button--back" onclick="{{backImage}}"\n animated="" elevation="0">\n <iron-icon icon="au-icons:chevron_left"></iron-icon>\n </button>\n <button class="current-image__button current-image____button--next" onclick="{{nextImage}}"\n animated="" elevation="0">\n <iron-icon icon="au-icons:chevron_right"></iron-icon>\n </button>\n </template>\n </dom-if>\n </div>\n </div>\n <div class="image-gallery__tabs">\n <div id="tabs" class="tabs">\n <paper-button class="tabs__button tabs__button--back " disabled role="button" animated="" elevation="0">\n <iron-icon icon="au-icons:chevron_left"></iron-icon>\n </paper-button>\n <div id="tabsContent" class="tabs__content">\n <iron-selector id="imageSelector" on-selected-changed="changeSelectedImage" attr-for-selected="name"\n selected="{{currentImageId}}" noink="true" autoselect="true" noBar="true" noSlide="true">\n <template is="dom-repeat" items="{{images}}" index-as="index">\n <div class="tab" noink="true" noBar="true" noSlide="true" name="{{index}}">\n <div class="tab__content">\n <div class="tab__img">\n <au-responsive-image src$="{{item.url}}"></au-responsive-image>\n </div>\n <span class="tab__title" title="{{item.title}}">{{item.title}}</span>\n </div>\n </div>\n </template>\n </iron-selector>\n </div>\n <paper-button class="tabs__button tabs__button--next" role="button" animated="" elevation="0">\n <iron-icon icon="au-icons:chevron_right"></iron-icon>\n </paper-button>\n </div>\n </div>\n</div>\n<au-lightbox id=\'lightbox\' images="{{images}}" styles="{{styles}}"></au-lightbox>'},902:function(t,e,n){n.r(e),n.d(e,"AuWidgetImageCarousel",function(){return l}),n.d(e,"widget",function(){return l});var i,a=n(0),e=n(845),e=n.n(e),o=n(160),r=n(1),s=n(2),l=(n(821),i=o.c,Object(a.d)(c,i),c.prototype.loadedCountChanged=function(){this.params&&this.params.preloader&&this.params.preloader.enabled&&this._loadedCount>=this._loadedCountToDisplay&&0!==this._loadedCountToDisplay&&0<=this._preloaderLockingSum&&this.showPreloader(!1)},c.prototype._countImage=function(t){return t+1},c.prototype.__changeFlagFunc=function(t){this._onChange&&this._onChange(this.images[t])},c.prototype._getTitle=function(t,e){return t&&0<t.length&&t[e]&&t[e].title||""},c.prototype.updateParams=function(t,n){var e,i=this,a=this._isLoaded?t.images.some(function(e){return!((null==n?void 0:n.images)||[]).some(function(t){return t.url===e.url})}):t.images.some(function(e){return!i.images.some(function(t){return t.url===e.url})}),o=t.images;if(this.timestamp=!!r.a.isNotNullOrUndefined(t.timestamp)&&t.timestamp,this.styles=t.style||{},(o=o.filter(function(t){return!!t})).forEach(function(e){var t=i.images.find(function(t){return t.url===e.url});e.width=e.width||(t?t.width:0),e.height=e.height||(t?t.height:0),i.timestamp&&(e.url=r.a.addTimestampToURL(e.url),e.urlHD)&&(e.urlHD=r.a.addTimestampToURL(e.urlHD)),e.urlHD=e.urlHD||e.url}),this.images=o,this.imagesCount=this.images.length,this._onChange=r.a.isNotNullOrUndefined(t.onChange)?r.a.functionWrapperConstructor(Array.isArray(t.onChange)?t.onChange:[t.onChange]):null,this.currentImageId=0,this.currentImageTitle=o[this.currentImageId]&&o[this.currentImageId].title?o[this.currentImageId].title:"",this.lightbox=!!r.a.isNotNullOrUndefined(t.lightbox)&&t.lightbox,!0===this.lightbox&&(this._cursorStyle="cursor: zoom-in;"),t.containerColor&&this.$.imageGalleryCurrentImage.setAttribute("style","--container-background-color:"+t.containerColor),this.showImageHeader=t.showImageHeader||!1,this.showIndex=t.showIndex||!1,this.isSingleElement=t.images.length<=1,this.imageSelectorPosition=t.imageSelectorPosition||"bottom",this.imageSelectorAlignment=t.imageSelectorAlignment||"start",this.computeGrid(),o="bottom"===this.imageSelectorPosition?(e=this.$.tabs.offsetWidth,this.$.tabs.querySelector(".tab")?this.$.tabs.querySelector(".tab").offsetWidth:120):(e=this.$.tabs.offsetHeight,this.$.tabs.querySelector(".tab")?this.$.tabs.querySelector(".tab").offsetHeight:140),this.tabsScrollingEnabled=e<o*this.imagesCount,this.tabImages=Math.ceil(e/o),!t.resetIndexOnUpdate)switch(!0){case-1===this.oldImageId:this.selectImage(0);break;case this.images.length-1>=this.oldImageId:this.selectImage(this.oldImageId);break;case this.images.length-1<this.oldImageId:this.selectImage(this.images.length-1);break;default:this.selectImage(0)}this.autoPlay=this.params.autoPlay,this.arrowButtonsEnabled=this.params.arrowButtonsEnabled,t&&t.preloader&&t.preloader.enabled&&this.images&&0<this.images.length&&(e=this.$.image.querySelectorAll("au-responsive-image").length,isNaN(t.preloader.loadedCountToHide)||null===t.preloader.loadedCountToHide||t.preloader.loadedCountToHide<1?this._loadedCountToDisplay=0<e?Math.min(e,this.images.length):this.images.length:this._loadedCountToDisplay=0<e?Math.min(this.images.length,t.preloader.loadedCountToHide,e):Math.min(this.images.length,t.preloader.loadedCountToHide),a)&&(o=r.a.isNullOrEmptyString(t.preloader.text)?this.localize("common.loading.preload"):t.preloader.text,this.showPreloader(!0,o),this._loadedCount=0),this.addTabsEventListeners()},c.prototype.currentImageTitleChanged=function(){var t=this.$.imageGalleryHeader||{};!this.isSingleElement&&this.currentImageTitle&&this.showImageHeader?t.style=this.currentImageTitle?"":"flex: 0 !important; min-height:10px !important;":t.style="display:none; flex: 0 !important; min-height:0px !important;"},c.prototype.exportWidgetData=function(t){return Object(a.b)(this,void 0,void 0,function(){return Object(a.e)(this,function(t){return[2,{imageId:this.currentImageId}]})})},c.prototype.restoreWidgetFromData=function(e,t){return Object(a.b)(this,void 0,void 0,function(){return Object(a.e)(this,function(t){return e&&this.currentImageId!==e.imageId&&(this.currentImageId=e.imageId),[2]})})},c.prototype.computeGrid=function(){var t=[["title","title","title"],["main","main","main"],["tabs","tabs","tabs"]],e=(this.showImageHeader||(t[0][0]="left"===this.imageSelectorPosition?"tabs":"main",t[0][1]="main",t[0][2]="right"===this.imageSelectorPosition?"tabs":"main"),t[1][0]="left"===this.imageSelectorPosition?"tabs":"main",t[1][2]="right"===this.imageSelectorPosition?"tabs":"main",t[2][0]="left"===this.imageSelectorPosition||"bottom"===this.imageSelectorPosition?"tabs":"main",t[2][1]="bottom"===this.imageSelectorPosition?"tabs":"main",t[2][2]="right"===this.imageSelectorPosition||"bottom"===this.imageSelectorPosition?"tabs":"main",!this.isSingleElement&&"none"!==this.imageSelectorPosition||(t=[["main","main","main"],["main","main","main"],["main","main","main"]]),[]);switch(t.forEach(function(t){e.push(t.join(" "))}),this.showIndex||this.$.imageCounter.classList.add("hidden"),this.showImageHeader||this.$.imageGalleryHeader.classList.add("hidden"),this.isSingleElement||"none"===this.imageSelectorPosition?(this.$.tabs.parentNode.style="display:none;",this.$.imageCounter.style="display:none"):(this.$.tabs.parentNode.style="display:block;",this.$.imageCounter.style="display:block"),"right"!==this.imageSelectorPosition&&"left"!==this.imageSelectorPosition||(this.$.tabs.classList.add("vertical"),this.querySelectorShadow(".image-gallery__tabs").classList.add("vertical"),this.$.tabs.classList.add(this.imageSelectorPosition)),this.imageSelectorAlignment){case"middle":this.$.imageSelector.style.justifyContent="center";break;case"end":this.$.imageSelector.style.justifyContent="flex-end";break;default:this.$.imageSelector.style.justifyContent="flex-start"}this.querySelectorShadow(".image-gallery__tabs").classList.add(this.imageSelectorPosition),this.style.setProperty("--grid-template-carousel",'"'.concat(e.join('" "'),'"'))},c.prototype.addTabsEventListeners=function(){var t,e=this,n={tx:0,i:0,x0:null,locked:!1,n:this.imagesCount-this.tabImages/2,client:"left"===this.imageSelectorPosition||"right"===this.imageSelectorPosition?"clientY":"clientX",di:0,sizeItem:this.$.tabs.querySelector(".tab")?this.$.tabs.querySelector(".tab").offsetWidth:120},i=(this.$.tabs.style.setProperty("--n",this.imagesCount),Math.round(this.$.tabsContent.offsetWidth/(n.sizeItem+20)-2));this.$.tabs.style.setProperty("--scrollSize",this.imagesCount*(n.sizeItem+20)-i/2*n.sizeItem+"px"),this.tabsScrollingEnabled?(this.$.tabs.querySelector(".tabs__button--back").addEventListener("click",function(t){return e.moveTabBack(t,n)}),this.$.tabs.querySelector(".tabs__button--next").addEventListener("click",function(t){return e.moveTabNext(t,n)}),this.$.tabsContent.addEventListener("mousedown",function(t){return e.lock(t,n)},!1),this.$.tabsContent.addEventListener("touchstart",function(t){return e.lock(t,n)},!1),this.$.tabsContent.addEventListener("mousemove",function(t){return e.drag(t,n)},!1),this.$.tabsContent.addEventListener("touchmove",function(t){return e.drag(t,n)},!1),this.$.tabsContent.addEventListener("mouseup",function(t){return e.move(t,n)},!1),this.$.tabsContent.addEventListener("touchend",function(t){return e.move(t,n)},!1),this.$.tabs.querySelectorAll(".tabs__button").forEach(function(t){t.classList.remove("hidden")})):this.$.tabs.querySelectorAll(".tabs__button").forEach(function(t){t.classList.add("hidden")}),this.nextImage=this.nextImage.bind(this),this.backImage=this.backImage.bind(this),this.autoPlay&&(t=this,setInterval(function(){t.nextImage()},this.autoPlay)),this._isLoaded||(this.$.image.addEventListener("load",function(t){e._loadedCount++}),this._isLoaded=!0)},c.prototype.nextImage=function(){this.$.image.selectNext()},c.prototype.backImage=function(){this.$.image.selectPrevious()},c.prototype.moveTabHandler=function(t){var e=this.$.tabs;switch(t.di=Math.round(t.di),!0){case t.i+t.di<0:t.i=0,this.$.tabs.style.setProperty("--i",t.i),e.querySelector(".tabs__button--back").disabled=!0;break;case t.i+t.di>t.n:t.i=t.n,this.$.tabs.style.setProperty("--i",t.i),e.querySelector(".tabs__button--next").disabled=!0;break;default:t.i=t.i+t.di,this.$.tabs.style.setProperty("--i",t.i),e.querySelectorAll(".tabs__button").forEach(function(t){t.disabled=!1})}},c.prototype.unify=function(t){return t.changedTouches?t.changedTouches[0]:t},c.prototype.lock=function(t,e){e.x0=this.unify(t)[e.client],this.$.tabs.classList.toggle("smooth",!(e.locked=!0))},c.prototype.drag=function(t,e){t.preventDefault(),e.locked&&(e.tx=this.unify(t)[e.client]-e.x0,this.$.tabs.style.setProperty("--tx","".concat(Math.round(this.unify(t)[e.client]-e.x0),"px")))},c.prototype.move=function(t,e){e.locked&&(e.di=-e.tx/e.sizeItem,this.moveTabHandler(e),this.$.tabs.style.setProperty("--tx","0px"),this.$.tabs.classList.toggle("smooth",!(e.locked=!1)),e.x0=null)},c.prototype.moveTabNext=function(t,e){e.di=1,this.moveTabHandler(e)},c.prototype.moveTabBack=function(t,e){e.di=-1,this.moveTabHandler(e)},c.prototype.initLightbox=function(){var t=this;return function(){t.lightbox&&(t.$.lightbox.currentImageId=t.currentImageId,t.$.lightbox.open=!0)}},c.prototype.selectImage=function(t){this.images.length<=t&&this.$.imageSelector.select(t)},c.prototype.changeSelectedImage=function(t){this.oldImageId=t.detail.value},Object(a.c)([Object(s.b)("_loadedCount"),Object(a.g)("design:type",Function),Object(a.g)("design:paramtypes",[]),Object(a.g)("design:returntype",void 0)],c.prototype,"loadedCountChanged",null),Object(a.c)([Object(s.c)(),Object(a.g)("design:type",Object)],c.prototype,"params",void 0),Object(a.c)([Object(s.c)(),Object(a.g)("design:type",Boolean)],c.prototype,"isSingleElement",void 0),Object(a.c)([Object(s.c)(),Object(a.g)("design:type",Array)],c.prototype,"images",void 0),Object(a.c)([Object(s.c)(),Object(a.g)("design:type",Boolean)],c.prototype,"lightbox",void 0),Object(a.c)([Object(s.c)(),Object(a.g)("design:type",Boolean)],c.prototype,"timestamp",void 0),Object(a.c)([Object(s.c)(),Object(a.g)("design:type",Number)],c.prototype,"imagesCount",void 0),Object(a.c)([Object(s.c)({notify:!0}),Object(a.g)("design:type",Number)],c.prototype,"currentImageId",void 0),Object(a.c)([Object(s.c)({computed:"_countImage(currentImageId)"}),Object(a.g)("design:type",Number)],c.prototype,"counterImage",void 0),Object(a.c)([Object(s.c)({computed:"__changeFlagFunc(currentImageId)"}),Object(a.g)("design:type",Number)],c.prototype,"__changeFlag",void 0),Object(a.c)([Object(s.c)({computed:"_getTitle(images, currentImageId)"}),Object(a.g)("design:type",String)],c.prototype,"currentImageTitle",void 0),Object(a.c)([Object(s.b)("currentImageTitle"),Object(a.g)("design:type",Function),Object(a.g)("design:paramtypes",[]),Object(a.g)("design:returntype",void 0)],c.prototype,"currentImageTitleChanged",null),Object(a.c)([Object(s.a)("au-widget-image-carousel",e.a)],c));function c(){var t=null!==i&&i.apply(this,arguments)||this;return t._isRestoring=!1,t._isLoaded=!1,t._loadedCount=0,t.isSingleElement=!1,t.images=[],t.imagesCount=0,t.oldImageId=0,t.currentImageId=-1,t.counterImage=0,t.__changeFlag=0,t.currentImageTitle="",t.imageSelectorPosition="bottom",t.imageSelectorAlignment="start",t._cursorStyle="",t.tabsScrollingEnabled=!0,t.autoPlay=0,t.arrowButtonsEnabled=!1,t.styles={},t._onChange=null,t}}}]);