functiongup(e){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");vart="[\\?&]"+e+"=([^&#]*)",n=newRegExp(t),o=n.exec(window.location.href);returnnull===o?"":o[1]}!function(e,t){"object"==typeofmodule&&"object"==typeofmodule.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)thrownewError("jQuery requires a window with a document");returnt(e)}:t(e)}("undefined"!=typeofwindow?window:this,function(e,t){functionn(e){vart=e.length,n=J.type(e);return"function"===n||J.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||0===t||"number"==typeoft&&t>0&&t-1ine}functiono(e,t,n){if(J.isFunction(t))returnJ.grep(e,function(e,o){return!!t.call(e,o,e)!==n});if(t.nodeType)returnJ.grep(e,function(e){returne===t!==n});if("string"==typeoft){if(rt.test(t))returnJ.filter(t,e,n);t=J.filter(t,e)}returnJ.grep(e,function(e){returnz.call(t,e)>=0!==n})}functioni(e,t){for(;(e=e[t])&&1!==e.nodeType;);returne}functiona(e){vart=ft[e]={};returnJ.each(e.match(ht)||[],function(e,n){t[n]=!0}),t}functions(){Q.removeEventListener("DOMContentLoaded",s,!1),e.removeEventListener("load",s,!1),J.ready()}functionr(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=J.expando+r.uid++}functionl(e,t,n){varo;if(void0===n&&1===e.nodeType)if(o="data-"+t.replace(wt,"-$1").toLowerCase(),n=e.getAttribute(o),"string"==typeofn){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:yt.test(n)?J.parseJSON(n):n}catch(i){}vt.set(e,t,n)}elsen=void0;returnn}functionc(){return!0}functionu(){return!1}functiond(){try{returnQ.activeElement}catch(e){}}functionp(e,t){returnJ.nodeName(e,"table")&&J.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}functionh(e){returne.type=(null!==e.getAttribute("type"))+"/"+e.type,e}functionf(e){vart=Lt.exec(e.type);returnt?e.type=t[1]:e.removeAttribute("type"),e}functionm(e,t){for(varn=0,o=e.length;o>n;n++)gt.set(e[n],"globalEval",!t||gt.get(t[n],"globalEval"))}functionb(e,t){varn,o,i,a,s,r,l,c;if(1===t.nodeType){if(gt.hasData(e)&&(a=gt.access(e),s=gt.set(t,a),c=a.events)){deletes.handle,s.events={};for(iinc)for(n=0,o=c[i].length;o>n;n++)J.event.add(t,i,c[i][n])}vt.hasData(e)&&(r=vt.access(e),l=J.extend({},r),vt.set(t,l))}}functiong(e,t){varn=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];returnvoid0===t||t&&J.nodeName(e,t)?J.merge([e],n):n}functionv(e,t){varn=t.nodeName.toLowerCase();"input"===n&&kt.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}functiony(t,n){varo,i=J(n.createElement(t)).appendTo(n.body),a=e.getDefaultComputedStyle&&(o=e.getDefaultComputedStyle(i[0]))?o.display:J.css(i[0],"display");returni.detach(),a}functionw(e){vart=Q,n=Rt[e];returnn||(n=y(e,t),"none"!==n&&n||(Ht=(Ht||J("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=Ht[0].contentDocument,t.write(),t.close(),n=y(e,t),Ht.detach()),Rt[e]=n),n}functionx(e,t,n){varo,i,a,s,r=e.style;returnn=n||Ut(e),n&&(s=n.getPropertyValue(t)||n[t]),n&&(""!==s||J.contains(e.ownerDocument,e)||(s=J.style(e,t)),Bt.test(s)&&Ft.test(t)&&(o=r.width,i=r.minWidth,a=r.maxWidth,r.minWidth=r.maxWidth=r.width=s,s=n.width,r.width=o,r.minWidth=i,r.maxWidth=a)),void0!==s?s+"":s}functionT(e,t){return{get:function(){returne()?voiddeletethis.get:(this.get=t).apply(this,arguments)}}}functionM(e,t){if(tine)returnt;for(varn=t[0].toUpperCase()+t.slice(1),o=t,i=Vt.length;i--;)if(t=Vt[i]+n,tine)returnt;returno}functionk(e,t,n){varo=Xt.exec(t);returno?Math.max(0,o[1]-(n||0))+(o[2]||"px"):t}functionC(e,t,n,o,i){for(vara=n===(o?"border":"content")?4:"width"===t?1:0,s=0;4>a;a+=2)"margin"===n&&(s+=J.css(e,n+Tt[a],!0,i)),o?("content"===n&&(s-=J.css(e,"padding"+Tt[a],!0,i)),"margin"!==n&&(s-=J.css(e,"border"+Tt[a]+"Width",!0,i))):(s+=J.css(e,"padding"+Tt[a],!0,i),"padding"!==n&&(s+=J.css(e,"border"+Tt[a]+"Width",!0,i)));returns}functionj(e,t,n){varo=!0,i="width"===t?e.
}),header.dom("#clearSearch").on(e,function(){header.dom("#search").focus(),search.reset()}),lychee.infobox.find(".header .close").on(e,view.infobox.hide),lychee.imageview.on(e,".arrow_wrapper--previous",photo.previous).on(e,".arrow_wrapper--next",photo.next),lychee.infobox.on(e,"#edit_title_album",function(){album.setTitle([album.getID()])}).on(e,"#edit_description_album",function(){album.setDescription(album.getID())}).on(e,"#edit_title",function(){photo.setTitle([photo.getID()])}).on(e,"#edit_description",function(){photo.setDescription(photo.getID())}).on(e,"#edit_tags",function(){photo.editTags([photo.getID()])}).on(e,"#tags .tag span",function(){photo.deleteTag(photo.getID(),$(this).data("index"))}),Mousetrap.bind("left",function(){visible.photo()&&$("#imageview a#previous").click()}).bind("right",function(){visible.photo()&&$("#imageview a#next").click()}).bind("u",function(){$("#upload_files").click()}).bind(["s","f"],function(e){visible.photo()?header.dom("#button_star").click():visible.albums()&&(e.preventDefault(),header.dom("#search").focus())}).bind("r",function(e){e.preventDefault(),visible.album()?album.setTitle(album.getID()):visible.photo()&&photo.setTitle([photo.getID()])}).bind("d",function(e){e.preventDefault(),visible.photo()?photo.setDescription(photo.getID()):visible.album()&&album.setDescription(album.getID())}).bind("t",function(e){visible.photo()&&(e.preventDefault(),photo.editTags([photo.getID()]))}).bind("i",function(){if(visible.infobox())view.infobox.hide();else{if(visible.multiselect())return!1;visible.infoboxbutton()&&view.infobox.show()}}).bind(["command+backspace","ctrl+backspace"],function(){visible.photo()&&!visible.message()?photo["delete"]([photo.getID()]):visible.album()&&!visible.message()&&album["delete"]([album.getID()])}).bind(["command+a","ctrl+a"],function(){visible.album()&&!visible.message()?multiselect.selectAll():visible.albums()&&!visible.message()&&multiselect.selectAll()}),Mousetrap.bindGlobal("enter",function(){basicModal.visible()===!0&&basicModal.action()}),Mousetrap.bindGlobal(["esc","command+up"],function(e){e.preventDefault(),basicModal.visible()===!0?basicModal.cancel():visible.contextMenu()?contextMenu.close():visible.infobox()?view.infobox.hide():visible.photo()?lychee["goto"](album.getID()):visible.album()?lychee["goto"](""):visible.albums()&&0!==$("#search").val().length&&search.reset()}),"ontouchend"indocument.documentElement&&$(document).on("touchend","#image",function(e){(null===swipe.obj||swipe.offset>=-5&&swipe.offset<=5)&&(visible.controls()?header.hide(e,0):header.show())}).swipe().on("swipeStart",function(){visible.photo()&&swipe.start($("#image"))}).swipe().on("swipeMove",function(e){visible.photo()&&swipe.move(e.swipe)}).swipe().on("swipeEnd",function(e){visible.photo()&&swipe.stop(e.swipe,photo.previous,photo.next)}),$(document).on("keyup","#password",function(){$(this).val().length>0&&$(this).removeClass("error")}).on("click",".album",function(){lychee["goto"]($(this).attr("data-id"))}).on("click",".photo",function(){lychee["goto"](album.getID()+"/"+$(this).attr("data-id"))}).on("contextmenu",".photo",function(e){contextMenu.photo(photo.getID(),e)}).on("contextmenu",".album",function(e){contextMenu.album(album.getID(),e)}).on(e,"#infobox_overlay",view.infobox.hide).on("change","#upload_files",function(){basicModal.close(),upload.start.local(this.files)}).on("dragover",function(e){e.preventDefault()},!1).on("drop",function(e){returne.stopPropagation(),e.preventDefault(),visible.photo()&&lychee["goto"](album.getID()),visible.contextMenu()&&contextMenu.close(),e.originalEvent.dataTransfer.files.length>0?upload.start.local(e.originalEvent.dataTransfer.files):e.originalEvent.dataTransfer.getData("Text").length>3&&upload.start.url(e.originalEvent.dataTransfer.getData("Text")),!0}),lychee.init()}),loadingBar={status:null},loadingBar.show=function(e,t){return"error"===e?(loadingBar.status="error",t&&(t=t.replace("<br>","")),t||(t="Whoops, it looks like something went wrong. Please reload the site and try again!"),visible.controls()&&header.dom().addCla
},upload={},upload.show=function(e,t,n){basicModal.show({body:build.uploadModal(e,t),buttons:{action:{title:"Close","class":"hidden",fn:basicModal.close}},callback:n})},upload.notify=function(e,t){varn;returnt&&""!==t||(t="You can now manage your new photo(s)."),window.webkitNotifications?(0!==window.webkitNotifications.checkPermission()&&window.webkitNotifications.requestPermission(),void(0===window.webkitNotifications.checkPermission()&&e&&(n=window.webkitNotifications.createNotification("",e,t),n.show()))):!1},upload.start={local:function(e){vart=album.getID(),n=!1,o=function(e,i){vara=newFormData,s=newXMLHttpRequest,r=0,l=0,c=function(){window.onbeforeunload=null,$("#upload_files").val(""),n===!1?(basicModal.close(),upload.notify("Upload complete")):($(".basicModal #basicModal__action.hidden").show(),upload.notify("Upload complete","Failed to upload one or more photos.")),albums.refresh(),album.getID()===!1?lychee["goto"]("0"):album.load(t)};if(i.supported===!1){if(null!==i.next)o(e,i.next);else{for(varu=!1,d=0;d<e.length;d++)if(e[d].supported===!0){u=!0;break}u===!1&&setTimeout(c,2e3)}return!1}a.append("function","Photo::add"),a.append("albumID",t),a.append("tags",""),a.append(0,i),s.open("POST",api.path),s.onload=function(){vart=!1,o="";i.ready=!0,200===s.status&&"1"===s.responseText?$(".basicModal .rows .row:nth-child("+(i.num+1)+") .status").html("Finished").addClass("success"):($(".basicModal .rows .row:nth-child("+(i.num+1)+") .status").html("Error").addClass("error"),o="Error:"===s.responseText.substr(0,6)?s.responseText.substr(6)+" Please take a look at the console of your browser for further details.":"Server returned an unknown response. Please take a look at the console of your browser for further details.",$(".basicModal .rows .row:nth-child("+(i.num+1)+") p.notice").html(o).show(),n=!0,lychee.error("Upload failed. Server returned the status code "+s.status+"!",s,s.responseText));for(vara=0;a<e.length;a++)if(e[a].ready===!1){t=!0;break}t===!1&&c()},s.upload.onprogress=function(t){if(t.lengthComputable&&(l=t.loaded/t.total*100|0,l>r&&($(".basicModal .rows .row:nth-child("+(i.num+1)+") .status").html(l+"%"),r=l),l>=100)){varn=0;i.num+1>4&&(n=40*(i.num+1-4)),$(".basicModal .rows").scrollTop(n),$(".basicModal .rows .row:nth-child("+(i.num+1)+") .status").html("Processing"),null!==i.next&&o(e,i.next)}},s.send(a)};if(e.length<=0)return!1;(t===!1||visible.albums()===!0)&&(t=0);for(vari=0;i<e.length;i++)e[i].num=i,e[i].ready=!1,e[i].supported=!0,e[i].next=i<e.length-1?e[i+1]:null,"image/jpeg"!==e[i].type&&"image/jpg"!==e[i].type&&"image/png"!==e[i].type&&"image/gif"!==e[i].type&&(e[i].ready=!0,e[i].supported=!1);window.onbeforeunload=function(){return"Lychee is currently uploading!"},upload.show("Uploading",e,function(){o(e,e[0])})},url:function(){vare,t=album.getID();t===!1&&(t=0),e=function(e){varn,o=[];if(e.link&&e.link.length>3){if(basicModal.close(),n=e.link.split(".").pop(),"jpeg"!==n&&"jpg"!==n&&"png"!==n&&"gif"!==n&&"webp"!==n)returnloadingBar.show("error","The file format of this link is not supported."),!1;o[0]={name:e.link,supported:!0},upload.show("Importing URL",o,function(){varn;$(".basicModal .rows .row .status").html("Importing"),n={url:e.link,albumID:t},api.post("Import::url",n,function(e){basicModal.close(),upload.notify("Import complete"),albums.refresh(),album.getID()===!1?lychee["goto"]("0"):album.load(t),e!==!0&&lychee.error(null,n,e)})})}elsebasicModal.error("link")},basicModal.show({body:"<p>Please enter the direct link to a photo to import it: <input class='text' data-name='link' type='text' placeholder='http://' value=''></p>",buttons:{action:{title:"Import",fn:e},cancel:{title:"Cancel",fn:basicModal.close}}})},server:function(){vare,t=album.getID();t===!1&&(t=0),e=function(e){varn=[];n[0]={name:e.path,supported:!0},upload.show("Importing from server",n,function(){varn;$(".basicModal .rows .row .status").html("Importing"),n={albumID:t,path:e.path},api.post("Import::server",n,function(e){returnbasicModal.close(),upload.notify("Import complete"),albums.refresh(),"Notic