diff --git a/apps/files/src/components/FileEntry/FileEntryName.vue b/apps/files/src/components/FileEntry/FileEntryName.vue index 4b387071a4aeb..5411d8657b99a 100644 --- a/apps/files/src/components/FileEntry/FileEntryName.vue +++ b/apps/files/src/components/FileEntry/FileEntryName.vue @@ -223,25 +223,22 @@ export default Vue.extend({ }, isFileNameValid(name) { const trimmedName = name.trim() + const char = trimmedName.indexOf('/') !== -1 + ? '/' + : forbiddenCharacters.find((char) => trimmedName.includes(char)) + if (trimmedName === '.' || trimmedName === '..') { throw new Error(t('files', '"{name}" is an invalid file name.', { name })) } else if (trimmedName.length === 0) { throw new Error(t('files', 'File name cannot be empty.')) - } else if (trimmedName.indexOf('/') !== -1) { - throw new Error(t('files', '"/" is not allowed inside a file name.')) + } else if (char) { + throw new Error(t('files', '"{char}" is not allowed inside a file name.', { char })) } else if (trimmedName.match(OC.config.blacklist_files_regex)) { throw new Error(t('files', '"{name}" is not an allowed filetype.', { name })) } else if (this.checkIfNodeExists(name)) { throw new Error(t('files', '{newName} already exists.', { newName: name })) } - const toCheck = trimmedName.split('') - toCheck.forEach(char => { - if (forbiddenCharacters.indexOf(char) !== -1) { - throw new Error(this.t('files', '"{char}" is not allowed inside a file name.', { char })) - } - }) - return true }, checkIfNodeExists(name) { diff --git a/apps/files/src/components/NewNodeDialog.vue b/apps/files/src/components/NewNodeDialog.vue index 4087b58c607c8..46c39890dc987 100644 --- a/apps/files/src/components/NewNodeDialog.vue +++ b/apps/files/src/components/NewNodeDialog.vue @@ -34,10 +34,12 @@
+ :value.sync="localDefaultName" + @keyup="checkInputValidity" /> @@ -48,15 +50,19 @@ import type { PropType } from 'vue' import { defineComponent } from 'vue' import { translate as t } from '@nextcloud/l10n' import { getUniqueName } from '@nextcloud/files' +import { loadState } from '@nextcloud/initial-state' import NcButton from '@nextcloud/vue/dist/Components/NcButton.js' import NcDialog from '@nextcloud/vue/dist/Components/NcDialog.js' import NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js' +import logger from '../logger.js' interface ICanFocus { focus: () => void } +const forbiddenCharacters = loadState('files', 'forbiddenCharacters', []) + export default defineComponent({ name: 'NewNodeDialog', components: { @@ -161,6 +167,60 @@ export default defineComponent({ this.$emit('close', null) } }, + + /** + * Check if the file name is valid and update the + * input validity using browser's native validation. + * @param event the keyup event + */ + checkInputValidity(event: KeyboardEvent) { + const input = event.target as HTMLInputElement + const newName = this.localDefaultName.trim?.() || '' + logger.debug('Checking input validity', { newName }) + try { + this.isFileNameValid(newName) + input.setCustomValidity('') + input.title = '' + } catch (e) { + if (e instanceof Error) { + input.setCustomValidity(e.message) + input.title = e.message + } else { + input.setCustomValidity(t('files', 'Invalid file name')) + } + } finally { + input.reportValidity() + } + }, + + isFileNameValid(name: string) { + const trimmedName = name.trim() + const char = trimmedName.indexOf('/') !== -1 + ? '/' + : forbiddenCharacters.find((char) => trimmedName.includes(char)) + + if (trimmedName === '.' || trimmedName === '..') { + throw new Error(t('files', '"{name}" is an invalid file name.', { name })) + } else if (trimmedName.length === 0) { + throw new Error(t('files', 'File name cannot be empty.')) + } else if (char) { + throw new Error(t('files', '"{char}" is not allowed inside a file name.', { char })) + } else if (trimmedName.match(window.OC.config.blacklist_files_regex)) { + throw new Error(t('files', '"{name}" is not an allowed filetype.', { name })) + } + + return true + }, }, }) + + diff --git a/dist/files-init.js b/dist/files-init.js index ad13685dcafaa..0aedabe98df19 100644 --- a/dist/files-init.js +++ b/dist/files-init.js @@ -1,3 +1,3 @@ /*! For license information please see files-init.js.LICENSE.txt */ -(()=>{var e,s,t,n={9052:e=>{"use strict";var s=Object.prototype.hasOwnProperty,t="~";function n(){}function a(e,s,t){this.fn=e,this.context=s,this.once=t||!1}function i(e,s,n,i,l){if("function"!=typeof n)throw new TypeError("The listener must be a function");var r=new a(n,i||e,l),o=t?t+s:s;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],r]:e._events[o].push(r):(e._events[o]=r,e._eventsCount++),e}function l(e,s){0==--e._eventsCount?e._events=new n:delete e._events[s]}function r(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(t=!1)),r.prototype.eventNames=function(){var e,n,a=[];if(0===this._eventsCount)return a;for(n in e=this._events)s.call(e,n)&&a.push(t?n.slice(1):n);return Object.getOwnPropertySymbols?a.concat(Object.getOwnPropertySymbols(e)):a},r.prototype.listeners=function(e){var s=t?t+e:e,n=this._events[s];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,i=n.length,l=new Array(i);a{"use strict";t.d(s,{A:()=>n});const n=(0,t(53529).YK)().setApp("files").detectUser().build()},94979:(e,s,t)=>{"use strict";var n=t(53127),a=t(61338),i=t(85168),l=t(53334),r=t(26287),o=t(76150),m=t(49264);const d=e=>e.every((e=>!0===e.attributes["is-mount-root"]&&"shared"===e.attributes["mount-type"])),u=e=>e.every((e=>!0===e.attributes["is-mount-root"]&&"external"===e.attributes["mount-type"])),g=(e,s)=>"trashbin"===s.id?(0,l.Tl)("files","Delete permanently"):(e=>{if(1===e.length)return!1;const s=e.some((e=>d([e]))),t=e.some((e=>!d([e])));return s&&t})(e)?(0,l.Tl)("files","Delete and unshare"):d(e)?1===e.length?(0,l.Tl)("files","Leave this share"):(0,l.Tl)("files","Leave these shares"):u(e)?1===e.length?(0,l.Tl)("files","Disconnect storage"):(0,l.Tl)("files","Disconnect storages"):(e=>!e.some((e=>e.type!==n.pt.File)))(e)?1===e.length?(0,l.Tl)("files","Delete file"):(0,l.Tl)("files","Delete files"):(e=>!e.some((e=>e.type!==n.pt.Folder)))(e)?1===e.length?(0,l.Tl)("files","Delete folder"):(0,l.Tl)("files","Delete folders"):(0,l.Tl)("files","Delete"),c=new m.A({concurrency:5}),f=new n.hY({id:"delete",displayName:g,iconSvgInline:e=>d(e)?'':u(e)?'':'',enabled:e=>e.length>0&&e.map((e=>e.permissions)).every((e=>0!=(e&n.aX.DELETE))),async exec(e,s,t){try{return await r.A.delete(e.encodedSource),(0,a.Ic)("files:node:deleted",e),!0}catch(s){return o.A.error("Error while deleting a file",{error:s,source:e.source,node:e}),!1}},async execBatch(e,s,t){if(!1===await new Promise((t=>{e.length>=5&&!d(e)&&!u(e)?window.OC.dialogs.confirmDestructive((0,l.Tl)("files","You are about to delete {count} items.",{count:e.length}),(0,l.Tl)("files","Confirm deletion"),{type:window.OC.dialogs.YES_NO_BUTTONS,confirm:g(e,s),confirmClasses:"error",cancel:(0,l.Tl)("files","Cancel")},(e=>{t(e)})):t(!0)})))return(0,i.cf)((0,l.Tl)("files","Deletion cancelled")),Promise.all(e.map((()=>!1)));const n=e.map((e=>new Promise((n=>{c.add((async()=>{const a=await this.exec(e,s,t);n(null!==a&&a)}))}))));return Promise.all(n)},order:100});var p=t(63814);const h=function(e){const s=document.createElement("a");s.download="",s.href=e,s.click()},w=function(e,s){const t=Math.random().toString(36).substring(2),n=(0,p.Jv)("/apps/files/ajax/download.php?dir={dir}&files={files}&downloadStartSecret={secret}",{dir:e,secret:t,files:JSON.stringify(s.map((e=>e.basename)))});h(n)},T=function(e){if(0==(e.permissions&n.aX.READ))return!1;if("shared"===e.attributes["mount-type"]){var s,t;const n=JSON.parse(null!==(s=e.attributes["share-attributes"])&&void 0!==s?s:"null"),a=null==n||null===(t=n.find)||void 0===t?void 0:t.call(n,(e=>"permissions"===e.scope&&"download"===e.key));if(void 0!==a&&!1===a.enabled)return!1}return!0},x=new n.hY({id:"download",displayName:()=>(0,l.Tl)("files","Download"),iconSvgInline:()=>'',enabled:e=>0!==e.length&&(!e.some((e=>e.type===n.pt.Folder))||!e.some((e=>{var s;return!(null!==(s=e.root)&&void 0!==s&&s.startsWith("/files"))})))&&e.every(T),exec:async(e,s,t)=>e.type===n.pt.Folder?(w(t,[e]),null):(h(e.encodedSource),null),async execBatch(e,s,t){return 1===e.length?(this.exec(e[0],s,t),[null]):(w(t,e),new Array(e.length).fill(null))},order:30});var v=t(71089),L=t(21777);const y=new n.hY({id:"edit-locally",displayName:()=>(0,l.Tl)("files","Edit locally"),iconSvgInline:()=>'',enabled:e=>1===e.length&&0!=(e[0].permissions&n.aX.UPDATE),exec:async e=>(async function(e){const s=(0,p.KT)("apps/files/api/v1")+"/openlocaleditor?format=json";try{var t;const n=await r.A.post(s,{path:e}),a=null===(t=(0,L.HW)())||void 0===t?void 0:t.uid;let i="nc://open/".concat(a,"@")+window.location.host+(0,v.O0)(e);i+="?token="+n.data.ocs.data.token,window.location.href=i}catch(e){(0,i.Qg)((0,l.Tl)("files","Failed to redirect to client"))}}(e.path),null),order:25});var C=t(85471);const k='',b=e=>e.some((e=>1!==e.attributes.favorite)),S=async(e,s,t)=>{try{const n=(0,p.Jv)("/apps/files/api/v1/files")+(0,v.O0)(e.path);return await r.A.post(n,{tags:t?[window.OC.TAG_FAVORITE]:[]}),"favorites"!==s.id||t||"/"!==e.dirname||(0,a.Ic)("files:node:deleted",e),C.Ay.set(e.attributes,"favorite",t?1:0),t?(0,a.Ic)("files:favorites:added",e):(0,a.Ic)("files:favorites:removed",e),!0}catch(s){const n=t?"adding a file to favourites":"removing a file from favourites";return o.A.error("Error while "+n,{error:s,source:e.source,node:e}),!1}},A=new n.hY({id:"favorite",displayName:e=>b(e)?(0,l.Tl)("files","Add to favorites"):(0,l.Tl)("files","Remove from favorites"),iconSvgInline:e=>b(e)?'':k,enabled:e=>!e.some((e=>{var s,t;return!(null!==(s=e.root)&&void 0!==s&&null!==(t=s.startsWith)&&void 0!==t&&t.call(s,"/files"))}))&&e.every((e=>e.permissions!==n.aX.NONE)),async exec(e,s){const t=b([e]);return await S(e,s,t)},async execBatch(e,s){const t=b(e);return Promise.all(e.map((async e=>await S(e,s,t))))},order:-50});t(18205);var F=t(53110),U=t(43627),_=t(63642),P=t(36882),N=t(39285);let B;var E;!function(e){e.MOVE="Move",e.COPY="Copy",e.MOVE_OR_COPY="move-or-copy"}(E||(E={}));const z=e=>0!=(e.reduce(((e,s)=>Math.min(e,s.permissions)),n.aX.ALL)&n.aX.UPDATE),j=e=>(e=>e.every((e=>{var s,t;return!JSON.parse(null!==(s=null===(t=e.attributes)||void 0===t?void 0:t["share-attributes"])&&void 0!==s?s:"[]").some((e=>"permissions"===e.scope&&!1===e.enabled&&"download"===e.key))})))(e)&&!e.some((e=>e.permissions===n.aX.NONE));var I,O=t(36117),M=t(44719);const R="/files/".concat(null===(I=(0,L.HW)())||void 0===I?void 0:I.uid),D=(0,p.dC)("dav"+R),H=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:D;const s=(0,M.UU)(e),t=e=>{null==s||s.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:null!=e?e:""})};return(0,L.zo)(t),t((0,L.do)()),(0,M.Gu)().patch("fetch",((e,s)=>{const t=s.headers;return null!=t&&t.method&&(s.method=t.method,delete t.method),fetch(e,s)})),s},V=function(e){let s=0;for(let t=0;t>>0},q=H(),W=function(e){var s;const t=null===(s=(0,L.HW)())||void 0===s?void 0:s.uid;if(!t)throw new Error("No user id found");const a=e.props,i=(0,n.vb)(null==a?void 0:a.permissions),l=String(a["owner-id"]||t),r=(0,p.dC)("dav"+R+e.filename),o={id:(null==a?void 0:a.fileid)<0?V(r):(null==a?void 0:a.fileid)||0,source:r,mtime:new Date(e.lastmod),mime:e.mime||"application/octet-stream",size:(null==a?void 0:a.size)||0,permissions:i,owner:l,root:R,attributes:{...e,...a,"owner-id":l,"owner-display-name":String(a["owner-display-name"]),hasPreview:!(null==a||!a["has-preview"]),failed:(null==a?void 0:a.fileid)<0}};return delete o.attributes.props,"file"===e.type?new n.ZH(o):new n.vd(o)},Y=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";const s=new AbortController,t=(0,n.VL)();return new O.CancelablePromise((async(n,a,i)=>{i((()=>s.abort()));try{const a=await q.getDirectoryContents(e,{details:!0,data:t,includeSelf:!0,signal:s.signal}),i=a.data[0],l=a.data.slice(1);if(i.filename!==e)throw new Error("Root node does not match requested path");n({folder:W(i),contents:l.map((e=>{try{return W(e)}catch(s){return o.A.error("Invalid node detected '".concat(e.basename,"'"),{error:s}),null}})).filter(Boolean)})}catch(e){a(e)}}))},G=e=>z(e)?j(e)?E.MOVE_OR_COPY:E.MOVE:E.COPY,K=async function(e,s,t){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!s)return;if(s.type!==n.pt.Folder)throw new Error((0,l.Tl)("files","Destination is not a folder"));if(t===E.MOVE&&e.dirname===s.path)throw new Error((0,l.Tl)("files","This file/folder is already in that directory"));if("".concat(s.path,"/").startsWith("".concat(e.path,"/")))throw new Error((0,l.Tl)("files","You cannot move a file/folder onto itself or into a subfolder of itself"));C.Ay.set(e,"status",n.zI.LOADING);const d=(B||(B=new m.A({concurrency:5})),B);return await d.add((async()=>{const m=e=>1===e?(0,l.Tl)("files","(copy)"):(0,l.Tl)("files","(copy %n)",void 0,e);try{const o=(0,n.H4)(),d=(0,U.join)(n.lJ,e.path),u=(0,U.join)(n.lJ,s.path);if(t===E.COPY){let t=e.basename;if(!r){const s=await o.getDirectoryContents(u);t=(0,n.E6)(e.basename,s.map((e=>e.basename)),{suffix:m,ignoreFileExtension:e.type===n.pt.Folder})}if(await o.copyFile(d,(0,U.join)(u,t)),e.dirname===s.path){const{data:e}=await o.stat((0,U.join)(u,t),{details:!0,data:(0,n.VL)()});(0,a.Ic)("files:node:created",(0,n.Al)(e))}}else{const t=await Y(s.path);if((0,_.h)([e],t.contents))try{const{selected:n,renamed:a}=await(0,_.o)(s.path,[e],t.contents);if(!n.length&&!a.length)return}catch(e){return void(0,i.Qg)((0,l.Tl)("files","Move cancelled"))}await o.moveFile(d,(0,U.join)(u,e.basename)),(0,a.Ic)("files:node:deleted",e)}}catch(e){if(e instanceof F.pe){var d,u,g;if(412===(null==e||null===(d=e.response)||void 0===d?void 0:d.status))throw new Error((0,l.Tl)("files","A file or folder with that name already exists in this folder"));if(423===(null==e||null===(u=e.response)||void 0===u?void 0:u.status))throw new Error((0,l.Tl)("files","The files are locked"));if(404===(null==e||null===(g=e.response)||void 0===g?void 0:g.status))throw new Error((0,l.Tl)("files","The file does not exist anymore"));if(e.message)throw new Error(e.message)}throw o.A.debug(e),new Error}finally{C.Ay.set(e,"status",void 0)}}))},$=async function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",t=arguments.length>2?arguments[2]:void 0;const n=t.map((e=>e.fileid)).filter(Boolean),a=(0,i.a1)((0,l.Tl)("files","Choose destination")).allowDirectories(!0).setFilter((e=>!n.includes(e.fileid))).setMimeTypeFilter([]).setMultiSelect(!1).startAt(s);return new Promise(((s,n)=>{a.setButtonFactory(((n,a)=>{const i=[],r=(0,U.basename)(a),o=t.map((e=>e.dirname)),m=t.map((e=>e.path));return e!==E.COPY&&e!==E.MOVE_OR_COPY||i.push({label:r?(0,l.Tl)("files","Copy to {target}",{target:r},void 0,{escape:!1,sanitize:!1}):(0,l.Tl)("files","Copy"),type:"primary",icon:P,async callback(e){s({destination:e[0],action:E.COPY})}}),o.includes(a)||m.includes(a)||e!==E.MOVE&&e!==E.MOVE_OR_COPY||i.push({label:r?(0,l.Tl)("files","Move to {target}",{target:r},void 0,{escape:!1,sanitize:!1}):(0,l.Tl)("files","Move"),type:e===E.MOVE?"primary":"secondary",icon:N,async callback(e){s({destination:e[0],action:E.MOVE})}}),i})),a.build().pick().catch((e=>{o.A.debug(e),e instanceof i.vT?n(new Error((0,l.Tl)("files","Cancelled move or copy operation"))):n(new Error((0,l.Tl)("files","Move or copy operation failed")))}))}))},J=new n.hY({id:"move-copy",displayName(e){switch(G(e)){case E.MOVE:return(0,l.Tl)("files","Move");case E.COPY:return(0,l.Tl)("files","Copy");case E.MOVE_OR_COPY:return(0,l.Tl)("files","Move or copy")}},iconSvgInline:()=>N,enabled:e=>!!e.every((e=>{var s;return null===(s=e.root)||void 0===s?void 0:s.startsWith("/files/")}))&&e.length>0&&(z(e)||j(e)),async exec(e,s,t){const n=G([e]);let a;try{a=await $(n,t,[e])}catch(e){return o.A.error(e),!1}try{return await K(e,a.destination,a.action),!0}catch(e){return!!(e instanceof Error&&e.message)&&((0,i.Qg)(e.message),null)}},async execBatch(e,s,t){const n=G(e),a=await $(n,t,e),i=e.map((async e=>{try{return await K(e,a.destination,a.action),!0}catch(s){return o.A.error("Failed to ".concat(a.action," node"),{node:e,error:s}),!1}}));return await Promise.all(i)},order:15}),Q='',Z=new n.hY({id:"open-folder",displayName(e){const s=e[0].attributes.displayname||e[0].basename;return(0,l.Tl)("files","Open folder {displayName}",{displayName:s})},iconSvgInline:()=>Q,enabled(e){if(1!==e.length)return!1;const s=e[0];return!!s.isDavRessource&&s.type===n.pt.Folder&&0!=(s.permissions&n.aX.READ)},exec:async(e,s)=>!(!e||e.type!==n.pt.Folder)&&(window.OCP.Files.Router.goToRoute(null,{view:s.id,fileid:e.fileid},{dir:e.path}),null),default:n.m9.HIDDEN,order:-100}),X=new n.hY({id:"open-in-files-recent",displayName:()=>(0,l.Tl)("files","Open in Files"),iconSvgInline:()=>"",enabled:(e,s)=>"recent"===s.id,async exec(e){let s=e.dirname;return e.type===n.pt.Folder&&(s=s+"/"+e.basename),window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:e.fileid},{dir:s,openfile:"true"}),null},order:-1e3,default:n.m9.HIDDEN}),ee=new n.hY({id:"rename",displayName:()=>(0,l.Tl)("files","Rename"),iconSvgInline:()=>'',enabled:e=>e.length>0&&e.map((e=>e.permissions)).every((e=>0!=(e&n.aX.UPDATE))),exec:async e=>((0,a.Ic)("files:node:rename",e),null),order:10});var se=t(49981);const te=new n.hY({id:"details",displayName:()=>(0,l.Tl)("files","Open details"),iconSvgInline:()=>se,enabled:e=>{var s,t,a;return 1===e.length&&!!e[0]&&!(null===(s=window)||void 0===s||null===(s=s.OCA)||void 0===s||null===(s=s.Files)||void 0===s||!s.Sidebar)&&null!==(t=(null===(a=e[0].root)||void 0===a?void 0:a.startsWith("/files/"))&&e[0].permissions!==n.aX.NONE)&&void 0!==t&&t},async exec(e,s,t){try{return await window.OCA.Files.Sidebar.open(e.path),window.OCP.Files.Router.goToRoute(null,{view:s.id,fileid:e.fileid},{...window.OCP.Files.Router.query,dir:t},!0),null}catch(e){return o.A.error("Error while opening sidebar",{error:e}),!1}},order:-50}),ne=new n.hY({id:"view-in-folder",displayName:()=>(0,l.Tl)("files","View in folder"),iconSvgInline:()=>N,enabled(e,s){if("files"===s.id)return!1;if(1!==e.length)return!1;const t=e[0];return!!t.isDavRessource&&t.permissions!==n.aX.NONE&&t.type===n.pt.File},exec:async e=>!(!e||e.type!==n.pt.File)&&(window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:e.fileid},{dir:e.dirname}),null),order:80});var ae=t(54332),ie=t(94219),le=t(82182);const re=(0,C.pM)({name:"NewNodeDialog",components:{NcButton:ae.A,NcDialog:ie.A,NcTextField:le.A},props:{defaultName:{type:String,default:(0,l.Tl)("files","New folder")},otherNames:{type:Array,default:()=>[]},open:{type:Boolean,default:!0},name:{type:String,default:(0,l.Tl)("files","Create new folder")},label:{type:String,default:(0,l.Tl)("files","Folder name")}},emits:{close:e=>null===e||e},data(){return{localDefaultName:this.defaultName||(0,l.Tl)("files","New folder")}},computed:{errorMessage(){return this.isUniqueName?"":(0,l.Tl)("files","A file or folder with that name already exists.")},uniqueName(){return(0,n.E6)(this.localDefaultName,this.otherNames)},isUniqueName(){return this.localDefaultName===this.uniqueName}},watch:{defaultName(){this.localDefaultName=this.defaultName||(0,l.Tl)("files","New folder")},open(){this.$nextTick((()=>this.focusInput()))}},mounted(){this.localDefaultName=this.uniqueName,this.$nextTick((()=>this.focusInput()))},methods:{t:l.Tl,focusInput(){this.open&&this.$nextTick((()=>{var e,s;return null===(e=this.$refs.input)||void 0===e||null===(s=e.focus)||void 0===s?void 0:s.call(e)}))},onCreate(){this.$emit("close",this.localDefaultName)},onClose(e){e||this.$emit("close",null)}}}),oe=(0,t(14486).A)(re,(function(){var e=this,s=e._self._c;return e._self._setupProxy,s("NcDialog",{attrs:{name:e.name,open:e.open,"close-on-click-outside":"","out-transition":""},on:{"update:open":e.onClose},scopedSlots:e._u([{key:"actions",fn:function(){return[s("NcButton",{attrs:{type:"primary",disabled:!e.isUniqueName},on:{click:e.onCreate}},[e._v("\n\t\t\t"+e._s(e.t("files","Create"))+"\n\t\t")])]},proxy:!0}])},[e._v(" "),s("form",{on:{submit:function(s){return s.preventDefault(),e.onCreate.apply(null,arguments)}}},[s("NcTextField",{ref:"input",attrs:{error:!e.isUniqueName,"helper-text":e.errorMessage,label:e.label,value:e.localDefaultName},on:{"update:value":function(s){e.localDefaultName=s}}})],1)])}),[],!1,null,null,null).exports;function me(e,s){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=s.map((e=>e.basename));return new Promise((s=>{(0,i.Ss)(oe,{...t,defaultName:e,otherNames:n},(e=>{s(e)}))}))}const de={id:"newFolder",displayName:(0,l.Tl)("files","New folder"),enabled:e=>0!=(e.permissions&n.aX.CREATE),iconSvgInline:'',order:0,async handler(e,s){const t=await me((0,l.Tl)("files","New folder"),s);if(null!==t){var m,d,u,g,c;const{fileid:s,source:f}=await(async(e,s)=>{const t=e.source+"/"+s,n=e.encodedSource+"/"+encodeURIComponent(s),a=await(0,r.A)({method:"MKCOL",url:n,headers:{Overwrite:"F"}});return{fileid:parseInt(a.headers["oc-fileid"]),source:t}})(e,t),p=new n.vd({source:f,id:s,mtime:new Date,owner:(null===(m=(0,L.HW)())||void 0===m?void 0:m.uid)||null,permissions:n.aX.ALL,root:(null==e?void 0:e.root)||"/files/"+(null===(d=(0,L.HW)())||void 0===d?void 0:d.uid),attributes:{"mount-type":null===(u=e.attributes)||void 0===u?void 0:u["mount-type"],"owner-id":null===(g=e.attributes)||void 0===g?void 0:g["owner-id"],"owner-display-name":null===(c=e.attributes)||void 0===c?void 0:c["owner-display-name"]}});(0,i.Te)((0,l.Tl)("files",'Created new folder "{name}"',{name:(0,U.basename)(f)})),o.A.debug("Created new folder",{folder:p,source:f}),(0,a.Ic)("files:node:created",p),window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:p.fileid},{dir:e.path})}}};var ue=t(32981);let ge=(0,ue.C)("files","templates_path",!1);o.A.debug("Initial templates folder",{templatesPath:ge});const ce={id:"template-picker",displayName:(0,l.Tl)("files","Create new templates folder"),iconSvgInline:'',order:10,enabled(e){var s;return!ge&&e.owner===(null===(s=(0,L.HW)())||void 0===s?void 0:s.uid)&&0!=(e.permissions&n.aX.CREATE)},async handler(e,s){const t=await me((0,l.Tl)("files","Templates"),s,{name:(0,l.Tl)("files","New template folder")});null!==t&&(async function(e,s){const t=(0,U.join)(e.path,s);try{o.A.debug("Initializing the templates directory",{templatePath:t});const{data:e}=await r.A.post((0,p.KT)("apps/files/api/v1/templates/path"),{templatePath:t,copySystemTemplates:!0});window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:void 0},{dir:t}),o.A.info("Created new templates folder",{...e.ocs.data}),ge=e.ocs.data.templates_path}catch(e){o.A.error("Unable to initialize the templates directory"),(0,i.Qg)((0,l.Tl)("files","Unable to initialize the templates directory"))}}(e,t),(0,n.gj)("template-picker"))}},fe=(0,C.$V)((()=>Promise.all([t.e(4208),t.e(9558)]).then(t.bind(t,69558))));let pe=null;const he=async e=>{if(null===pe){const s=document.createElement("div");s.id="template-picker",document.body.appendChild(s),pe=new C.Ay({render:s=>s(fe,{ref:"picker",props:{parent:e}}),methods:{open(){this.$refs.picker.open(...arguments)}},el:s})}return pe},we=H(),Te=async function(){var e;let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";const t=(0,n.VL)(),a=(0,n.b2)();let i;"/"===s&&(i=await we.stat(s,{details:!0,data:t}));const l=await we.getDirectoryContents(s,{details:!0,data:"/"===s?a:t,headers:{method:"/"===s?"REPORT":"PROPFIND"},includeSelf:!0}),r=(null===(e=i)||void 0===e?void 0:e.data)||l.data[0],o=l.data.filter((e=>e.filename!==s));return{folder:W(r),contents:o.map(W)}},xe=function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return new n.Ss({id:ve(e.path),name:(0,U.basename)(e.path),icon:Q,order:s,params:{dir:e.path,fileid:e.fileid.toString(),view:"favorites"},parent:"favorites",columns:[],getContents:Te})},ve=function(e){return"favorite-".concat(V(e))};var Le=t(65899);const ye=(0,ue.C)("files","config",{show_hidden:!1,crop_image_previews:!0,sort_favorites_first:!0,sort_folders_first:!0,grid_view:!1}),Ce=(0,Le.Ey)(),ke=(0,n.H4)(),be=Math.round(Date.now()/1e3-1209600);var Se;const Ae=null===(Se=(0,L.HW)())||void 0===Se?void 0:Se.uid,Fe=function(e){const s=e.attributes["mount-type"];return!(Ae&&e.owner!==Ae||["group","shared"].includes(s))};(0,n.Gg)(f),(0,n.Gg)(x),(0,n.Gg)(y),(0,n.Gg)(A),(0,n.Gg)(J),(0,n.Gg)(Z),(0,n.Gg)(X),(0,n.Gg)(ee),(0,n.Gg)(te),(0,n.Gg)(ne),(0,n.zj)(de),(0,n.zj)(ce),(0,ue.C)("files","templates",[]).forEach(((e,s)=>{(0,n.zj)({id:"template-new-".concat(e.app,"-").concat(s),displayName:e.label,iconClass:e.iconClass||"icon-file",iconSvgInline:e.iconSvgInline,enabled:e=>0!=(e.permissions&n.aX.CREATE),order:11,async handler(s,t){const n=he(s),a=await me("".concat(e.label).concat(e.extension),t,{label:(0,l.Tl)("files","Filename"),name:e.label});null!==a&&(await n).open(a,e)}})})),(()=>{const e=(0,ue.C)("files","favoriteFolders",[]),s=e.map(((e,s)=>xe(e,s)));o.A.debug("Generating favorites view",{favoriteFolders:e});const t=(0,n.bh)();t.register(new n.Ss({id:"favorites",name:(0,l.Tl)("files","Favorites"),caption:(0,l.Tl)("files","List of favorites files and folders."),emptyTitle:(0,l.Tl)("files","No favorites yet"),emptyCaption:(0,l.Tl)("files","Files and folders you mark as favorite will show up here"),icon:k,order:15,columns:[],getContents:Te})),s.forEach((e=>t.register(e))),(0,a.B1)("files:favorites:added",(e=>{var s;e.type===n.pt.Folder&&(null!==e.path&&null!==(s=e.root)&&void 0!==s&&s.startsWith("/files")?r(e):o.A.error("Favorite folder is not within user files root",{node:e}))})),(0,a.B1)("files:favorites:removed",(e=>{var s;e.type===n.pt.Folder&&(null!==e.path&&null!==(s=e.root)&&void 0!==s&&s.startsWith("/files")?m(e.path):o.A.error("Favorite folder is not within user files root",{node:e}))})),(0,a.B1)("files:node:renamed",(e=>{e.type===n.pt.Folder&&1===e.attributes.favorite&&d(e)}));const i=function(){e.sort(((e,s)=>e.path.localeCompare(s.path,(0,l.Z0)(),{ignorePunctuation:!0}))),e.forEach(((e,t)=>{const n=s.find((s=>s.id===ve(e.path)));n&&(n.order=t)}))},r=function(n){const a={path:n.path,fileid:n.fileid},l=xe(a);e.find((e=>e.path===n.path))||(e.push(a),s.push(l),i(),t.register(l))},m=function(n){const a=ve(n),l=e.findIndex((e=>e.path===n));-1!==l&&(e.splice(l,1),s.splice(l,1),t.remove(a),i())},d=function(s){const t=e.find((e=>e.fileid===s.fileid));void 0!==t&&(m(t.path),r(s))}})(),(0,n.bh)().register(new n.Ss({id:"files",name:(0,l.Tl)("files","All files"),caption:(0,l.Tl)("files","List of your files and folders."),icon:Q,order:0,getContents:Y})),(0,n.bh)().register(new n.Ss({id:"recent",name:(0,l.Tl)("files","Recent"),caption:(0,l.Tl)("files","List of recently modified files and folders."),emptyTitle:(0,l.Tl)("files","No recently modified files"),emptyCaption:(0,l.Tl)("files","Files and folders you recently modified will show up here."),icon:'',order:10,defaultSortKey:"mtime",getContents:async function(){var e;let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";const t=function(){const e=(0,Le.nY)("userconfig",{state:()=>({userConfig:ye}),actions:{onUpdate(e,s){C.Ay.set(this.userConfig,e,s)},async update(e,s){await r.A.put((0,p.Jv)("/apps/files/api/v1/config/"+e),{value:s}),(0,a.Ic)("files:config:updated",{key:e,value:s})}}})(...arguments);return e._initialized||((0,a.B1)("files:config:updated",(function(s){let{key:t,value:n}=s;e.onUpdate(t,n)})),e._initialized=!0),e}(Ce),i=(await ke.getDirectoryContents(s,{details:!0,data:(0,n.R3)(be),headers:{method:"SEARCH","Content-Type":"application/xml; charset=utf-8"},deep:!0})).data;return{folder:new n.vd({id:0,source:"".concat(n.PY).concat(n.lJ),root:n.lJ,owner:(null===(e=(0,L.HW)())||void 0===e?void 0:e.uid)||null,permissions:n.aX.READ}),contents:i.map((e=>(0,n.Al)(e))).filter((e=>"/"!==s||t.userConfig.show_hidden||!e.dirname.split("/").some((e=>e.startsWith(".")))))}}})),(0,n.bh)().register(new n.Ss({id:"personal",name:(0,l.Tl)("files","Personal Files"),caption:(0,l.Tl)("files","List of your files and folders that are not shared."),emptyTitle:(0,l.Tl)("files","No personal files found"),emptyCaption:(0,l.Tl)("files","Files that are not shared will show up here."),icon:'',order:5,getContents:function(){return Y(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/").then((e=>(e.contents=e.contents.filter(Fe),e)))}})),"serviceWorker"in navigator?window.addEventListener("load",(async()=>{try{const e=(0,p.Jv)("/apps/files/preview-service-worker.js",{},{noRewrite:!0}),s=await navigator.serviceWorker.register(e,{scope:"/"});o.A.debug("SW registered: ",{registration:s})}catch(e){o.A.error("SW registration failed: ",{error:e})}})):o.A.debug("Service Worker is not enabled on this browser."),(0,n.Yc)("nc:hidden",{nc:"http://nextcloud.org/ns"}),(0,n.Yc)("nc:is-mount-root",{nc:"http://nextcloud.org/ns"}),(0,n.Yc)("nc:metadata-files-live-photo",{nc:"http://nextcloud.org/ns"})},30521:(e,s,t)=>{"use strict";t.d(s,{A:()=>r});var n=t(71354),a=t.n(n),i=t(76314),l=t.n(i)()(a());l.push([e.id,".upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css"],names:[],mappings:"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF",sourcesContent:[".upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n"],sourceRoot:""}]);const r=l},75270:e=>{function s(e,s){return null==e?s:e}e.exports=function(e){var t,n=s((e=e||{}).max,1),a=s(e.min,0),i=s(e.autostart,!0),l=s(e.ignoreSameProgress,!1),r=null,o=null,m=null,d=(t=s(e.historyTimeConstant,2.5),function(e,s,n){return e+n/(n+t)*(s-e)});function u(){g(a)}function g(e,s){if("number"!=typeof s&&(s=Date.now()),o!==s&&(!l||m!==e)){if(null===o||null===m)return m=e,void(o=s);var t=.001*(s-o),n=(e-m)/t;r=null===r?n:d(r,n,t),m=e,o=s}}return{start:u,reset:function(){r=null,o=null,m=null,i&&u()},report:g,estimate:function(e){if(null===m)return 1/0;if(m>=n)return 0;if(null===r)return 1/0;var s=(n-m)/r;return"number"==typeof e&&"number"==typeof o&&(s-=.001*(e-o)),Math.max(0,s)},rate:function(){return null===r?0:r}}}},98383:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg%20viewBox=%270%200%2016%2016%27%20height=%2716%27%20width=%2716%27%20xmlns=%27http://www.w3.org/2000/svg%27%20xml:space=%27preserve%27%20style=%27fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2%27%3e%3cpath%20d=%27M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z%27%20style=%27fill-rule:nonzero%27%20transform=%27matrix%28.85714%200%200%20.85714%20-2.286%20-2.286%29%27/%3e%3c/svg%3e"},39075:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg%20viewBox=%270%200%2016%2016%27%20height=%2716%27%20width=%2716%27%20xmlns=%27http://www.w3.org/2000/svg%27%20xml:space=%27preserve%27%20style=%27fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2%27%3e%3cpath%20d=%27M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z%27%20style=%27fill:%23fff;fill-rule:nonzero%27%20transform=%27matrix%28.85714%200%200%20.85714%20-2.286%20-2.286%29%27/%3e%3c/svg%3e"},63642:(e,s,t)=>{"use strict";t.d(s,{a:()=>ae,h:()=>de,l:()=>K,n:()=>Z,o:()=>me,t:()=>ie});var n=t(85072),a=t.n(n),i=t(97825),l=t.n(i),r=t(77659),o=t.n(r),m=t(55056),d=t.n(m),u=t(10540),g=t.n(u),c=t(41113),f=t.n(c),p=t(30521),h={};h.styleTagTransform=f(),h.setAttributes=d(),h.insert=o().bind(null,"head"),h.domAPI=l(),h.insertStyleElement=g(),a()(p.A,h),p.A&&p.A.locals&&p.A.locals;var w=t(53110),T=t(71089),x=t(53127),v=t(63814),L=t(21777),y=t(26287);class C extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}}const k=Object.freeze({pending:Symbol("pending"),canceled:Symbol("canceled"),resolved:Symbol("resolved"),rejected:Symbol("rejected")});class b{static fn(e){return(...s)=>new b(((t,n,a)=>{s.push(a),e(...s).then(t,n)}))}#e=[];#s=!0;#t=k.pending;#n;#a;constructor(e){this.#n=new Promise(((s,t)=>{this.#a=t;const n=e=>{if(this.#t!==k.pending)throw new Error(`The \`onCancel\` handler was attached after the promise ${this.#t.description}.`);this.#e.push(e)};Object.defineProperties(n,{shouldReject:{get:()=>this.#s,set:e=>{this.#s=e}}}),e((e=>{this.#t===k.canceled&&n.shouldReject||(s(e),this.#i(k.resolved))}),(e=>{this.#t===k.canceled&&n.shouldReject||(t(e),this.#i(k.rejected))}),n)}))}then(e,s){return this.#n.then(e,s)}catch(e){return this.#n.catch(e)}finally(e){return this.#n.finally(e)}cancel(e){if(this.#t===k.pending){if(this.#i(k.canceled),this.#e.length>0)try{for(const e of this.#e)e()}catch(e){return void this.#a(e)}this.#s&&this.#a(new C(e))}}get isCanceled(){return this.#t===k.canceled}#i(e){this.#t===k.pending&&(this.#t=e)}}Object.setPrototypeOf(b.prototype,Promise.prototype);var S=t(9052);class A extends Error{constructor(e){super(e),this.name="TimeoutError"}}class F extends Error{constructor(e){super(),this.name="AbortError",this.message=e}}const U=e=>void 0===globalThis.DOMException?new F(e):new DOMException(e),_=e=>{const s=void 0===e.reason?U("This operation was aborted."):e.reason;return s instanceof Error?s:U(s)};class P{#l=[];enqueue(e,s){const t={priority:(s={priority:0,...s}).priority,run:e};if(this.size&&this.#l[this.size-1].priority>=s.priority)return void this.#l.push(t);const n=function(e,s,t){let n=0,a=e.length;for(;a>0;){const t=Math.trunc(a/2);let l=n+t;i=e[l],s.priority-i.priority<=0?(n=++l,a-=t+1):a=t}var i;return n}(this.#l,t);this.#l.splice(n,0,t)}dequeue(){const e=this.#l.shift();return e?.run}filter(e){return this.#l.filter((s=>s.priority===e.priority)).map((e=>e.run))}get size(){return this.#l.length}}class N extends S{#r;#o;#m=0;#d;#u;#g=0;#c;#f;#l;#p;#h=0;#w;#T;#x;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:P,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#r=e.carryoverConcurrencyCount,this.#o=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this.#d=e.intervalCap,this.#u=e.interval,this.#l=new e.queueClass,this.#p=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#x=!0===e.throwOnTimeout,this.#T=!1===e.autoStart}get#v(){return this.#o||this.#m{this.#k()}),s)),!0;this.#m=this.#r?this.#h:0}return!1}#C(){if(0===this.#l.size)return this.#c&&clearInterval(this.#c),this.#c=void 0,this.emit("empty"),0===this.#h&&this.emit("idle"),!1;if(!this.#T){const e=!this.#A;if(this.#v&&this.#L){const s=this.#l.dequeue();return!!s&&(this.emit("active"),s(),e&&this.#S(),!0)}}return!1}#S(){this.#o||void 0!==this.#c||(this.#c=setInterval((()=>{this.#b()}),this.#u),this.#g=Date.now()+this.#u)}#b(){0===this.#m&&0===this.#h&&this.#c&&(clearInterval(this.#c),this.#c=void 0),this.#m=this.#r?this.#h:0,this.#F()}#F(){for(;this.#C(););}get concurrency(){return this.#w}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#w=e,this.#F()}async#U(e){return new Promise(((s,t)=>{e.addEventListener("abort",(()=>{t(e.reason)}),{once:!0})}))}async add(e,s={}){return s={timeout:this.timeout,throwOnTimeout:this.#x,...s},new Promise(((t,n)=>{this.#l.enqueue((async()=>{this.#h++,this.#m++;try{s.signal?.throwIfAborted();let n=e({signal:s.signal});s.timeout&&(n=function(e,s){const{milliseconds:t,fallback:n,message:a,customTimers:i={setTimeout,clearTimeout}}=s;let l;const r=new Promise(((r,o)=>{if("number"!=typeof t||1!==Math.sign(t))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(s.signal){const{signal:e}=s;e.aborted&&o(_(e)),e.addEventListener("abort",(()=>{o(_(e))}))}if(t===Number.POSITIVE_INFINITY)return void e.then(r,o);const m=new A;l=i.setTimeout.call(void 0,(()=>{if(n)try{r(n())}catch(e){o(e)}else"function"==typeof e.cancel&&e.cancel(),!1===a?r():a instanceof Error?o(a):(m.message=a??`Promise timed out after ${t} milliseconds`,o(m))}),t),(async()=>{try{r(await e)}catch(e){o(e)}})()})).finally((()=>{r.clear()}));return r.clear=()=>{i.clearTimeout.call(void 0,l),l=void 0},r}(Promise.resolve(n),{milliseconds:s.timeout})),s.signal&&(n=Promise.race([n,this.#U(s.signal)]));const a=await n;t(a),this.emit("completed",a)}catch(e){if(e instanceof A&&!s.throwOnTimeout)return void t();n(e),this.emit("error",e)}finally{this.#y()}}),s),this.emit("add"),this.#C()}))}async addAll(e,s){return Promise.all(e.map((async e=>this.add(e,s))))}start(){return this.#T?(this.#T=!1,this.#F(),this):this}pause(){this.#T=!0}clear(){this.#l=new this.#p}async onEmpty(){0!==this.#l.size&&await this.#_("empty")}async onSizeLessThan(e){this.#l.sizethis.#l.size{const n=()=>{s&&!s()||(this.off(e,n),t())};this.on(e,n)}))}get size(){return this.#l.size}sizeBy(e){return this.#l.filter(e).length}get pending(){return this.#h}get isPaused(){return this.#T}}var B=t(53529),E=t(85168),z=t(75270),j=t(85471),I=t(89257),O=t(24764),M=t(54332),R=t(6695),D=t(95101),H=t(11195);const V=async function(e,s,t,n=(()=>{}),a=void 0,i={}){let l;return l=s instanceof Blob?s:await s(),a&&(i.Destination=a),i["Content-Type"]||(i["Content-Type"]="application/octet-stream"),await y.A.request({method:"PUT",url:e,data:l,signal:t,onUploadProgress:n,headers:i})},q=function(e,s,t){return 0===s&&e.size<=t?Promise.resolve(new Blob([e],{type:e.type||"application/octet-stream"})):Promise.resolve(new Blob([e.slice(s,s+t)],{type:"application/octet-stream"}))},W=function(e=void 0){const s=window.OC?.appConfig?.files?.max_chunk_size;if(s<=0)return 0;if(!Number(s))return 10485760;const t=Math.max(Number(s),5242880);return void 0===e?t:Math.max(t,Math.ceil(e/1e4))};var Y=(e=>(e[e.INITIALIZED=0]="INITIALIZED",e[e.UPLOADING=1]="UPLOADING",e[e.ASSEMBLING=2]="ASSEMBLING",e[e.FINISHED=3]="FINISHED",e[e.CANCELLED=4]="CANCELLED",e[e.FAILED=5]="FAILED",e))(Y||{});let G=class{_source;_file;_isChunked;_chunks;_size;_uploaded=0;_startTime=0;_status=0;_controller;_response=null;constructor(e,s=!1,t,n){const a=Math.min(W()>0?Math.ceil(t/W()):1,1e4);this._source=e,this._isChunked=s&&W()>0&&a>1,this._chunks=this._isChunked?a:1,this._size=t,this._file=n,this._controller=new AbortController}get source(){return this._source}get file(){return this._file}get isChunked(){return this._isChunked}get chunks(){return this._chunks}get size(){return this._size}get startTime(){return this._startTime}set response(e){this._response=e}get response(){return this._response}get uploaded(){return this._uploaded}set uploaded(e){if(e>=this._size)return this._status=this._isChunked?2:3,void(this._uploaded=this._size);this._status=1,this._uploaded=e,0===this._startTime&&(this._startTime=(new Date).getTime())}get status(){return this._status}set status(e){this._status=e}get signal(){return this._controller.signal}cancel(){this._controller.abort(),this._status=4}};const K=null===($=(0,L.HW)())?(0,B.YK)().setApp("uploader").build():(0,B.YK)().setApp("uploader").setUid($.uid).build();var $,J=(e=>(e[e.IDLE=0]="IDLE",e[e.UPLOADING=1]="UPLOADING",e[e.PAUSED=2]="PAUSED",e))(J||{});class Q{_destinationFolder;_isPublic;_uploadQueue=[];_jobQueue=new N({concurrency:3});_queueSize=0;_queueProgress=0;_queueStatus=0;_notifiers=[];constructor(e=!1,s){if(this._isPublic=e,!s){const e=(0,L.HW)()?.uid,t=(0,v.dC)(`dav/files/${e}`);if(!e)throw new Error("User is not logged in");s=new x.vd({id:0,owner:e,permissions:x.aX.ALL,root:`/files/${e}`,source:t})}this.destination=s,K.debug("Upload workspace initialized",{destination:this.destination,root:this.root,isPublic:e,maxChunksSize:W()})}get destination(){return this._destinationFolder}set destination(e){if(!e)throw new Error("Invalid destination folder");K.debug("Destination set",{folder:e}),this._destinationFolder=e}get root(){return this._destinationFolder.source}get queue(){return this._uploadQueue}reset(){this._uploadQueue.splice(0,this._uploadQueue.length),this._jobQueue.clear(),this._queueSize=0,this._queueProgress=0,this._queueStatus=0}pause(){this._jobQueue.pause(),this._queueStatus=2}start(){this._jobQueue.start(),this._queueStatus=1,this.updateStats()}get info(){return{size:this._queueSize,progress:this._queueProgress,status:this._queueStatus}}updateStats(){const e=this._uploadQueue.map((e=>e.size)).reduce(((e,s)=>e+s),0),s=this._uploadQueue.map((e=>e.uploaded)).reduce(((e,s)=>e+s),0);this._queueSize=e,this._queueProgress=s,2!==this._queueStatus&&(this._queueStatus=this._jobQueue.size>0?1:0)}addNotifier(e){this._notifiers.push(e)}upload(e,s,t){const n=`${t||this.root}/${e.replace(/^\//,"")}`,{origin:a}=new URL(n),i=a+(0,T.O0)(n.slice(a.length));K.debug(`Uploading ${s.name} to ${i}`);const l=W(s.size),r=0===l||s.size{if(n(o.cancel),r){K.debug("Initializing regular upload",{file:s,upload:o});const n=await q(s,0,o.size),a=async()=>{try{o.response=await V(i,n,o.signal,(e=>{o.uploaded=o.uploaded+e.bytes,this.updateStats()}),void 0,{"X-OC-Mtime":s.lastModified/1e3,"Content-Type":s.type}),o.uploaded=o.size,this.updateStats(),K.debug(`Successfully uploaded ${s.name}`,{file:s,upload:o}),e(o)}catch(e){if(e instanceof w.k3)return o.status=Y.FAILED,void t("Upload has been cancelled");e?.response&&(o.response=e.response),o.status=Y.FAILED,K.error(`Failed uploading ${s.name}`,{error:e,file:s,upload:o}),t("Failed uploading the file")}this._notifiers.forEach((e=>{try{e(o)}catch{}}))};this._jobQueue.add(a),this.updateStats()}else{K.debug("Initializing chunked upload",{file:s,upload:o});const n=await async function(e){const s=`${(0,v.dC)(`dav/uploads/${(0,L.HW)()?.uid}`)}/web-file-upload-${[...Array(16)].map((()=>Math.floor(16*Math.random()).toString(16))).join("")}`,t=e?{Destination:e}:void 0;return await y.A.request({method:"MKCOL",url:s,headers:t}),s}(i),a=[];for(let e=0;eq(s,t,l),d=()=>V(`${n}/${e+1}`,m,o.signal,(()=>this.updateStats()),i,{"X-OC-Mtime":s.lastModified/1e3,"OC-Total-Length":s.size,"Content-Type":"application/octet-stream"}).then((()=>{o.uploaded=o.uploaded+l})).catch((s=>{throw 507===s?.response?.status?(K.error("Upload failed, not enough space on the server or quota exceeded. Cancelling the remaining chunks",{error:s,upload:o}),o.cancel(),o.status=Y.FAILED,s):(s instanceof w.k3||(K.error(`Chunk ${e+1} ${t} - ${r} uploading failed`,{error:s,upload:o}),o.cancel(),o.status=Y.FAILED),s)}));a.push(this._jobQueue.add(d))}try{await Promise.all(a),this.updateStats(),o.response=await y.A.request({method:"MOVE",url:`${n}/.file`,headers:{"X-OC-Mtime":s.lastModified/1e3,"OC-Total-Length":s.size,Destination:i}}),this.updateStats(),o.status=Y.FINISHED,K.debug(`Successfully uploaded ${s.name}`,{file:s,upload:o}),e(o)}catch(e){e instanceof w.k3?(o.status=Y.FAILED,t("Upload has been cancelled")):(o.status=Y.FAILED,t("Failed assembling the chunks together")),y.A.request({method:"DELETE",url:`${n}`})}this._notifiers.forEach((e=>{try{e(o)}catch{}}))}return this._jobQueue.onIdle().then((()=>this.reset())),o}))}}function Z(e,s,t,n,a,i,l,r){var o,m="function"==typeof e?e.options:e;if(s&&(m.render=s,m.staticRenderFns=t,m._compiled=!0),n&&(m.functional=!0),i&&(m._scopeId="data-v-"+i),l?(o=function(e){!(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(l)},m._ssrRegister=o):a&&(o=r?function(){a.call(this,(m.functional?this.parent:this).$root.$options.shadowRoot)}:a),o)if(m.functional){m._injectStyles=o;var d=m.render;m.render=function(e,s){return o.call(s),d(e,s)}}else{var u=m.beforeCreate;m.beforeCreate=u?[].concat(u,o):[o]}return{exports:e,options:m}}const X=Z({name:"CancelIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var e=this,s=e._self._c;return s("span",e._b({staticClass:"material-design-icon cancel-icon",attrs:{"aria-hidden":!e.title||null,"aria-label":e.title,role:"img"},on:{click:function(s){return e.$emit("click",s)}}},"span",e.$attrs,!1),[s("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[s("path",{attrs:{d:"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z"}},[e.title?s("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null,null).exports,ee=Z({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var e=this,s=e._self._c;return s("span",e._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":!e.title||null,"aria-label":e.title,role:"img"},on:{click:function(s){return e.$emit("click",s)}}},"span",e.$attrs,!1),[s("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[s("path",{attrs:{d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[e.title?s("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null,null).exports,se=Z({name:"UploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var e=this,s=e._self._c;return s("span",e._b({staticClass:"material-design-icon upload-icon",attrs:{"aria-hidden":!e.title||null,"aria-label":e.title,role:"img"},on:{click:function(s){return e.$emit("click",s)}}},"span",e.$attrs,!1),[s("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[s("path",{attrs:{d:"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z"}},[e.title?s("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null,null).exports,te=(0,H.$)().detectLocale();[{locale:"af",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)","Content-Type":"text/plain; charset=UTF-8",Language:"af","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: af\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ar",json:{charset:"utf-8",headers:{"Last-Translator":"Ali , 2024","Language-Team":"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar","Plural-Forms":"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nAli , 2024\n"},msgstr:["Last-Translator: Ali , 2024\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} ملف متعارض","{count} ملف متعارض","{count} ملفان متعارضان","{count} ملف متعارض","{count} ملفات متعارضة","{count} ملفات متعارضة"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} ملف متعارض في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفان متعارضان في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفات متعارضة في n {dirname}","{count} ملفات متعارضة في n {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} ثانية متبقية"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} متبقية"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["باقٍ بضعُ ثوانٍ"]},Cancel:{msgid:"Cancel",msgstr:["إلغاء"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["إلغِ العملية بالكامل"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["إلغاء عمليات رفع الملفات"]},Continue:{msgid:"Continue",msgstr:["إستمر"]},"estimating time left":{msgid:"estimating time left",msgstr:["تقدير الوقت المتبقي"]},"Existing version":{msgid:"Existing version",msgstr:["الإصدار الحالي"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["إذا اخترت الإبقاء على النسختين معاً، فإن الملف المنسوخ سيتم إلحاق رقم تسلسلي في نهاية اسمه."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["تاريخ آخر تعديل غير معلوم"]},New:{msgid:"New",msgstr:["جديد"]},"New version":{msgid:"New version",msgstr:["نسخة جديدة"]},paused:{msgid:"paused",msgstr:["مُجمَّد"]},"Preview image":{msgid:"Preview image",msgstr:["معاينة الصورة"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["حدِّد كل صناديق الخيارات"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["حدِّد كل الملفات الموجودة"]},"Select all new files":{msgid:"Select all new files",msgstr:["حدِّد كل الملفات الجديدة"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف"]},"Unknown size":{msgid:"Unknown size",msgstr:["حجم غير معلوم"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["تمَّ إلغاء الرفع"]},"Upload files":{msgid:"Upload files",msgstr:["رفع ملفات"]},"Upload progress":{msgid:"Upload progress",msgstr:["تقدُّم الرفع "]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["عند تحديد مجلد وارد، أي ملفات متعارضة بداخله ستتم الكتابة فوقها."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["أيُّ الملفات ترغب في الإبقاء عليها؟"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["يجب أن تختار نسخة واحدة على الأقل من كل ملف للاستمرار."]}}}}},{locale:"ar_SA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar_SA","Plural-Forms":"nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar_SA\nPlural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ast",json:{charset:"utf-8",headers:{"Last-Translator":"enolp , 2023","Language-Team":"Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)","Content-Type":"text/plain; charset=UTF-8",Language:"ast","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nenolp , 2023\n"},msgstr:["Last-Translator: enolp , 2023\nLanguage-Team: Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ast\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} ficheru en coflictu","{count} ficheros en coflictu"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} ficheru en coflictu en {dirname}","{count} ficheros en coflictu en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Queden {seconds} segundos"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Tiempu que queda: {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["queden unos segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Encaboxar les xubes"]},Continue:{msgid:"Continue",msgstr:["Siguir"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando'l tiempu que falta"]},"Existing version":{msgid:"Existing version",msgstr:["Versión esistente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si seleiciones dambes versiones, el ficheru copiáu va tener un númberu amestáu al so nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["La data de la última modificación ye desconocida"]},New:{msgid:"New",msgstr:["Nuevu"]},"New version":{msgid:"New version",msgstr:["Versión nueva"]},paused:{msgid:"paused",msgstr:["en posa"]},"Preview image":{msgid:"Preview image",msgstr:["Previsualizar la imaxe"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marcar toles caxelles"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleicionar tolos ficheros esistentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleicionar tolos ficheros nuevos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Saltar esti ficheru","Saltar {count} ficheros"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamañu desconocíu"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Encaboxóse la xuba"]},"Upload files":{msgid:"Upload files",msgstr:["Xubir ficheros"]},"Upload progress":{msgid:"Upload progress",msgstr:["Xuba en cursu"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["¿Qué ficheros quies caltener?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Tienes de seleicionar polo menos una versión de cada ficheru pa siguir."]}}}}},{locale:"az",json:{charset:"utf-8",headers:{"Last-Translator":"Rashad Aliyev , 2023","Language-Team":"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)","Content-Type":"text/plain; charset=UTF-8",Language:"az","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRashad Aliyev , 2023\n"},msgstr:["Last-Translator: Rashad Aliyev , 2023\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: az\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniyə qalıb"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} qalıb"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir neçə saniyə qalıb"]},Add:{msgid:"Add",msgstr:["Əlavə et"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yükləməni imtina et"]},"estimating time left":{msgid:"estimating time left",msgstr:["Təxmini qalan vaxt"]},paused:{msgid:"paused",msgstr:["pauzadadır"]},"Upload files":{msgid:"Upload files",msgstr:["Faylları yüklə"]}}}}},{locale:"be",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)","Content-Type":"text/plain; charset=UTF-8",Language:"be","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: be\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bg_BG",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)","Content-Type":"text/plain; charset=UTF-8",Language:"bg_BG","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bg_BG\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bn_BD",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)","Content-Type":"text/plain; charset=UTF-8",Language:"bn_BD","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bn_BD\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"br",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)","Content-Type":"text/plain; charset=UTF-8",Language:"br","Plural-Forms":"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bs",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)","Content-Type":"text/plain; charset=UTF-8",Language:"bs","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bs\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ca",json:{charset:"utf-8",headers:{"Last-Translator":"Toni Hermoso Pulido , 2022","Language-Team":"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)","Content-Type":"text/plain; charset=UTF-8",Language:"ca","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMarc Riera , 2022\nToni Hermoso Pulido , 2022\n"},msgstr:["Last-Translator: Toni Hermoso Pulido , 2022\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Queden {seconds} segons"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["Queden {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Queden uns segons"]},Add:{msgid:"Add",msgstr:["Afegeix"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel·la les pujades"]},"estimating time left":{msgid:"estimating time left",msgstr:["S'està estimant el temps restant"]},paused:{msgid:"paused",msgstr:["En pausa"]},"Upload files":{msgid:"Upload files",msgstr:["Puja els fitxers"]}}}}},{locale:"cs",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki , 2022","Language-Team":"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPavel Borecki , 2022\n"},msgstr:["Last-Translator: Pavel Borecki , 2022\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},Add:{msgid:"Add",msgstr:["Přidat"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhadovaný zbývající čas"]},paused:{msgid:"paused",msgstr:["pozastaveno"]}}}}},{locale:"cs_CZ",json:{charset:"utf-8",headers:{"Last-Translator":"Michal Šmahel , 2024","Language-Team":"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs_CZ","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMichal Šmahel , 2024\n"},msgstr:["Last-Translator: Michal Šmahel , 2024\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} kolize souborů","{count} kolize souborů","{count} kolizí souborů","{count} kolize souborů"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} kolize souboru v {dirname}","{count} kolize souboru v {dirname}","{count} kolizí souborů v {dirname}","{count} kolize souboru v {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},Cancel:{msgid:"Cancel",msgstr:["Zrušit"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Zrušit celou operaci"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},Continue:{msgid:"Continue",msgstr:["Pokračovat"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhaduje se zbývající čas"]},"Existing version":{msgid:"Existing version",msgstr:["Existující verze"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Pokud vyberete obě verze, zkopírovaný soubor bude mít k názvu přidáno číslo."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Neznámé datum poslední úpravy"]},New:{msgid:"New",msgstr:["Nové"]},"New version":{msgid:"New version",msgstr:["Nová verze"]},paused:{msgid:"paused",msgstr:["pozastaveno"]},"Preview image":{msgid:"Preview image",msgstr:["Náhled obrázku"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Označit všechny zaškrtávací kolonky"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vybrat veškeré stávající soubory"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vybrat veškeré nové soubory"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Přeskočit tento soubor","Přeskočit {count} soubory","Přeskočit {count} souborů","Přeskočit {count} soubory"]},"Unknown size":{msgid:"Unknown size",msgstr:["Neznámá velikost"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Nahrávání zrušeno"]},"Upload files":{msgid:"Upload files",msgstr:["Nahrát soubory"]},"Upload progress":{msgid:"Upload progress",msgstr:["Postup v nahrávání"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Po výběru příchozí složky budou rovněž přepsány všechny v ní obsažené konfliktní soubory"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Které soubory si přejete ponechat?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru."]}}}}},{locale:"cy_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"cy_GB","Plural-Forms":"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cy_GB\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"da",json:{charset:"utf-8",headers:{"Last-Translator":"Martin Bonde , 2024","Language-Team":"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)","Content-Type":"text/plain; charset=UTF-8",Language:"da","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMartin Bonde , 2024\n"},msgstr:["Last-Translator: Martin Bonde , 2024\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fil konflikt","{count} filer i konflikt"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fil konflikt i {dirname}","{count} filer i konflikt i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{sekunder} sekunder tilbage"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{tid} tilbage"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["et par sekunder tilbage"]},Cancel:{msgid:"Cancel",msgstr:["Annuller"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Annuller hele handlingen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuller uploads"]},Continue:{msgid:"Continue",msgstr:["Fortsæt"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimering af resterende tid"]},"Existing version":{msgid:"Existing version",msgstr:["Eksisterende version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Hvis du vælger begge versioner vil den kopierede fil få et nummer tilføjet til sit navn."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Sidste modifikationsdato ukendt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pauset"]},"Preview image":{msgid:"Preview image",msgstr:["Forhåndsvisning af billede"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Vælg alle felter"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vælg alle eksisterende filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vælg alle nye filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Spring denne fil over","Spring {count} filer over"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukendt størrelse"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload annulleret"]},"Upload files":{msgid:"Upload files",msgstr:["Upload filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Upload fremskridt"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Når en indgående mappe er valgt, vil alle modstridende filer i den også blive overskrevet."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer ønsker du at beholde?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du skal vælge mindst én version af hver fil for at fortsætte."]}}}}},{locale:"de",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2024","Language-Team":"German (https://app.transifex.com/nextcloud/teams/64236/de/)","Content-Type":"text/plain; charset=UTF-8",Language:"de","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n"},msgstr:["Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleibend"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noch ein paar Sekunden"]},Cancel:{msgid:"Cancel",msgstr:["Abbrechen"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn du beide Versionen auswählst, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Diese Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fortschritt beim Hochladen"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchtest du behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du musst mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"de_DE",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2024","Language-Team":"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)","Content-Type":"text/plain; charset=UTF-8",Language:"de_DE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n"},msgstr:["Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleiben"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["ein paar Sekunden verbleiben"]},Cancel:{msgid:"Cancel",msgstr:["Abbrechen"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn Sie beide Versionen auswählen, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["{count} Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fortschritt beim Hochladen"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchten Sie behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Sie müssen mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"el",json:{charset:"utf-8",headers:{"Last-Translator":"Nik Pap, 2022","Language-Team":"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)","Content-Type":"text/plain; charset=UTF-8",Language:"el","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nNik Pap, 2022\n"},msgstr:["Last-Translator: Nik Pap, 2022\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["απομένουν {seconds} δευτερόλεπτα"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["απομένουν {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["απομένουν λίγα δευτερόλεπτα"]},Add:{msgid:"Add",msgstr:["Προσθήκη"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ακύρωση μεταφορτώσεων"]},"estimating time left":{msgid:"estimating time left",msgstr:["εκτίμηση του χρόνου που απομένει"]},paused:{msgid:"paused",msgstr:["σε παύση"]},"Upload files":{msgid:"Upload files",msgstr:["Μεταφόρτωση αρχείων"]}}}}},{locale:"el_GR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)","Content-Type":"text/plain; charset=UTF-8",Language:"el_GR","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el_GR\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"en_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Andi Chandler , 2023","Language-Team":"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"en_GB","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nAndi Chandler , 2023\n"},msgstr:["Last-Translator: Andi Chandler , 2023\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: en_GB\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file conflict","{count} files conflict"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file conflict in {dirname}","{count} file conflicts in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} seconds left"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} left"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["a few seconds left"]},Add:{msgid:"Add",msgstr:["Add"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel uploads"]},Continue:{msgid:"Continue",msgstr:["Continue"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimating time left"]},"Existing version":{msgid:"Existing version",msgstr:["Existing version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["If you select both versions, the copied file will have a number added to its name."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Last modified date unknown"]},"New version":{msgid:"New version",msgstr:["New version"]},paused:{msgid:"paused",msgstr:["paused"]},"Preview image":{msgid:"Preview image",msgstr:["Preview image"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Select all checkboxes"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Select all existing files"]},"Select all new files":{msgid:"Select all new files",msgstr:["Select all new files"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Skip this file","Skip {count} files"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unknown size"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload cancelled"]},"Upload files":{msgid:"Upload files",msgstr:["Upload files"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Which files do you want to keep?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["You need to select at least one version of each file to continue."]}}}}},{locale:"eo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)","Content-Type":"text/plain; charset=UTF-8",Language:"eo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es",json:{charset:"utf-8",headers:{"Last-Translator":"Julio C. Ortega, 2024","Language-Team":"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)","Content-Type":"text/plain; charset=UTF-8",Language:"es","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nFranciscoFJ , 2023\nNext Cloud , 2023\nJulio C. Ortega, 2024\n"},msgstr:["Last-Translator: Julio C. Ortega, 2024\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} archivo en conflicto","{count} archivos en conflicto","{count} archivos en conflicto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} archivo en conflicto en {dirname}","{count} archivos en conflicto en {dirname}","{count} archivos en conflicto en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si selecciona ambas versiones, al archivo copiado se le añadirá un número en el nombre."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Última fecha de modificación desconocida"]},New:{msgid:"New",msgstr:["Nuevo"]},"New version":{msgid:"New version",msgstr:["Nueva versión"]},paused:{msgid:"paused",msgstr:["pausado"]},"Preview image":{msgid:"Preview image",msgstr:["Previsualizar imagen"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleccionar todas las casillas de verificación"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos los archivos existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos los archivos nuevos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Saltar este archivo","Saltar {count} archivos","Saltar {count} archivos"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño desconocido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Subida cancelada"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progreso de la subida"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["¿Qué archivos desea conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar al menos una versión de cada archivo para continuar."]}}}}},{locale:"es_419",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_419","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_419\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_AR",json:{charset:"utf-8",headers:{"Last-Translator":"Matias Iglesias, 2022","Language-Team":"Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_AR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatias Iglesias, 2022\n"},msgstr:["Last-Translator: Matias Iglesias, 2022\nLanguage-Team: Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_AR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},Add:{msgid:"Add",msgstr:["Añadir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_CL",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CL","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CL\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_DO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_DO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_DO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_EC",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_EC","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_EC\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_GT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_GT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_GT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_HN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_HN","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_HN\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_MX",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_MX","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nLuis Francisco Castro, 2022\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_MX\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["cancelar las cargas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["en pausa"]},"Upload files":{msgid:"Upload files",msgstr:["cargar archivos"]}}}}},{locale:"es_NI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_NI","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_NI\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PA","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PA\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PE","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PE\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_SV",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_SV","Plural-Forms":"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_SV\nPlural-Forms: nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_UY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_UY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_UY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"et_EE",json:{charset:"utf-8",headers:{"Last-Translator":"Taavo Roos, 2023","Language-Team":"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)","Content-Type":"text/plain; charset=UTF-8",Language:"et_EE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMait R, 2022\nTaavo Roos, 2023\n"},msgstr:["Last-Translator: Taavo Roos, 2023\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: et_EE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} jäänud sekundid"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} aega jäänud"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["jäänud mõni sekund"]},Add:{msgid:"Add",msgstr:["Lisa"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Tühista üleslaadimine"]},"estimating time left":{msgid:"estimating time left",msgstr:["hinnanguline järelejäänud aeg"]},paused:{msgid:"paused",msgstr:["pausil"]},"Upload files":{msgid:"Upload files",msgstr:["Lae failid üles"]}}}}},{locale:"eu",json:{charset:"utf-8",headers:{"Last-Translator":"Unai Tolosa Pontesta , 2022","Language-Team":"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)","Content-Type":"text/plain; charset=UTF-8",Language:"eu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nUnai Tolosa Pontesta , 2022\n"},msgstr:["Last-Translator: Unai Tolosa Pontesta , 2022\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundo geratzen dira"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} geratzen da"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["segundo batzuk geratzen dira"]},Add:{msgid:"Add",msgstr:["Gehitu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ezeztatu igoerak"]},"estimating time left":{msgid:"estimating time left",msgstr:["kalkulatutako geratzen den denbora"]},paused:{msgid:"paused",msgstr:["geldituta"]},"Upload files":{msgid:"Upload files",msgstr:["Igo fitxategiak"]}}}}},{locale:"fa",json:{charset:"utf-8",headers:{"Last-Translator":"Fatemeh Komeily, 2023","Language-Team":"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)","Content-Type":"text/plain; charset=UTF-8",Language:"fa","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nFatemeh Komeily, 2023\n"},msgstr:["Last-Translator: Fatemeh Komeily, 2023\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fa\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["ثانیه های باقی مانده"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["باقی مانده"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["چند ثانیه مانده"]},Add:{msgid:"Add",msgstr:["اضافه کردن"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["کنسل کردن فایل های اپلود شده"]},"estimating time left":{msgid:"estimating time left",msgstr:["تخمین زمان باقی مانده"]},paused:{msgid:"paused",msgstr:["مکث کردن"]},"Upload files":{msgid:"Upload files",msgstr:["بارگذاری فایل ها"]}}}}},{locale:"fi_FI",json:{charset:"utf-8",headers:{"Last-Translator":"Jiri Grönroos , 2022","Language-Team":"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)","Content-Type":"text/plain; charset=UTF-8",Language:"fi_FI","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJiri Grönroos , 2022\n"},msgstr:["Last-Translator: Jiri Grönroos , 2022\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekuntia jäljellä"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} jäljellä"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["muutama sekunti jäljellä"]},Add:{msgid:"Add",msgstr:["Lisää"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Peruuta lähetykset"]},"estimating time left":{msgid:"estimating time left",msgstr:["arvioidaan jäljellä olevaa aikaa"]},paused:{msgid:"paused",msgstr:["keskeytetty"]},"Upload files":{msgid:"Upload files",msgstr:["Lähetä tiedostoja"]}}}}},{locale:"fo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)","Content-Type":"text/plain; charset=UTF-8",Language:"fo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"fr",json:{charset:"utf-8",headers:{"Last-Translator":"jed boulahya, 2024","Language-Team":"French (https://app.transifex.com/nextcloud/teams/64236/fr/)","Content-Type":"text/plain; charset=UTF-8",Language:"fr","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nBenoit Pruneau, 2024\njed boulahya, 2024\n"},msgstr:["Last-Translator: jed boulahya, 2024\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fichier en conflit","{count} fichiers en conflit","{count} fichiers en conflit"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fichier en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondes restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restant"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quelques secondes restantes"]},Cancel:{msgid:"Cancel",msgstr:["Annuler"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Annuler l'opération entière"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuler les envois"]},Continue:{msgid:"Continue",msgstr:["Continuer"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimation du temps restant"]},"Existing version":{msgid:"Existing version",msgstr:["Version existante"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si vous sélectionnez les deux versions, le fichier copié aura un numéro ajouté àname."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Date de la dernière modification est inconnue"]},New:{msgid:"New",msgstr:["Nouveau"]},"New version":{msgid:"New version",msgstr:["Nouvelle version"]},paused:{msgid:"paused",msgstr:["en pause"]},"Preview image":{msgid:"Preview image",msgstr:["Aperçu de l'image"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Sélectionner toutes les cases à cocher"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Sélectionner tous les fichiers existants"]},"Select all new files":{msgid:"Select all new files",msgstr:["Sélectionner tous les nouveaux fichiers"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Ignorer ce fichier","Ignorer {count} fichiers","Ignorer {count} fichiers"]},"Unknown size":{msgid:"Unknown size",msgstr:["Taille inconnue"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:[" annulé"]},"Upload files":{msgid:"Upload files",msgstr:["Téléchargement des fichiers"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progression du téléchargement"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Lorsqu'un dossier entrant est sélectionné, tous les fichiers en conflit qu'il contient seront également écrasés."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quels fichiers souhaitez-vous conserver ?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Vous devez sélectionner au moins une version de chaque fichier pour continuer."]}}}}},{locale:"gd",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)","Content-Type":"text/plain; charset=UTF-8",Language:"gd","Plural-Forms":"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gd\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"gl",json:{charset:"utf-8",headers:{"Last-Translator":"Miguel Anxo Bouzada , 2023","Language-Team":"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)","Content-Type":"text/plain; charset=UTF-8",Language:"gl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nNacho , 2023\nMiguel Anxo Bouzada , 2023\n"},msgstr:["Last-Translator: Miguel Anxo Bouzada , 2023\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} conflito de ficheiros","{count} conflitos de ficheiros"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} conflito de ficheiros en {dirname}","{count} conflitos de ficheiros en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltan {seconds} segundos"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["falta {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltan uns segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envíos"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["calculando canto tempo falta"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selecciona ambas as versións, o ficheiro copiado terá un número engadido ao seu nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Data da última modificación descoñecida"]},New:{msgid:"New",msgstr:["Nova"]},"New version":{msgid:"New version",msgstr:["Nova versión"]},paused:{msgid:"paused",msgstr:["detido"]},"Preview image":{msgid:"Preview image",msgstr:["Vista previa da imaxe"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marcar todas as caixas de selección"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos os ficheiros existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos os ficheiros novos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Omita este ficheiro","Omitir {count} ficheiros"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño descoñecido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envío cancelado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progreso do envío"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Que ficheiros quere conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar polo menos unha versión de cada ficheiro para continuar."]}}}}},{locale:"he",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)","Content-Type":"text/plain; charset=UTF-8",Language:"he","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hi_IN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)","Content-Type":"text/plain; charset=UTF-8",Language:"hi_IN","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hi_IN\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)","Content-Type":"text/plain; charset=UTF-8",Language:"hr","Plural-Forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hr\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hsb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)","Content-Type":"text/plain; charset=UTF-8",Language:"hsb","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hsb\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu_HU",json:{charset:"utf-8",headers:{"Last-Translator":"Balázs Úr, 2022","Language-Team":"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu_HU","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBalázs Meskó , 2022\nBalázs Úr, 2022\n"},msgstr:["Last-Translator: Balázs Úr, 2022\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{} másodperc van hátra"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} van hátra"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["pár másodperc van hátra"]},Add:{msgid:"Add",msgstr:["Hozzáadás"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Feltöltések megszakítása"]},"estimating time left":{msgid:"estimating time left",msgstr:["hátralévő idő becslése"]},paused:{msgid:"paused",msgstr:["szüneteltetve"]},"Upload files":{msgid:"Upload files",msgstr:["Fájlok feltöltése"]}}}}},{locale:"hy",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)","Content-Type":"text/plain; charset=UTF-8",Language:"hy","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hy\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ia",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)","Content-Type":"text/plain; charset=UTF-8",Language:"ia","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ia\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"id",json:{charset:"utf-8",headers:{"Last-Translator":"Linerly , 2023","Language-Team":"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)","Content-Type":"text/plain; charset=UTF-8",Language:"id","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nEmpty Slot Filler, 2023\nLinerly , 2023\n"},msgstr:["Last-Translator: Linerly , 2023\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: id\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} berkas berkonflik"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} berkas berkonflik dalam {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} detik tersisa"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} tersisa"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["tinggal sebentar lagi"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Batalkan unggahan"]},Continue:{msgid:"Continue",msgstr:["Lanjutkan"]},"estimating time left":{msgid:"estimating time left",msgstr:["memperkirakan waktu yang tersisa"]},"Existing version":{msgid:"Existing version",msgstr:["Versi yang ada"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jika Anda memilih kedua versi, nama berkas yang disalin akan ditambahi angka."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Tanggal perubahan terakhir tidak diketahui"]},New:{msgid:"New",msgstr:["Baru"]},"New version":{msgid:"New version",msgstr:["Versi baru"]},paused:{msgid:"paused",msgstr:["dijeda"]},"Preview image":{msgid:"Preview image",msgstr:["Gambar pratinjau"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Pilih semua kotak centang"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Pilih semua berkas yang ada"]},"Select all new files":{msgid:"Select all new files",msgstr:["Pilih semua berkas baru"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Lewati {count} berkas"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukuran tidak diketahui"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Unggahan dibatalkan"]},"Upload files":{msgid:"Upload files",msgstr:["Unggah berkas"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Berkas mana yang Anda ingin tetap simpan?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Anda harus memilih setidaknya satu versi dari masing-masing berkas untuk melanjutkan."]}}}}},{locale:"ig",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)","Content-Type":"text/plain; charset=UTF-8",Language:"ig","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ig\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"is",json:{charset:"utf-8",headers:{"Last-Translator":"Sveinn í Felli , 2023","Language-Team":"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)","Content-Type":"text/plain; charset=UTF-8",Language:"is","Plural-Forms":"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nSveinn í Felli , 2023\n"},msgstr:["Last-Translator: Sveinn í Felli , 2023\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} árekstur skráa","{count} árekstrar skráa"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} árekstur skráa í {dirname}","{count} árekstrar skráa í {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekúndur eftir"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} eftir"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["nokkrar sekúndur eftir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hætta við innsendingar"]},Continue:{msgid:"Continue",msgstr:["Halda áfram"]},"estimating time left":{msgid:"estimating time left",msgstr:["áætla tíma sem eftir er"]},"Existing version":{msgid:"Existing version",msgstr:["Fyrirliggjandi útgáfa"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ef þú velur báðar útgáfur, þá mun verða bætt tölustaf aftan við heiti afrituðu skrárinnar."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Síðasta breytingadagsetning er óþekkt"]},New:{msgid:"New",msgstr:["Nýtt"]},"New version":{msgid:"New version",msgstr:["Ný útgáfa"]},paused:{msgid:"paused",msgstr:["í bið"]},"Preview image":{msgid:"Preview image",msgstr:["Forskoðun myndar"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Velja gátreiti"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Velja allar fyrirliggjandi skrár"]},"Select all new files":{msgid:"Select all new files",msgstr:["Velja allar nýjar skrár"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Sleppa þessari skrá","Sleppa {count} skrám"]},"Unknown size":{msgid:"Unknown size",msgstr:["Óþekkt stærð"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hætt við innsendingu"]},"Upload files":{msgid:"Upload files",msgstr:["Senda inn skrár"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvaða skrám vilt þú vilt halda eftir?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Þú verður að velja að minnsta kosti eina útgáfu af hverri skrá til að halda áfram."]}}}}},{locale:"it",json:{charset:"utf-8",headers:{"Last-Translator":"Random_R, 2023","Language-Team":"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)","Content-Type":"text/plain; charset=UTF-8",Language:"it","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nLep Lep, 2023\nRandom_R, 2023\n"},msgstr:["Last-Translator: Random_R, 2023\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file in conflitto","{count} file in conflitto","{count} file in conflitto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondi rimanenti "]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} rimanente"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alcuni secondi rimanenti"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annulla i caricamenti"]},Continue:{msgid:"Continue",msgstr:["Continua"]},"estimating time left":{msgid:"estimating time left",msgstr:["calcolo il tempo rimanente"]},"Existing version":{msgid:"Existing version",msgstr:["Versione esistente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selezioni entrambe le versioni, nel nome del file copiato verrà aggiunto un numero "]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Ultima modifica sconosciuta"]},New:{msgid:"New",msgstr:["Nuovo"]},"New version":{msgid:"New version",msgstr:["Nuova versione"]},paused:{msgid:"paused",msgstr:["pausa"]},"Preview image":{msgid:"Preview image",msgstr:["Anteprima immagine"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleziona tutte le caselle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleziona tutti i file esistenti"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleziona tutti i nuovi file"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Salta questo file","Salta {count} file","Salta {count} file"]},"Unknown size":{msgid:"Unknown size",msgstr:["Dimensione sconosciuta"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Caricamento cancellato"]},"Upload files":{msgid:"Upload files",msgstr:["Carica i file"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quali file vuoi mantenere?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Devi selezionare almeno una versione di ogni file per continuare"]}}}}},{locale:"it_IT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)","Content-Type":"text/plain; charset=UTF-8",Language:"it_IT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it_IT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ja_JP",json:{charset:"utf-8",headers:{"Last-Translator":"かたかめ, 2022","Language-Team":"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)","Content-Type":"text/plain; charset=UTF-8",Language:"ja_JP","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nT.S, 2022\nかたかめ, 2022\n"},msgstr:["Last-Translator: かたかめ, 2022\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["残り {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["残り {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["残り数秒"]},Add:{msgid:"Add",msgstr:["追加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["アップロードをキャンセル"]},"estimating time left":{msgid:"estimating time left",msgstr:["概算残り時間"]},paused:{msgid:"paused",msgstr:["一時停止中"]},"Upload files":{msgid:"Upload files",msgstr:["ファイルをアップデート"]}}}}},{locale:"ka",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ka_GE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka_GE","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka_GE\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kab",json:{charset:"utf-8",headers:{"Last-Translator":"ZiriSut, 2023","Language-Team":"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)","Content-Type":"text/plain; charset=UTF-8",Language:"kab","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nZiriSut, 2023\n"},msgstr:["Last-Translator: ZiriSut, 2023\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kab\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} tesdatin i d-yeqqimen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} i d-yeqqimen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["qqiment-d kra n tesdatin kan"]},Add:{msgid:"Add",msgstr:["Rnu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Sefsex asali"]},"estimating time left":{msgid:"estimating time left",msgstr:["asizel n wakud i d-yeqqimen"]},paused:{msgid:"paused",msgstr:["yeḥbes"]},"Upload files":{msgid:"Upload files",msgstr:["Sali-d ifuyla"]}}}}},{locale:"kk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)","Content-Type":"text/plain; charset=UTF-8",Language:"kk","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kk\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"km",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)","Content-Type":"text/plain; charset=UTF-8",Language:"km","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: km\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)","Content-Type":"text/plain; charset=UTF-8",Language:"kn","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kn\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ko",json:{charset:"utf-8",headers:{"Last-Translator":"Brandon Han, 2024","Language-Team":"Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)","Content-Type":"text/plain; charset=UTF-8",Language:"ko","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nhosun Lee, 2023\nBrandon Han, 2024\n"},msgstr:["Last-Translator: Brandon Han, 2024\nLanguage-Team: Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ko\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count}개의 파일이 충돌함"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname}에서 {count}개의 파일이 충돌함"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} 남음"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} 남음"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["곧 완료"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["업로드 취소"]},Continue:{msgid:"Continue",msgstr:["확인"]},"estimating time left":{msgid:"estimating time left",msgstr:["남은 시간 계산"]},"Existing version":{msgid:"Existing version",msgstr:["현재 버전"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["두 버전을 모두 선택할 경우, 복제된 파일 이름에 숫자가 추가됩니다."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["최근 수정일 알 수 없음"]},New:{msgid:"New",msgstr:["새로 만들기"]},"New version":{msgid:"New version",msgstr:["새 버전"]},paused:{msgid:"paused",msgstr:["일시정지됨"]},"Preview image":{msgid:"Preview image",msgstr:["미리보기 이미지"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["모든 체크박스 선택"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["모든 파일 선택"]},"Select all new files":{msgid:"Select all new files",msgstr:["모든 새 파일 선택"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["{count}개의 파일 넘기기"]},"Unknown size":{msgid:"Unknown size",msgstr:["크기를 알 수 없음"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["업로드 취소됨"]},"Upload files":{msgid:"Upload files",msgstr:["파일 업로드"]},"Upload progress":{msgid:"Upload progress",msgstr:["업로드 진행도"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["어떤 파일을 보존하시겠습니까?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["계속하기 위해서는 한 파일에 최소 하나의 버전을 선택해야 합니다."]}}}}},{locale:"la",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latin (https://www.transifex.com/nextcloud/teams/64236/la/)","Content-Type":"text/plain; charset=UTF-8",Language:"la","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: la\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)","Content-Type":"text/plain; charset=UTF-8",Language:"lb","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lb\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)","Content-Type":"text/plain; charset=UTF-8",Language:"lo","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lo\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lt_LT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)","Content-Type":"text/plain; charset=UTF-8",Language:"lt_LT","Plural-Forms":"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lv",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)","Content-Type":"text/plain; charset=UTF-8",Language:"lv","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"mk",json:{charset:"utf-8",headers:{"Last-Translator":"Сашко Тодоров , 2022","Language-Team":"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)","Content-Type":"text/plain; charset=UTF-8",Language:"mk","Plural-Forms":"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nСашко Тодоров , 2022\n"},msgstr:["Last-Translator: Сашко Тодоров , 2022\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостануваат {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["преостанува {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["уште неколку секунди"]},Add:{msgid:"Add",msgstr:["Додади"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Прекини прикачување"]},"estimating time left":{msgid:"estimating time left",msgstr:["приближно преостанато време"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Upload files":{msgid:"Upload files",msgstr:["Прикачување датотеки"]}}}}},{locale:"mn",json:{charset:"utf-8",headers:{"Last-Translator":"BATKHUYAG Ganbold, 2023","Language-Team":"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)","Content-Type":"text/plain; charset=UTF-8",Language:"mn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBATKHUYAG Ganbold, 2023\n"},msgstr:["Last-Translator: BATKHUYAG Ganbold, 2023\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} секунд үлдсэн"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} үлдсэн"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["хэдхэн секунд үлдсэн"]},Add:{msgid:"Add",msgstr:["Нэмэх"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Илгээлтийг цуцлах"]},"estimating time left":{msgid:"estimating time left",msgstr:["Үлдсэн хугацааг тооцоолж байна"]},paused:{msgid:"paused",msgstr:["түр зогсоосон"]},"Upload files":{msgid:"Upload files",msgstr:["Файл илгээх"]}}}}},{locale:"mr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)","Content-Type":"text/plain; charset=UTF-8",Language:"mr","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mr\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ms_MY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)","Content-Type":"text/plain; charset=UTF-8",Language:"ms_MY","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ms_MY\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"my",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)","Content-Type":"text/plain; charset=UTF-8",Language:"my","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: my\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nb_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Syvert Fossdal, 2024","Language-Team":"Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nb_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nSyvert Fossdal, 2024\n"},msgstr:["Last-Translator: Syvert Fossdal, 2024\nLanguage-Team: Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file conflict","{count} filkonflikter"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file conflict in {dirname}","{count} filkonflikter i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder igjen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} igjen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noen få sekunder igjen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt opplastninger"]},Continue:{msgid:"Continue",msgstr:["Fortsett"]},"estimating time left":{msgid:"estimating time left",msgstr:["Estimerer tid igjen"]},"Existing version":{msgid:"Existing version",msgstr:["Gjeldende versjon"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Hvis du velger begge versjoner, vil den kopierte filen få et tall lagt til navnet."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Siste gang redigert ukjent"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny versjon"]},paused:{msgid:"paused",msgstr:["pauset"]},"Preview image":{msgid:"Preview image",msgstr:["Forhåndsvis bilde"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Velg alle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Velg alle eksisterende filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Velg alle nye filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Skip this file","Hopp over {count} filer"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukjent størrelse"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Opplasting avbrutt"]},"Upload files":{msgid:"Upload files",msgstr:["Last opp filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fremdrift, opplasting"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer vil du beholde?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du må velge minst en versjon av hver fil for å fortsette."]}}}}},{locale:"ne",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)","Content-Type":"text/plain; charset=UTF-8",Language:"ne","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ne\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nl",json:{charset:"utf-8",headers:{"Last-Translator":"Rico , 2023","Language-Team":"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)","Content-Type":"text/plain; charset=UTF-8",Language:"nl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRico , 2023\n"},msgstr:["Last-Translator: Rico , 2023\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Nog {seconds} seconden"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{seconds} over"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Nog een paar seconden"]},Add:{msgid:"Add",msgstr:["Voeg toe"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Uploads annuleren"]},"estimating time left":{msgid:"estimating time left",msgstr:["Schatting van de resterende tijd"]},paused:{msgid:"paused",msgstr:["Gepauzeerd"]},"Upload files":{msgid:"Upload files",msgstr:["Upload bestanden"]}}}}},{locale:"nn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nn_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"oc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)","Content-Type":"text/plain; charset=UTF-8",Language:"oc","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pl",json:{charset:"utf-8",headers:{"Last-Translator":"Valdnet, 2024","Language-Team":"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)","Content-Type":"text/plain; charset=UTF-8",Language:"pl","Plural-Forms":"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nM H , 2023\nValdnet, 2024\n"},msgstr:["Last-Translator: Valdnet, 2024\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["konflikt 1 pliku","{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} konfliktowy plik w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Pozostało {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Pozostało {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Pozostało kilka sekund"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anuluj wysyłanie"]},Continue:{msgid:"Continue",msgstr:["Kontynuuj"]},"estimating time left":{msgid:"estimating time left",msgstr:["Szacowanie pozostałego czasu"]},"Existing version":{msgid:"Existing version",msgstr:["Istniejąca wersja"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jeżeli wybierzesz obie wersje to do nazw skopiowanych plików zostanie dodany numer"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Nieznana data ostatniej modyfikacji"]},New:{msgid:"New",msgstr:["Nowy"]},"New version":{msgid:"New version",msgstr:["Nowa wersja"]},paused:{msgid:"paused",msgstr:["Wstrzymane"]},"Preview image":{msgid:"Preview image",msgstr:["Podgląd obrazu"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Zaznacz wszystkie boxy"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Zaznacz wszystkie istniejące pliki"]},"Select all new files":{msgid:"Select all new files",msgstr:["Zaznacz wszystkie nowe pliki"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Pomiń 1 plik","Pomiń {count} plików","Pomiń {count} plików","Pomiń {count} plików"]},"Unknown size":{msgid:"Unknown size",msgstr:["Nieznany rozmiar"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Anulowano wysyłanie"]},"Upload files":{msgid:"Upload files",msgstr:["Wyślij pliki"]},"Upload progress":{msgid:"Upload progress",msgstr:["Postęp wysyłania"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Które pliki chcesz zachować"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku."]}}}}},{locale:"ps",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)","Content-Type":"text/plain; charset=UTF-8",Language:"ps","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ps\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pt_BR",json:{charset:"utf-8",headers:{"Last-Translator":"Leonardo Colman Lopes , 2024","Language-Team":"Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_BR","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nLeonardo Colman Lopes , 2024\n"},msgstr:["Last-Translator: Leonardo Colman Lopes , 2024\nLanguage-Team: Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} arquivos em conflito","{count} arquivos em conflito","{count} arquivos em conflito"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} conflitos de arquivo em {dirname}","{count} conflitos de arquivo em {dirname}","{count} conflitos de arquivo em {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alguns segundos restantes"]},Cancel:{msgid:"Cancel",msgstr:["Cancelar"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Cancelar a operação inteira"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar uploads"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tempo restante"]},"Existing version":{msgid:"Existing version",msgstr:["Versão existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se você selecionar ambas as versões, o arquivo copiado terá um número adicionado ao seu nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Data da última modificação desconhecida"]},New:{msgid:"New",msgstr:["Novo"]},"New version":{msgid:"New version",msgstr:["Nova versão"]},paused:{msgid:"paused",msgstr:["pausado"]},"Preview image":{msgid:"Preview image",msgstr:["Visualizar imagem"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marque todas as caixas de seleção"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Selecione todos os arquivos existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Selecione todos os novos arquivos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Ignorar {count} arquivos","Ignorar {count} arquivos","Ignorar {count} arquivos"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamanho desconhecido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envio cancelado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar arquivos"]},"Upload progress":{msgid:"Upload progress",msgstr:["Envio em progresso"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Quando uma pasta é selecionada, quaisquer arquivos dentro dela também serão sobrescritos."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quais arquivos você deseja manter?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Você precisa selecionar pelo menos uma versão de cada arquivo para continuar."]}}}}},{locale:"pt_PT",json:{charset:"utf-8",headers:{"Last-Translator":"Manuela Silva , 2022","Language-Team":"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_PT","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nManuela Silva , 2022\n"},msgstr:["Last-Translator: Manuela Silva , 2022\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltam {seconds} segundo(s)"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["faltam {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltam uns segundos"]},Add:{msgid:"Add",msgstr:["Adicionar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envios"]},"estimating time left":{msgid:"estimating time left",msgstr:["tempo em falta estimado"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]}}}}},{locale:"ro",json:{charset:"utf-8",headers:{"Last-Translator":"Mădălin Vasiliu , 2022","Language-Team":"Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)","Content-Type":"text/plain; charset=UTF-8",Language:"ro","Plural-Forms":"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMădălin Vasiliu , 2022\n"},msgstr:["Last-Translator: Mădălin Vasiliu , 2022\nLanguage-Team: Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ro\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secunde rămase"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} rămas"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["câteva secunde rămase"]},Add:{msgid:"Add",msgstr:["Adaugă"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anulați încărcările"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimarea timpului rămas"]},paused:{msgid:"paused",msgstr:["pus pe pauză"]},"Upload files":{msgid:"Upload files",msgstr:["Încarcă fișiere"]}}}}},{locale:"ru",json:{charset:"utf-8",headers:{"Last-Translator":"Александр, 2023","Language-Team":"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMax Smith , 2023\nАлександр, 2023\n"},msgstr:["Last-Translator: Александр, 2023\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["конфликт {count} файла","конфликт {count} файлов","конфликт {count} файлов","конфликт {count} файлов"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["конфликт {count} файла в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["осталось {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["осталось {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["осталось несколько секунд"]},Add:{msgid:"Add",msgstr:["Добавить"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Отменить загрузки"]},Continue:{msgid:"Continue",msgstr:["Продолжить"]},"estimating time left":{msgid:"estimating time left",msgstr:["оценка оставшегося времени"]},"Existing version":{msgid:"Existing version",msgstr:["Текущая версия"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Если вы выберете обе версии, к имени скопированного файла будет добавлен номер."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата последнего изменения неизвестна"]},"New version":{msgid:"New version",msgstr:["Новая версия"]},paused:{msgid:"paused",msgstr:["приостановлено"]},"Preview image":{msgid:"Preview image",msgstr:["Предварительный просмотр"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Установить все флажки"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Выбрать все существующие файлы"]},"Select all new files":{msgid:"Select all new files",msgstr:["Выбрать все новые файлы"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустить файл","Пропустить {count} файла","Пропустить {count} файлов","Пропустить {count} файлов"]},"Unknown size":{msgid:"Unknown size",msgstr:["Неизвестный размер"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Загрузка отменена"]},"Upload files":{msgid:"Upload files",msgstr:["Загрузка файлов"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Какие файлы вы хотите сохранить?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продолжения вам нужно выбрать по крайней мере одну версию каждого файла."]}}}}},{locale:"ru_RU",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru_RU","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru_RU\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)","Content-Type":"text/plain; charset=UTF-8",Language:"sc","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sc\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)","Content-Type":"text/plain; charset=UTF-8",Language:"si","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"si_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sk_SK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)","Content-Type":"text/plain; charset=UTF-8",Language:"sk_SK","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sl",json:{charset:"utf-8",headers:{"Last-Translator":"Matej Urbančič <>, 2022","Language-Team":"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatej Urbančič <>, 2022\n"},msgstr:["Last-Translator: Matej Urbančič <>, 2022\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["še {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["še {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["še nekaj sekund"]},Add:{msgid:"Add",msgstr:["Dodaj"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Prekliči pošiljanje"]},"estimating time left":{msgid:"estimating time left",msgstr:["ocenjen čas do konca"]},paused:{msgid:"paused",msgstr:["v premoru"]},"Upload files":{msgid:"Upload files",msgstr:["Pošlji datoteke"]}}}}},{locale:"sl_SI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl_SI","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl_SI\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sq",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)","Content-Type":"text/plain; charset=UTF-8",Language:"sq","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sq\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sr",json:{charset:"utf-8",headers:{"Last-Translator":"Иван Пешић, 2023","Language-Team":"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nИван Пешић, 2023\n"},msgstr:["Last-Translator: Иван Пешић, 2023\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} фајл конфликт","{count} фајл конфликта","{count} фајл конфликта"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} фајл конфликт у {dirname}","{count} фајл конфликта у {dirname}","{count} фајл конфликта у {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостало је {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} преостало"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["преостало је неколико секунди"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Обустави отпремања"]},Continue:{msgid:"Continue",msgstr:["Настави"]},"estimating time left":{msgid:"estimating time left",msgstr:["процена преосталог времена"]},"Existing version":{msgid:"Existing version",msgstr:["Постојећа верзија"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ако изаберете обе верзије, на име копираног фајла ће се додати број."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Није познат датум последње измене"]},New:{msgid:"New",msgstr:["Ново"]},"New version":{msgid:"New version",msgstr:["Нова верзија"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Preview image":{msgid:"Preview image",msgstr:["Слика прегледа"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Штиклирај сва поља за штиклирање"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Изабери све постојеће фајлове"]},"Select all new files":{msgid:"Select all new files",msgstr:["Изабери све нове фајлове"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Прескочи овај фајл","Прескочи {count} фајла","Прескочи {count} фајлова"]},"Unknown size":{msgid:"Unknown size",msgstr:["Непозната величина"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Отпремање је отказано"]},"Upload files":{msgid:"Upload files",msgstr:["Отпреми фајлове"]},"Upload progress":{msgid:"Upload progress",msgstr:["Напредак отпремања"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Које фајлове желите да задржите?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Морате да изаберете барем једну верзију сваког фајла да наставите."]}}}}},{locale:"sr@latin",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr@latin","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr@latin\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sv",json:{charset:"utf-8",headers:{"Last-Translator":"Magnus Höglund, 2024","Language-Team":"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)","Content-Type":"text/plain; charset=UTF-8",Language:"sv","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMagnus Höglund, 2024\n"},msgstr:["Last-Translator: Magnus Höglund, 2024\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} filkonflikt","{count} filkonflikter"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} filkonflikt i {dirname}","{count} filkonflikter i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder kvarstår"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kvarstår"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["några sekunder kvar"]},Cancel:{msgid:"Cancel",msgstr:["Avbryt"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Avbryt hela operationen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt uppladdningar"]},Continue:{msgid:"Continue",msgstr:["Fortsätt"]},"estimating time left":{msgid:"estimating time left",msgstr:["uppskattar kvarstående tid"]},"Existing version":{msgid:"Existing version",msgstr:["Nuvarande version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Om du väljer båda versionerna kommer den kopierade filen att få ett nummer tillagt i namnet."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Senaste ändringsdatum okänt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pausad"]},"Preview image":{msgid:"Preview image",msgstr:["Förhandsgranska bild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Markera alla kryssrutor"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Välj alla befintliga filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Välj alla nya filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Hoppa över denna fil","Hoppa över {count} filer"]},"Unknown size":{msgid:"Unknown size",msgstr:["Okänd storlek"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Uppladdningen avbröts"]},"Upload files":{msgid:"Upload files",msgstr:["Ladda upp filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Uppladdningsförlopp"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["När en inkommande mapp väljs skrivs även alla konfliktande filer i den över."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Vilka filer vill du behålla?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du måste välja minst en version av varje fil för att fortsätta."]}}}}},{locale:"sw",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)","Content-Type":"text/plain; charset=UTF-8",Language:"sw","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sw\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Thai (https://www.transifex.com/nextcloud/teams/64236/th/)","Content-Type":"text/plain; charset=UTF-8",Language:"th","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Thai (https://www.transifex.com/nextcloud/teams/64236/th/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th_TH",json:{charset:"utf-8",headers:{"Last-Translator":"Phongpanot Phairat , 2022","Language-Team":"Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)","Content-Type":"text/plain; charset=UTF-8",Language:"th_TH","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhongpanot Phairat , 2022\n"},msgstr:["Last-Translator: Phongpanot Phairat , 2022\nLanguage-Team: Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th_TH\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["เหลืออีก {seconds} วินาที"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["เหลืออีก {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["เหลืออีกไม่กี่วินาที"]},Add:{msgid:"Add",msgstr:["เพิ่ม"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["ยกเลิกการอัปโหลด"]},"estimating time left":{msgid:"estimating time left",msgstr:["กำลังคำนวณเวลาที่เหลือ"]},paused:{msgid:"paused",msgstr:["หยุดชั่วคราว"]},"Upload files":{msgid:"Upload files",msgstr:["อัปโหลดไฟล์"]}}}}},{locale:"tk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)","Content-Type":"text/plain; charset=UTF-8",Language:"tk","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tk\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"tr",json:{charset:"utf-8",headers:{"Last-Translator":"Kaya Zeren , 2024","Language-Team":"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)","Content-Type":"text/plain; charset=UTF-8",Language:"tr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nKaya Zeren , 2024\n"},msgstr:["Last-Translator: Kaya Zeren , 2024\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} dosya çakışması var","{count} dosya çakışması var"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} klasöründe {count} dosya çakışması var","{dirname} klasöründe {count} dosya çakışması var"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniye kaldı"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kaldı"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir kaç saniye kaldı"]},Cancel:{msgid:"Cancel",msgstr:["İptal"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Tüm işlemi iptal et"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yüklemeleri iptal et"]},Continue:{msgid:"Continue",msgstr:["İlerle"]},"estimating time left":{msgid:"estimating time left",msgstr:["öngörülen kalan süre"]},"Existing version":{msgid:"Existing version",msgstr:["Var olan sürüm"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["İki sürümü de seçerseniz, kopyalanan dosyanın adına bir sayı eklenir."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Son değiştirilme tarihi bilinmiyor"]},New:{msgid:"New",msgstr:["Yeni"]},"New version":{msgid:"New version",msgstr:["Yeni sürüm"]},paused:{msgid:"paused",msgstr:["duraklatıldı"]},"Preview image":{msgid:"Preview image",msgstr:["Görsel ön izlemesi"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Tüm kutuları işaretle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Tüm var olan dosyaları seç"]},"Select all new files":{msgid:"Select all new files",msgstr:["Tüm yeni dosyaları seç"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Bu dosyayı atla","{count} dosyayı atla"]},"Unknown size":{msgid:"Unknown size",msgstr:["Boyut bilinmiyor"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Yükleme iptal edildi"]},"Upload files":{msgid:"Upload files",msgstr:["Dosyaları yükle"]},"Upload progress":{msgid:"Upload progress",msgstr:["Yükleme ilerlemesi"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hangi dosyaları tutmak istiyorsunuz?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["İlerlemek için her dosyanın en az bir sürümünü seçmelisiniz."]}}}}},{locale:"ug",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)","Content-Type":"text/plain; charset=UTF-8",Language:"ug","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ug\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uk",json:{charset:"utf-8",headers:{"Last-Translator":"O St , 2024","Language-Team":"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)","Content-Type":"text/plain; charset=UTF-8",Language:"uk","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nO St , 2024\n"},msgstr:["Last-Translator: O St , 2024\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} конфліктний файл","{count} конфліктних файли","{count} конфліктних файлів","{count} конфліктних файлів"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} конфліктний файл у каталозі {dirname}","{count} конфліктних файли у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Залишилося {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Залишилося {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["залишилося кілька секунд"]},Cancel:{msgid:"Cancel",msgstr:["Скасувати"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Скасувати операцію повністю"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Скасувати завантаження"]},Continue:{msgid:"Continue",msgstr:["Продовжити"]},"estimating time left":{msgid:"estimating time left",msgstr:["оцінка часу, що залишився"]},"Existing version":{msgid:"Existing version",msgstr:["Присутня версія"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Якщо ви виберете обидві версії, то буде створено копію файлу, до назви якої буде додано цифру."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата останньої зміни невідома"]},New:{msgid:"New",msgstr:["Нове"]},"New version":{msgid:"New version",msgstr:["Нова версія"]},paused:{msgid:"paused",msgstr:["призупинено"]},"Preview image":{msgid:"Preview image",msgstr:["Попередній перегляд"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Вибрати все"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Вибрати усі присутні файли"]},"Select all new files":{msgid:"Select all new files",msgstr:["Вибрати усі нові файли"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустити файл","Пропустити {count} файли","Пропустити {count} файлів","Пропустити {count} файлів"]},"Unknown size":{msgid:"Unknown size",msgstr:["Невідомий розмір"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Завантаження скасовано"]},"Upload files":{msgid:"Upload files",msgstr:["Завантажити файли"]},"Upload progress":{msgid:"Upload progress",msgstr:["Поступ завантаження"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Усі конфліктні файли у вибраному каталозі призначення буде перезаписано поверх."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Які файли залишити?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продовження потрібно вибрати принаймні одну версію для кожного файлу."]}}}}},{locale:"ur_PK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ur_PK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ur_PK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uz",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)","Content-Type":"text/plain; charset=UTF-8",Language:"uz","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uz\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"vi",json:{charset:"utf-8",headers:{"Last-Translator":"Tung DangQuang, 2023","Language-Team":"Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)","Content-Type":"text/plain; charset=UTF-8",Language:"vi","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nTung DangQuang, 2023\n"},msgstr:["Last-Translator: Tung DangQuang, 2023\nLanguage-Team: Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: vi\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Tập tin xung đột"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} tập tin lỗi trong {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Còn {second} giây"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Còn lại {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Còn lại một vài giây"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Huỷ tải lên"]},Continue:{msgid:"Continue",msgstr:["Tiếp Tục"]},"estimating time left":{msgid:"estimating time left",msgstr:["Thời gian còn lại dự kiến"]},"Existing version":{msgid:"Existing version",msgstr:["Phiên Bản Hiện Tại"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Nếu bạn chọn cả hai phiên bản, tệp được sao chép sẽ có thêm một số vào tên của nó."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Ngày sửa dổi lần cuối không xác định"]},New:{msgid:"New",msgstr:["Tạo Mới"]},"New version":{msgid:"New version",msgstr:["Phiên Bản Mới"]},paused:{msgid:"paused",msgstr:["đã tạm dừng"]},"Preview image":{msgid:"Preview image",msgstr:["Xem Trước Ảnh"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Chọn tất cả hộp checkbox"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Chọn tất cả các tập tin có sẵn"]},"Select all new files":{msgid:"Select all new files",msgstr:["Chọn tất cả các tập tin mới"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Bỏ Qua {count} tập tin"]},"Unknown size":{msgid:"Unknown size",msgstr:["Không rõ dung lượng"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Dừng Tải Lên"]},"Upload files":{msgid:"Upload files",msgstr:["Tập tin tải lên"]},"Upload progress":{msgid:"Upload progress",msgstr:["Đang Tải Lên"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Bạn muốn giữ tập tin nào?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Bạn cần chọn ít nhất một phiên bản tập tin mới có thể tiếp tục"]}}}}},{locale:"zh_CN",json:{charset:"utf-8",headers:{"Last-Translator":"Hongbo Chen, 2023","Language-Team":"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_CN","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nHongbo Chen, 2023\n"},msgstr:["Last-Translator: Hongbo Chen, 2023\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count}文件冲突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["在{dirname}目录下有{count}个文件冲突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩余 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩余 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["还剩几秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上传"]},Continue:{msgid:"Continue",msgstr:["继续"]},"estimating time left":{msgid:"estimating time left",msgstr:["估计剩余时间"]},"Existing version":{msgid:"Existing version",msgstr:["版本已存在"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["如果选择所有的版本,新增版本的文件名为原文件名加数字"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["文件最后修改日期未知"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暂停"]},"Preview image":{msgid:"Preview image",msgstr:["图片预览"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["选择所有的选择框"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["选择所有存在的文件"]},"Select all new files":{msgid:"Select all new files",msgstr:["选择所有的新文件"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["跳过{count}个文件"]},"Unknown size":{msgid:"Unknown size",msgstr:["文件大小未知"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["取消上传"]},"Upload files":{msgid:"Upload files",msgstr:["上传文件"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["你要保留哪些文件?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["每个文件至少选择一个版本"]}}}}},{locale:"zh_HK",json:{charset:"utf-8",headers:{"Last-Translator":"Café Tango, 2023","Language-Team":"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_HK","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nCafé Tango, 2023\n"},msgstr:["Last-Translator: Café Tango, 2023\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期不詳"]},"New version":{msgid:"New version",msgstr:["新版本 "]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 個檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["大小不詳"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}},{locale:"zh_TW",json:{charset:"utf-8",headers:{"Last-Translator":"黃柏諺 , 2024","Language-Team":"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_TW","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\n黃柏諺 , 2024\n"},msgstr:["Last-Translator: 黃柏諺 , 2024\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Cancel:{msgid:"Cancel",msgstr:["取消"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["取消整個操作"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期未知"]},New:{msgid:"New",msgstr:["新增"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["未知大小"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Upload progress":{msgid:"Upload progress",msgstr:["上傳進度"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["選取傳入資料夾後,其中任何的衝突檔案都會被覆寫。"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}}].map((e=>te.addTranslation(e.locale,e.json)));const ne=te.build(),ae=ne.ngettext.bind(ne),ie=ne.gettext.bind(ne),le=j.Ay.extend({name:"UploadPicker",components:{Cancel:X,NcActionButton:I.A,NcActions:O.A,NcButton:M.A,NcIconSvgWrapper:R.A,NcProgressBar:D.A,Plus:ee,Upload:se},props:{accept:{type:Array,default:null},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},destination:{type:x.vd,default:void 0},content:{type:Array,default:()=>[]},forbiddenCharacters:{type:Array,default:()=>[]}},data:()=>({addLabel:ie("New"),cancelLabel:ie("Cancel uploads"),uploadLabel:ie("Upload files"),progressLabel:ie("Upload progress"),progressTimeId:`nc-uploader-progress-${Math.random().toString(36).slice(7)}`,eta:null,timeLeft:"",newFileMenuEntries:[],uploadManager:oe()}),computed:{totalQueueSize(){return this.uploadManager.info?.size||0},uploadedQueueSize(){return this.uploadManager.info?.progress||0},progress(){return Math.round(this.uploadedQueueSize/this.totalQueueSize*100)||0},queue(){return this.uploadManager.queue},hasFailure(){return 0!==this.queue?.filter((e=>e.status===Y.FAILED)).length},isUploading(){return this.queue?.length>0},isAssembling(){return 0!==this.queue?.filter((e=>e.status===Y.ASSEMBLING)).length},isPaused(){return this.uploadManager.info?.status===J.PAUSED},buttonName(){if(!this.isUploading)return this.addLabel}},watch:{destination(e){this.setDestination(e)},totalQueueSize(e){this.eta=z({min:0,max:e}),this.updateStatus()},uploadedQueueSize(e){this.eta?.report?.(e),this.updateStatus()},isPaused(e){e?this.$emit("paused",this.queue):this.$emit("resumed",this.queue)}},beforeMount(){this.destination&&this.setDestination(this.destination),this.uploadManager.addNotifier(this.onUploadCompletion),K.debug("UploadPicker initialised")},methods:{onClick(){this.$refs.input.click()},async onPick(){let e=[...this.$refs.input.files];if(de(e,this.content)){const s=e.filter((e=>this.content.find((s=>s.basename===e.name)))).filter(Boolean),t=e.filter((e=>!s.includes(e)));try{const{selected:n,renamed:a}=await me(this.destination.basename,s,this.content);e=[...t,...n,...a]}catch{return void(0,E.Qg)(ie("Upload cancelled"))}}e.forEach((e=>{const s=(this.forbiddenCharacters||[]).find((s=>e.name.includes(s)));s?(0,E.Qg)(ie(`"${s}" is not allowed inside a file name.`)):this.uploadManager.upload(e.name,e).catch((()=>{}))})),this.$refs.form.reset()},onCancel(){this.uploadManager.queue.forEach((e=>{e.cancel()})),this.$refs.form.reset()},updateStatus(){if(this.isPaused)return void(this.timeLeft=ie("paused"));const e=Math.round(this.eta.estimate());if(e!==1/0)if(e<10)this.timeLeft=ie("a few seconds left");else if(e>60){const s=new Date(0);s.setSeconds(e);const t=s.toISOString().slice(11,19);this.timeLeft=ie("{time} left",{time:t})}else this.timeLeft=ie("{seconds} seconds left",{seconds:e});else this.timeLeft=ie("estimating time left")},setDestination(e){this.destination?(this.uploadManager.destination=e,this.newFileMenuEntries=(0,x.m1)(e)):K.debug("Invalid destination")},onUploadCompletion(e){e.status===Y.FAILED?this.$emit("failed",e):this.$emit("uploaded",e)}}});Z(le,(function(){var e=this,s=e._self._c;return e._self._setupProxy,e.destination?s("form",{ref:"form",staticClass:"upload-picker",class:{"upload-picker--uploading":e.isUploading,"upload-picker--paused":e.isPaused},attrs:{"data-cy-upload-picker":""}},[e.newFileMenuEntries&&0===e.newFileMenuEntries.length?s("NcButton",{attrs:{disabled:e.disabled,"data-cy-upload-picker-add":"",type:"secondary"},on:{click:e.onClick},scopedSlots:e._u([{key:"icon",fn:function(){return[s("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[e._v(" "+e._s(e.buttonName)+" ")]):s("NcActions",{attrs:{"menu-name":e.buttonName,"menu-title":e.addLabel,type:"secondary"},scopedSlots:e._u([{key:"icon",fn:function(){return[s("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[s("NcActionButton",{attrs:{"data-cy-upload-picker-add":"","close-after-click":!0},on:{click:e.onClick},scopedSlots:e._u([{key:"icon",fn:function(){return[s("Upload",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,3606034491)},[e._v(" "+e._s(e.uploadLabel)+" ")]),e._l(e.newFileMenuEntries,(function(t){return s("NcActionButton",{key:t.id,staticClass:"upload-picker__menu-entry",attrs:{icon:t.iconClass,"close-after-click":!0},on:{click:function(s){return t.handler(e.destination,e.content)}},scopedSlots:e._u([t.iconSvgInline?{key:"icon",fn:function(){return[s("NcIconSvgWrapper",{attrs:{svg:t.iconSvgInline}})]},proxy:!0}:null],null,!0)},[e._v(" "+e._s(t.displayName)+" ")])}))],2),s("div",{directives:[{name:"show",rawName:"v-show",value:e.isUploading,expression:"isUploading"}],staticClass:"upload-picker__progress"},[s("NcProgressBar",{attrs:{"aria-label":e.progressLabel,"aria-describedby":e.progressTimeId,error:e.hasFailure,value:e.progress,size:"medium"}}),s("p",{attrs:{id:e.progressTimeId}},[e._v(" "+e._s(e.timeLeft)+" ")])],1),e.isUploading?s("NcButton",{staticClass:"upload-picker__cancel",attrs:{type:"tertiary","aria-label":e.cancelLabel,"data-cy-upload-picker-cancel":""},on:{click:e.onCancel},scopedSlots:e._u([{key:"icon",fn:function(){return[s("Cancel",{attrs:{title:"",size:20}})]},proxy:!0}],null,!1,4076886712)}):e._e(),s("input",{directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}],ref:"input",attrs:{type:"file",accept:e.accept?.join?.(", "),multiple:e.multiple,"data-cy-upload-picker-input":""},on:{change:e.onPick}})],1):e._e()}),[],!1,null,"eca9500a",null,null).exports;let re=null;function oe(){const e=null!==document.querySelector('input[name="isPublic"][value="1"]');return re instanceof Q||(re=new Q(e)),re}async function me(e,s,n){const a=(0,j.$V)((()=>Promise.all([t.e(4208),t.e(6075)]).then(t.bind(t,56075))));return new Promise(((t,i)=>{const l=new j.Ay({name:"ConflictPickerRoot",render:r=>r(a,{props:{dirname:e,conflicts:s,content:n},on:{submit(e){t(e),l.$destroy(),l.$el?.parentNode?.removeChild(l.$el)},cancel(e){i(e??new Error("Canceled")),l.$destroy(),l.$el?.parentNode?.removeChild(l.$el)}}})});l.$mount(),document.body.appendChild(l.$el)}))}function de(e,s){const t=s.map((e=>e.basename));return e.filter((e=>{const s=e instanceof File?e.name:e.basename;return-1!==t.indexOf(s)})).length>0}},53110:(e,s,t)=>{"use strict";t.d(s,{k3:()=>l,pe:()=>i});var n=t(28893);const{Axios:a,AxiosError:i,CanceledError:l,isCancel:r,CancelToken:o,VERSION:m,all:d,Cancel:u,isAxiosError:g,spread:c,toFormData:f,AxiosHeaders:p,HttpStatusCode:h,formToJSON:w,getAdapter:T,mergeConfig:x}=n.A}},a={};function i(e){var s=a[e];if(void 0!==s)return s.exports;var t=a[e]={id:e,loaded:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.loaded=!0,t.exports}i.m=n,e=[],i.O=(s,t,n,a)=>{if(!t){var l=1/0;for(d=0;d=a)&&Object.keys(i.O).every((e=>i.O[e](t[o])))?t.splice(o--,1):(r=!1,a0&&e[d-1][2]>a;d--)e[d]=e[d-1];e[d]=[t,n,a]},i.n=e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return i.d(s,{a:s}),s},i.d=(e,s)=>{for(var t in s)i.o(s,t)&&!i.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:s[t]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((s,t)=>(i.f[t](e,s),s)),[])),i.u=e=>e+"-"+e+".js?v="+{4065:"9661e9d1e1b32699b74a",4254:"96661b9f421b07ce7189",6075:"d640b65b03c7259e0129",9558:"8c4576358f0dfcd0dc8e"}[e],i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,s)=>Object.prototype.hasOwnProperty.call(e,s),s={},t="nextcloud:",i.l=(e,n,a,l)=>{if(s[e])s[e].push(n);else{var r,o;if(void 0!==a)for(var m=document.getElementsByTagName("script"),d=0;d{r.onerror=r.onload=null,clearTimeout(c);var a=s[e];if(delete s[e],r.parentNode&&r.parentNode.removeChild(r),a&&a.forEach((e=>e(n))),t)return t(n)},c=setTimeout(g.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=g.bind(null,r.onerror),r.onload=g.bind(null,r.onload),o&&document.head.appendChild(r)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i.j=1171,(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var s=i.g.document;if(!e&&s&&(s.currentScript&&(e=s.currentScript.src),!e)){var t=s.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{i.b=document.baseURI||self.location.href;var e={1171:0};i.f.j=(s,t)=>{var n=i.o(e,s)?e[s]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,a)=>n=e[s]=[t,a]));t.push(n[2]=a);var l=i.p+i.u(s),r=new Error;i.l(l,(t=>{if(i.o(e,s)&&(0!==(n=e[s])&&(e[s]=void 0),n)){var a=t&&("load"===t.type?"missing":t.type),l=t&&t.target&&t.target.src;r.message="Loading chunk "+s+" failed.\n("+a+": "+l+")",r.name="ChunkLoadError",r.type=a,r.request=l,n[1](r)}}),"chunk-"+s,s)}},i.O.j=s=>0===e[s];var s=(s,t)=>{var n,a,l=t[0],r=t[1],o=t[2],m=0;if(l.some((s=>0!==e[s]))){for(n in r)i.o(r,n)&&(i.m[n]=r[n]);if(o)var d=o(i)}for(s&&s(t);mi(94979)));l=i.O(l)})(); -//# sourceMappingURL=files-init.js.map?v=3c26ab3639ad850b3daa \ No newline at end of file +(()=>{var e,s,t,n={9052:e=>{"use strict";var s=Object.prototype.hasOwnProperty,t="~";function n(){}function a(e,s,t){this.fn=e,this.context=s,this.once=t||!1}function i(e,s,n,i,l){if("function"!=typeof n)throw new TypeError("The listener must be a function");var r=new a(n,i||e,l),o=t?t+s:s;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],r]:e._events[o].push(r):(e._events[o]=r,e._eventsCount++),e}function l(e,s){0==--e._eventsCount?e._events=new n:delete e._events[s]}function r(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(t=!1)),r.prototype.eventNames=function(){var e,n,a=[];if(0===this._eventsCount)return a;for(n in e=this._events)s.call(e,n)&&a.push(t?n.slice(1):n);return Object.getOwnPropertySymbols?a.concat(Object.getOwnPropertySymbols(e)):a},r.prototype.listeners=function(e){var s=t?t+e:e,n=this._events[s];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,i=n.length,l=new Array(i);a{"use strict";t.d(s,{A:()=>n});const n=(0,t(53529).YK)().setApp("files").detectUser().build()},34707:(e,s,t)=>{"use strict";var n=t(53127),a=t(61338),i=t(85168),l=t(53334),r=t(26287),o=t(76150),m=t(49264);const d=e=>e.every((e=>!0===e.attributes["is-mount-root"]&&"shared"===e.attributes["mount-type"])),u=e=>e.every((e=>!0===e.attributes["is-mount-root"]&&"external"===e.attributes["mount-type"])),g=(e,s)=>"trashbin"===s.id?(0,l.Tl)("files","Delete permanently"):(e=>{if(1===e.length)return!1;const s=e.some((e=>d([e]))),t=e.some((e=>!d([e])));return s&&t})(e)?(0,l.Tl)("files","Delete and unshare"):d(e)?1===e.length?(0,l.Tl)("files","Leave this share"):(0,l.Tl)("files","Leave these shares"):u(e)?1===e.length?(0,l.Tl)("files","Disconnect storage"):(0,l.Tl)("files","Disconnect storages"):(e=>!e.some((e=>e.type!==n.pt.File)))(e)?1===e.length?(0,l.Tl)("files","Delete file"):(0,l.Tl)("files","Delete files"):(e=>!e.some((e=>e.type!==n.pt.Folder)))(e)?1===e.length?(0,l.Tl)("files","Delete folder"):(0,l.Tl)("files","Delete folders"):(0,l.Tl)("files","Delete"),c=new m.A({concurrency:5}),f=new n.hY({id:"delete",displayName:g,iconSvgInline:e=>d(e)?'':u(e)?'':'',enabled:e=>e.length>0&&e.map((e=>e.permissions)).every((e=>0!=(e&n.aX.DELETE))),async exec(e,s,t){try{return await r.A.delete(e.encodedSource),(0,a.Ic)("files:node:deleted",e),!0}catch(s){return o.A.error("Error while deleting a file",{error:s,source:e.source,node:e}),!1}},async execBatch(e,s,t){if(!1===await new Promise((t=>{e.length>=5&&!d(e)&&!u(e)?window.OC.dialogs.confirmDestructive((0,l.Tl)("files","You are about to delete {count} items.",{count:e.length}),(0,l.Tl)("files","Confirm deletion"),{type:window.OC.dialogs.YES_NO_BUTTONS,confirm:g(e,s),confirmClasses:"error",cancel:(0,l.Tl)("files","Cancel")},(e=>{t(e)})):t(!0)})))return(0,i.cf)((0,l.Tl)("files","Deletion cancelled")),Promise.all(e.map((()=>!1)));const n=e.map((e=>new Promise((n=>{c.add((async()=>{const a=await this.exec(e,s,t);n(null!==a&&a)}))}))));return Promise.all(n)},order:100});var p=t(63814);const h=function(e){const s=document.createElement("a");s.download="",s.href=e,s.click()},w=function(e,s){const t=Math.random().toString(36).substring(2),n=(0,p.Jv)("/apps/files/ajax/download.php?dir={dir}&files={files}&downloadStartSecret={secret}",{dir:e,secret:t,files:JSON.stringify(s.map((e=>e.basename)))});h(n)},T=function(e){if(0==(e.permissions&n.aX.READ))return!1;if("shared"===e.attributes["mount-type"]){var s,t;const n=JSON.parse(null!==(s=e.attributes["share-attributes"])&&void 0!==s?s:"null"),a=null==n||null===(t=n.find)||void 0===t?void 0:t.call(n,(e=>"permissions"===e.scope&&"download"===e.key));if(void 0!==a&&!1===a.enabled)return!1}return!0},x=new n.hY({id:"download",displayName:()=>(0,l.Tl)("files","Download"),iconSvgInline:()=>'',enabled:e=>0!==e.length&&(!e.some((e=>e.type===n.pt.Folder))||!e.some((e=>{var s;return!(null!==(s=e.root)&&void 0!==s&&s.startsWith("/files"))})))&&e.every(T),exec:async(e,s,t)=>e.type===n.pt.Folder?(w(t,[e]),null):(h(e.encodedSource),null),async execBatch(e,s,t){return 1===e.length?(this.exec(e[0],s,t),[null]):(w(t,e),new Array(e.length).fill(null))},order:30});var v=t(71089),L=t(21777);const y=new n.hY({id:"edit-locally",displayName:()=>(0,l.Tl)("files","Edit locally"),iconSvgInline:()=>'',enabled:e=>1===e.length&&0!=(e[0].permissions&n.aX.UPDATE),exec:async e=>(async function(e){const s=(0,p.KT)("apps/files/api/v1")+"/openlocaleditor?format=json";try{var t;const n=await r.A.post(s,{path:e}),a=null===(t=(0,L.HW)())||void 0===t?void 0:t.uid;let i="nc://open/".concat(a,"@")+window.location.host+(0,v.O0)(e);i+="?token="+n.data.ocs.data.token,window.location.href=i}catch(e){(0,i.Qg)((0,l.Tl)("files","Failed to redirect to client"))}}(e.path),null),order:25});var C=t(85471);const k='',b=e=>e.some((e=>1!==e.attributes.favorite)),S=async(e,s,t)=>{try{const n=(0,p.Jv)("/apps/files/api/v1/files")+(0,v.O0)(e.path);return await r.A.post(n,{tags:t?[window.OC.TAG_FAVORITE]:[]}),"favorites"!==s.id||t||"/"!==e.dirname||(0,a.Ic)("files:node:deleted",e),C.Ay.set(e.attributes,"favorite",t?1:0),t?(0,a.Ic)("files:favorites:added",e):(0,a.Ic)("files:favorites:removed",e),!0}catch(s){const n=t?"adding a file to favourites":"removing a file from favourites";return o.A.error("Error while "+n,{error:s,source:e.source,node:e}),!1}},A=new n.hY({id:"favorite",displayName:e=>b(e)?(0,l.Tl)("files","Add to favorites"):(0,l.Tl)("files","Remove from favorites"),iconSvgInline:e=>b(e)?'':k,enabled:e=>!e.some((e=>{var s,t;return!(null!==(s=e.root)&&void 0!==s&&null!==(t=s.startsWith)&&void 0!==t&&t.call(s,"/files"))}))&&e.every((e=>e.permissions!==n.aX.NONE)),async exec(e,s){const t=b([e]);return await S(e,s,t)},async execBatch(e,s){const t=b(e);return Promise.all(e.map((async e=>await S(e,s,t))))},order:-50});t(18205);var F=t(53110),U=t(43627),_=t(63642),P=t(36882),N=t(39285);let B;var E;!function(e){e.MOVE="Move",e.COPY="Copy",e.MOVE_OR_COPY="move-or-copy"}(E||(E={}));const z=e=>0!=(e.reduce(((e,s)=>Math.min(e,s.permissions)),n.aX.ALL)&n.aX.UPDATE),j=e=>(e=>e.every((e=>{var s,t;return!JSON.parse(null!==(s=null===(t=e.attributes)||void 0===t?void 0:t["share-attributes"])&&void 0!==s?s:"[]").some((e=>"permissions"===e.scope&&!1===e.enabled&&"download"===e.key))})))(e)&&!e.some((e=>e.permissions===n.aX.NONE));var I,O=t(36117),M=t(44719);const R="/files/".concat(null===(I=(0,L.HW)())||void 0===I?void 0:I.uid),D=(0,p.dC)("dav"+R),H=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:D;const s=(0,M.UU)(e),t=e=>{null==s||s.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:null!=e?e:""})};return(0,L.zo)(t),t((0,L.do)()),(0,M.Gu)().patch("fetch",((e,s)=>{const t=s.headers;return null!=t&&t.method&&(s.method=t.method,delete t.method),fetch(e,s)})),s},V=function(e){let s=0;for(let t=0;t>>0},q=H(),W=function(e){var s;const t=null===(s=(0,L.HW)())||void 0===s?void 0:s.uid;if(!t)throw new Error("No user id found");const a=e.props,i=(0,n.vb)(null==a?void 0:a.permissions),l=String(a["owner-id"]||t),r=(0,p.dC)("dav"+R+e.filename),o={id:(null==a?void 0:a.fileid)<0?V(r):(null==a?void 0:a.fileid)||0,source:r,mtime:new Date(e.lastmod),mime:e.mime||"application/octet-stream",size:(null==a?void 0:a.size)||0,permissions:i,owner:l,root:R,attributes:{...e,...a,"owner-id":l,"owner-display-name":String(a["owner-display-name"]),hasPreview:!(null==a||!a["has-preview"]),failed:(null==a?void 0:a.fileid)<0}};return delete o.attributes.props,"file"===e.type?new n.ZH(o):new n.vd(o)},Y=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";const s=new AbortController,t=(0,n.VL)();return new O.CancelablePromise((async(n,a,i)=>{i((()=>s.abort()));try{const a=await q.getDirectoryContents(e,{details:!0,data:t,includeSelf:!0,signal:s.signal}),i=a.data[0],l=a.data.slice(1);if(i.filename!==e)throw new Error("Root node does not match requested path");n({folder:W(i),contents:l.map((e=>{try{return W(e)}catch(s){return o.A.error("Invalid node detected '".concat(e.basename,"'"),{error:s}),null}})).filter(Boolean)})}catch(e){a(e)}}))},G=e=>z(e)?j(e)?E.MOVE_OR_COPY:E.MOVE:E.COPY,K=async function(e,s,t){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!s)return;if(s.type!==n.pt.Folder)throw new Error((0,l.Tl)("files","Destination is not a folder"));if(t===E.MOVE&&e.dirname===s.path)throw new Error((0,l.Tl)("files","This file/folder is already in that directory"));if("".concat(s.path,"/").startsWith("".concat(e.path,"/")))throw new Error((0,l.Tl)("files","You cannot move a file/folder onto itself or into a subfolder of itself"));C.Ay.set(e,"status",n.zI.LOADING);const d=(B||(B=new m.A({concurrency:5})),B);return await d.add((async()=>{const m=e=>1===e?(0,l.Tl)("files","(copy)"):(0,l.Tl)("files","(copy %n)",void 0,e);try{const o=(0,n.H4)(),d=(0,U.join)(n.lJ,e.path),u=(0,U.join)(n.lJ,s.path);if(t===E.COPY){let t=e.basename;if(!r){const s=await o.getDirectoryContents(u);t=(0,n.E6)(e.basename,s.map((e=>e.basename)),{suffix:m,ignoreFileExtension:e.type===n.pt.Folder})}if(await o.copyFile(d,(0,U.join)(u,t)),e.dirname===s.path){const{data:e}=await o.stat((0,U.join)(u,t),{details:!0,data:(0,n.VL)()});(0,a.Ic)("files:node:created",(0,n.Al)(e))}}else{const t=await Y(s.path);if((0,_.h)([e],t.contents))try{const{selected:n,renamed:a}=await(0,_.o)(s.path,[e],t.contents);if(!n.length&&!a.length)return}catch(e){return void(0,i.Qg)((0,l.Tl)("files","Move cancelled"))}await o.moveFile(d,(0,U.join)(u,e.basename)),(0,a.Ic)("files:node:deleted",e)}}catch(e){if(e instanceof F.pe){var d,u,g;if(412===(null==e||null===(d=e.response)||void 0===d?void 0:d.status))throw new Error((0,l.Tl)("files","A file or folder with that name already exists in this folder"));if(423===(null==e||null===(u=e.response)||void 0===u?void 0:u.status))throw new Error((0,l.Tl)("files","The files are locked"));if(404===(null==e||null===(g=e.response)||void 0===g?void 0:g.status))throw new Error((0,l.Tl)("files","The file does not exist anymore"));if(e.message)throw new Error(e.message)}throw o.A.debug(e),new Error}finally{C.Ay.set(e,"status",void 0)}}))},$=async function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",t=arguments.length>2?arguments[2]:void 0;const n=t.map((e=>e.fileid)).filter(Boolean),a=(0,i.a1)((0,l.Tl)("files","Choose destination")).allowDirectories(!0).setFilter((e=>!n.includes(e.fileid))).setMimeTypeFilter([]).setMultiSelect(!1).startAt(s);return new Promise(((s,n)=>{a.setButtonFactory(((n,a)=>{const i=[],r=(0,U.basename)(a),o=t.map((e=>e.dirname)),m=t.map((e=>e.path));return e!==E.COPY&&e!==E.MOVE_OR_COPY||i.push({label:r?(0,l.Tl)("files","Copy to {target}",{target:r},void 0,{escape:!1,sanitize:!1}):(0,l.Tl)("files","Copy"),type:"primary",icon:P,async callback(e){s({destination:e[0],action:E.COPY})}}),o.includes(a)||m.includes(a)||e!==E.MOVE&&e!==E.MOVE_OR_COPY||i.push({label:r?(0,l.Tl)("files","Move to {target}",{target:r},void 0,{escape:!1,sanitize:!1}):(0,l.Tl)("files","Move"),type:e===E.MOVE?"primary":"secondary",icon:N,async callback(e){s({destination:e[0],action:E.MOVE})}}),i})),a.build().pick().catch((e=>{o.A.debug(e),e instanceof i.vT?n(new Error((0,l.Tl)("files","Cancelled move or copy operation"))):n(new Error((0,l.Tl)("files","Move or copy operation failed")))}))}))},J=new n.hY({id:"move-copy",displayName(e){switch(G(e)){case E.MOVE:return(0,l.Tl)("files","Move");case E.COPY:return(0,l.Tl)("files","Copy");case E.MOVE_OR_COPY:return(0,l.Tl)("files","Move or copy")}},iconSvgInline:()=>N,enabled:e=>!!e.every((e=>{var s;return null===(s=e.root)||void 0===s?void 0:s.startsWith("/files/")}))&&e.length>0&&(z(e)||j(e)),async exec(e,s,t){const n=G([e]);let a;try{a=await $(n,t,[e])}catch(e){return o.A.error(e),!1}try{return await K(e,a.destination,a.action),!0}catch(e){return!!(e instanceof Error&&e.message)&&((0,i.Qg)(e.message),null)}},async execBatch(e,s,t){const n=G(e),a=await $(n,t,e),i=e.map((async e=>{try{return await K(e,a.destination,a.action),!0}catch(s){return o.A.error("Failed to ".concat(a.action," node"),{node:e,error:s}),!1}}));return await Promise.all(i)},order:15}),Q='',Z=new n.hY({id:"open-folder",displayName(e){const s=e[0].attributes.displayname||e[0].basename;return(0,l.Tl)("files","Open folder {displayName}",{displayName:s})},iconSvgInline:()=>Q,enabled(e){if(1!==e.length)return!1;const s=e[0];return!!s.isDavRessource&&s.type===n.pt.Folder&&0!=(s.permissions&n.aX.READ)},exec:async(e,s)=>!(!e||e.type!==n.pt.Folder)&&(window.OCP.Files.Router.goToRoute(null,{view:s.id,fileid:e.fileid},{dir:e.path}),null),default:n.m9.HIDDEN,order:-100}),X=new n.hY({id:"open-in-files-recent",displayName:()=>(0,l.Tl)("files","Open in Files"),iconSvgInline:()=>"",enabled:(e,s)=>"recent"===s.id,async exec(e){let s=e.dirname;return e.type===n.pt.Folder&&(s=s+"/"+e.basename),window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:e.fileid},{dir:s,openfile:"true"}),null},order:-1e3,default:n.m9.HIDDEN}),ee=new n.hY({id:"rename",displayName:()=>(0,l.Tl)("files","Rename"),iconSvgInline:()=>'',enabled:e=>e.length>0&&e.map((e=>e.permissions)).every((e=>0!=(e&n.aX.UPDATE))),exec:async e=>((0,a.Ic)("files:node:rename",e),null),order:10});var se=t(49981);const te=new n.hY({id:"details",displayName:()=>(0,l.Tl)("files","Open details"),iconSvgInline:()=>se,enabled:e=>{var s,t,a;return 1===e.length&&!!e[0]&&!(null===(s=window)||void 0===s||null===(s=s.OCA)||void 0===s||null===(s=s.Files)||void 0===s||!s.Sidebar)&&null!==(t=(null===(a=e[0].root)||void 0===a?void 0:a.startsWith("/files/"))&&e[0].permissions!==n.aX.NONE)&&void 0!==t&&t},async exec(e,s,t){try{return await window.OCA.Files.Sidebar.open(e.path),window.OCP.Files.Router.goToRoute(null,{view:s.id,fileid:e.fileid},{...window.OCP.Files.Router.query,dir:t},!0),null}catch(e){return o.A.error("Error while opening sidebar",{error:e}),!1}},order:-50}),ne=new n.hY({id:"view-in-folder",displayName:()=>(0,l.Tl)("files","View in folder"),iconSvgInline:()=>N,enabled(e,s){if("files"===s.id)return!1;if(1!==e.length)return!1;const t=e[0];return!!t.isDavRessource&&t.permissions!==n.aX.NONE&&t.type===n.pt.File},exec:async e=>!(!e||e.type!==n.pt.File)&&(window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:e.fileid},{dir:e.dirname}),null),order:80});var ae=t(32981),ie=t(54332),le=t(94219),re=t(82182);const oe=(0,ae.C)("files","forbiddenCharacters",[]),me=(0,C.pM)({name:"NewNodeDialog",components:{NcButton:ie.A,NcDialog:le.A,NcTextField:re.A},props:{defaultName:{type:String,default:(0,l.Tl)("files","New folder")},otherNames:{type:Array,default:()=>[]},open:{type:Boolean,default:!0},name:{type:String,default:(0,l.Tl)("files","Create new folder")},label:{type:String,default:(0,l.Tl)("files","Folder name")}},emits:{close:e=>null===e||e},data(){return{localDefaultName:this.defaultName||(0,l.Tl)("files","New folder")}},computed:{errorMessage(){return this.isUniqueName?"":(0,l.Tl)("files","A file or folder with that name already exists.")},uniqueName(){return(0,n.E6)(this.localDefaultName,this.otherNames)},isUniqueName(){return this.localDefaultName===this.uniqueName}},watch:{defaultName(){this.localDefaultName=this.defaultName||(0,l.Tl)("files","New folder")},open(){this.$nextTick((()=>this.focusInput()))}},mounted(){this.localDefaultName=this.uniqueName,this.$nextTick((()=>this.focusInput()))},methods:{t:l.Tl,focusInput(){this.open&&this.$nextTick((()=>{var e,s;return null===(e=this.$refs.input)||void 0===e||null===(s=e.focus)||void 0===s?void 0:s.call(e)}))},onCreate(){this.$emit("close",this.localDefaultName)},onClose(e){e||this.$emit("close",null)},checkInputValidity(e){var s,t;const n=e.target,a=(null===(s=(t=this.localDefaultName).trim)||void 0===s?void 0:s.call(t))||"";o.A.debug("Checking input validity",{newName:a});try{this.isFileNameValid(a),n.setCustomValidity(""),n.title=""}catch(e){e instanceof Error?(n.setCustomValidity(e.message),n.title=e.message):n.setCustomValidity((0,l.Tl)("files","Invalid file name"))}finally{n.reportValidity()}},isFileNameValid(e){const s=e.trim(),t=-1!==s.indexOf("/")?"/":oe.find((e=>s.includes(e)));if("."===s||".."===s)throw new Error((0,l.Tl)("files",'"{name}" is an invalid file name.',{name:e}));if(0===s.length)throw new Error((0,l.Tl)("files","File name cannot be empty."));if(t)throw new Error((0,l.Tl)("files",'"{char}" is not allowed inside a file name.',{char:t}));if(s.match(window.OC.config.blacklist_files_regex))throw new Error((0,l.Tl)("files",'"{name}" is not an allowed filetype.',{name:e}));return!0}}});var de=t(85072),ue=t.n(de),ge=t(97825),ce=t.n(ge),fe=t(77659),pe=t.n(fe),he=t(55056),we=t.n(he),Te=t(10540),xe=t.n(Te),ve=t(41113),Le=t.n(ve),ye=t(7166),Ce={};Ce.styleTagTransform=Le(),Ce.setAttributes=we(),Ce.insert=pe().bind(null,"head"),Ce.domAPI=ce(),Ce.insertStyleElement=xe(),ue()(ye.A,Ce),ye.A&&ye.A.locals&&ye.A.locals;const ke=(0,t(14486).A)(me,(function(){var e=this,s=e._self._c;return e._self._setupProxy,s("NcDialog",{attrs:{name:e.name,open:e.open,"close-on-click-outside":"","out-transition":""},on:{"update:open":e.onClose},scopedSlots:e._u([{key:"actions",fn:function(){return[s("NcButton",{attrs:{type:"primary",disabled:!e.isUniqueName},on:{click:e.onCreate}},[e._v("\n\t\t\t"+e._s(e.t("files","Create"))+"\n\t\t")])]},proxy:!0}])},[e._v(" "),s("form",{on:{submit:function(s){return s.preventDefault(),e.onCreate.apply(null,arguments)}}},[s("NcTextField",{ref:"input",staticClass:"dialog__input",attrs:{error:!e.isUniqueName,"helper-text":e.errorMessage,label:e.label,value:e.localDefaultName},on:{"update:value":function(s){e.localDefaultName=s},keyup:e.checkInputValidity}})],1)])}),[],!1,null,"7edd79b1",null).exports;function be(e,s){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=s.map((e=>e.basename));return new Promise((s=>{(0,i.Ss)(ke,{...t,defaultName:e,otherNames:n},(e=>{s(e)}))}))}const Se={id:"newFolder",displayName:(0,l.Tl)("files","New folder"),enabled:e=>0!=(e.permissions&n.aX.CREATE),iconSvgInline:'',order:0,async handler(e,s){const t=await be((0,l.Tl)("files","New folder"),s);if(null!==t){var m,d,u,g,c;const{fileid:s,source:f}=await(async(e,s)=>{const t=e.source+"/"+s,n=e.encodedSource+"/"+encodeURIComponent(s),a=await(0,r.A)({method:"MKCOL",url:n,headers:{Overwrite:"F"}});return{fileid:parseInt(a.headers["oc-fileid"]),source:t}})(e,t),p=new n.vd({source:f,id:s,mtime:new Date,owner:(null===(m=(0,L.HW)())||void 0===m?void 0:m.uid)||null,permissions:n.aX.ALL,root:(null==e?void 0:e.root)||"/files/"+(null===(d=(0,L.HW)())||void 0===d?void 0:d.uid),attributes:{"mount-type":null===(u=e.attributes)||void 0===u?void 0:u["mount-type"],"owner-id":null===(g=e.attributes)||void 0===g?void 0:g["owner-id"],"owner-display-name":null===(c=e.attributes)||void 0===c?void 0:c["owner-display-name"]}});(0,i.Te)((0,l.Tl)("files",'Created new folder "{name}"',{name:(0,U.basename)(f)})),o.A.debug("Created new folder",{folder:p,source:f}),(0,a.Ic)("files:node:created",p),window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:p.fileid},{dir:e.path})}}};let Ae=(0,ae.C)("files","templates_path",!1);o.A.debug("Initial templates folder",{templatesPath:Ae});const Fe={id:"template-picker",displayName:(0,l.Tl)("files","Create new templates folder"),iconSvgInline:'',order:10,enabled(e){var s;return!Ae&&e.owner===(null===(s=(0,L.HW)())||void 0===s?void 0:s.uid)&&0!=(e.permissions&n.aX.CREATE)},async handler(e,s){const t=await be((0,l.Tl)("files","Templates"),s,{name:(0,l.Tl)("files","New template folder")});null!==t&&(async function(e,s){const t=(0,U.join)(e.path,s);try{o.A.debug("Initializing the templates directory",{templatePath:t});const{data:e}=await r.A.post((0,p.KT)("apps/files/api/v1/templates/path"),{templatePath:t,copySystemTemplates:!0});window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:void 0},{dir:t}),o.A.info("Created new templates folder",{...e.ocs.data}),Ae=e.ocs.data.templates_path}catch(e){o.A.error("Unable to initialize the templates directory"),(0,i.Qg)((0,l.Tl)("files","Unable to initialize the templates directory"))}}(e,t),(0,n.gj)("template-picker"))}},Ue=(0,C.$V)((()=>Promise.all([t.e(4208),t.e(9558)]).then(t.bind(t,69558))));let _e=null;const Pe=async e=>{if(null===_e){const s=document.createElement("div");s.id="template-picker",document.body.appendChild(s),_e=new C.Ay({render:s=>s(Ue,{ref:"picker",props:{parent:e}}),methods:{open(){this.$refs.picker.open(...arguments)}},el:s})}return _e},Ne=H(),Be=async function(){var e;let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";const t=(0,n.VL)(),a=(0,n.b2)();let i;"/"===s&&(i=await Ne.stat(s,{details:!0,data:t}));const l=await Ne.getDirectoryContents(s,{details:!0,data:"/"===s?a:t,headers:{method:"/"===s?"REPORT":"PROPFIND"},includeSelf:!0}),r=(null===(e=i)||void 0===e?void 0:e.data)||l.data[0],o=l.data.filter((e=>e.filename!==s));return{folder:W(r),contents:o.map(W)}},Ee=function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return new n.Ss({id:ze(e.path),name:(0,U.basename)(e.path),icon:Q,order:s,params:{dir:e.path,fileid:e.fileid.toString(),view:"favorites"},parent:"favorites",columns:[],getContents:Be})},ze=function(e){return"favorite-".concat(V(e))};var je=t(65899);const Ie=(0,ae.C)("files","config",{show_hidden:!1,crop_image_previews:!0,sort_favorites_first:!0,sort_folders_first:!0,grid_view:!1}),Oe=(0,je.Ey)(),Me=(0,n.H4)(),Re=Math.round(Date.now()/1e3-1209600);var De;const He=null===(De=(0,L.HW)())||void 0===De?void 0:De.uid,Ve=function(e){const s=e.attributes["mount-type"];return!(He&&e.owner!==He||["group","shared"].includes(s))};(0,n.Gg)(f),(0,n.Gg)(x),(0,n.Gg)(y),(0,n.Gg)(A),(0,n.Gg)(J),(0,n.Gg)(Z),(0,n.Gg)(X),(0,n.Gg)(ee),(0,n.Gg)(te),(0,n.Gg)(ne),(0,n.zj)(Se),(0,n.zj)(Fe),(0,ae.C)("files","templates",[]).forEach(((e,s)=>{(0,n.zj)({id:"template-new-".concat(e.app,"-").concat(s),displayName:e.label,iconClass:e.iconClass||"icon-file",iconSvgInline:e.iconSvgInline,enabled:e=>0!=(e.permissions&n.aX.CREATE),order:11,async handler(s,t){const n=Pe(s),a=await be("".concat(e.label).concat(e.extension),t,{label:(0,l.Tl)("files","Filename"),name:e.label});null!==a&&(await n).open(a,e)}})})),(()=>{const e=(0,ae.C)("files","favoriteFolders",[]),s=e.map(((e,s)=>Ee(e,s)));o.A.debug("Generating favorites view",{favoriteFolders:e});const t=(0,n.bh)();t.register(new n.Ss({id:"favorites",name:(0,l.Tl)("files","Favorites"),caption:(0,l.Tl)("files","List of favorites files and folders."),emptyTitle:(0,l.Tl)("files","No favorites yet"),emptyCaption:(0,l.Tl)("files","Files and folders you mark as favorite will show up here"),icon:k,order:15,columns:[],getContents:Be})),s.forEach((e=>t.register(e))),(0,a.B1)("files:favorites:added",(e=>{var s;e.type===n.pt.Folder&&(null!==e.path&&null!==(s=e.root)&&void 0!==s&&s.startsWith("/files")?r(e):o.A.error("Favorite folder is not within user files root",{node:e}))})),(0,a.B1)("files:favorites:removed",(e=>{var s;e.type===n.pt.Folder&&(null!==e.path&&null!==(s=e.root)&&void 0!==s&&s.startsWith("/files")?m(e.path):o.A.error("Favorite folder is not within user files root",{node:e}))})),(0,a.B1)("files:node:renamed",(e=>{e.type===n.pt.Folder&&1===e.attributes.favorite&&d(e)}));const i=function(){e.sort(((e,s)=>e.path.localeCompare(s.path,(0,l.Z0)(),{ignorePunctuation:!0}))),e.forEach(((e,t)=>{const n=s.find((s=>s.id===ze(e.path)));n&&(n.order=t)}))},r=function(n){const a={path:n.path,fileid:n.fileid},l=Ee(a);e.find((e=>e.path===n.path))||(e.push(a),s.push(l),i(),t.register(l))},m=function(n){const a=ze(n),l=e.findIndex((e=>e.path===n));-1!==l&&(e.splice(l,1),s.splice(l,1),t.remove(a),i())},d=function(s){const t=e.find((e=>e.fileid===s.fileid));void 0!==t&&(m(t.path),r(s))}})(),(0,n.bh)().register(new n.Ss({id:"files",name:(0,l.Tl)("files","All files"),caption:(0,l.Tl)("files","List of your files and folders."),icon:Q,order:0,getContents:Y})),(0,n.bh)().register(new n.Ss({id:"recent",name:(0,l.Tl)("files","Recent"),caption:(0,l.Tl)("files","List of recently modified files and folders."),emptyTitle:(0,l.Tl)("files","No recently modified files"),emptyCaption:(0,l.Tl)("files","Files and folders you recently modified will show up here."),icon:'',order:10,defaultSortKey:"mtime",getContents:async function(){var e;let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";const t=function(){const e=(0,je.nY)("userconfig",{state:()=>({userConfig:Ie}),actions:{onUpdate(e,s){C.Ay.set(this.userConfig,e,s)},async update(e,s){await r.A.put((0,p.Jv)("/apps/files/api/v1/config/"+e),{value:s}),(0,a.Ic)("files:config:updated",{key:e,value:s})}}})(...arguments);return e._initialized||((0,a.B1)("files:config:updated",(function(s){let{key:t,value:n}=s;e.onUpdate(t,n)})),e._initialized=!0),e}(Oe),i=(await Me.getDirectoryContents(s,{details:!0,data:(0,n.R3)(Re),headers:{method:"SEARCH","Content-Type":"application/xml; charset=utf-8"},deep:!0})).data;return{folder:new n.vd({id:0,source:"".concat(n.PY).concat(n.lJ),root:n.lJ,owner:(null===(e=(0,L.HW)())||void 0===e?void 0:e.uid)||null,permissions:n.aX.READ}),contents:i.map((e=>(0,n.Al)(e))).filter((e=>"/"!==s||t.userConfig.show_hidden||!e.dirname.split("/").some((e=>e.startsWith(".")))))}}})),(0,n.bh)().register(new n.Ss({id:"personal",name:(0,l.Tl)("files","Personal Files"),caption:(0,l.Tl)("files","List of your files and folders that are not shared."),emptyTitle:(0,l.Tl)("files","No personal files found"),emptyCaption:(0,l.Tl)("files","Files that are not shared will show up here."),icon:'',order:5,getContents:function(){return Y(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/").then((e=>(e.contents=e.contents.filter(Ve),e)))}})),"serviceWorker"in navigator?window.addEventListener("load",(async()=>{try{const e=(0,p.Jv)("/apps/files/preview-service-worker.js",{},{noRewrite:!0}),s=await navigator.serviceWorker.register(e,{scope:"/"});o.A.debug("SW registered: ",{registration:s})}catch(e){o.A.error("SW registration failed: ",{error:e})}})):o.A.debug("Service Worker is not enabled on this browser."),(0,n.Yc)("nc:hidden",{nc:"http://nextcloud.org/ns"}),(0,n.Yc)("nc:is-mount-root",{nc:"http://nextcloud.org/ns"}),(0,n.Yc)("nc:metadata-files-live-photo",{nc:"http://nextcloud.org/ns"})},30521:(e,s,t)=>{"use strict";t.d(s,{A:()=>r});var n=t(71354),a=t.n(n),i=t(76314),l=t.n(i)()(a());l.push([e.id,".upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css"],names:[],mappings:"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF",sourcesContent:[".upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n"],sourceRoot:""}]);const r=l},7166:(e,s,t)=>{"use strict";t.d(s,{A:()=>r});var n=t(71354),a=t.n(n),i=t(76314),l=t.n(i)()(a());l.push([e.id,".dialog__input[data-v-7edd79b1] input:invalid{border-color:var(--color-error);color:red}","",{version:3,sources:["webpack://./apps/files/src/components/NewNodeDialog.vue"],names:[],mappings:"AAEC,8CAEC,+BAAA,CACA,SAAA",sourcesContent:["\n.dialog__input {\n\t:deep(input:invalid) {\n\t\t// Show red border on invalid input\n\t\tborder-color: var(--color-error);\n\t\tcolor: red;\n\t}\n}\n"],sourceRoot:""}]);const r=l},75270:e=>{function s(e,s){return null==e?s:e}e.exports=function(e){var t,n=s((e=e||{}).max,1),a=s(e.min,0),i=s(e.autostart,!0),l=s(e.ignoreSameProgress,!1),r=null,o=null,m=null,d=(t=s(e.historyTimeConstant,2.5),function(e,s,n){return e+n/(n+t)*(s-e)});function u(){g(a)}function g(e,s){if("number"!=typeof s&&(s=Date.now()),o!==s&&(!l||m!==e)){if(null===o||null===m)return m=e,void(o=s);var t=.001*(s-o),n=(e-m)/t;r=null===r?n:d(r,n,t),m=e,o=s}}return{start:u,reset:function(){r=null,o=null,m=null,i&&u()},report:g,estimate:function(e){if(null===m)return 1/0;if(m>=n)return 0;if(null===r)return 1/0;var s=(n-m)/r;return"number"==typeof e&&"number"==typeof o&&(s-=.001*(e-o)),Math.max(0,s)},rate:function(){return null===r?0:r}}}},98383:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg%20viewBox=%270%200%2016%2016%27%20height=%2716%27%20width=%2716%27%20xmlns=%27http://www.w3.org/2000/svg%27%20xml:space=%27preserve%27%20style=%27fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2%27%3e%3cpath%20d=%27M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z%27%20style=%27fill-rule:nonzero%27%20transform=%27matrix%28.85714%200%200%20.85714%20-2.286%20-2.286%29%27/%3e%3c/svg%3e"},39075:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg%20viewBox=%270%200%2016%2016%27%20height=%2716%27%20width=%2716%27%20xmlns=%27http://www.w3.org/2000/svg%27%20xml:space=%27preserve%27%20style=%27fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2%27%3e%3cpath%20d=%27M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z%27%20style=%27fill:%23fff;fill-rule:nonzero%27%20transform=%27matrix%28.85714%200%200%20.85714%20-2.286%20-2.286%29%27/%3e%3c/svg%3e"},63642:(e,s,t)=>{"use strict";t.d(s,{a:()=>ae,h:()=>de,l:()=>K,n:()=>Z,o:()=>me,t:()=>ie});var n=t(85072),a=t.n(n),i=t(97825),l=t.n(i),r=t(77659),o=t.n(r),m=t(55056),d=t.n(m),u=t(10540),g=t.n(u),c=t(41113),f=t.n(c),p=t(30521),h={};h.styleTagTransform=f(),h.setAttributes=d(),h.insert=o().bind(null,"head"),h.domAPI=l(),h.insertStyleElement=g(),a()(p.A,h),p.A&&p.A.locals&&p.A.locals;var w=t(53110),T=t(71089),x=t(53127),v=t(63814),L=t(21777),y=t(26287);class C extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}}const k=Object.freeze({pending:Symbol("pending"),canceled:Symbol("canceled"),resolved:Symbol("resolved"),rejected:Symbol("rejected")});class b{static fn(e){return(...s)=>new b(((t,n,a)=>{s.push(a),e(...s).then(t,n)}))}#e=[];#s=!0;#t=k.pending;#n;#a;constructor(e){this.#n=new Promise(((s,t)=>{this.#a=t;const n=e=>{if(this.#t!==k.pending)throw new Error(`The \`onCancel\` handler was attached after the promise ${this.#t.description}.`);this.#e.push(e)};Object.defineProperties(n,{shouldReject:{get:()=>this.#s,set:e=>{this.#s=e}}}),e((e=>{this.#t===k.canceled&&n.shouldReject||(s(e),this.#i(k.resolved))}),(e=>{this.#t===k.canceled&&n.shouldReject||(t(e),this.#i(k.rejected))}),n)}))}then(e,s){return this.#n.then(e,s)}catch(e){return this.#n.catch(e)}finally(e){return this.#n.finally(e)}cancel(e){if(this.#t===k.pending){if(this.#i(k.canceled),this.#e.length>0)try{for(const e of this.#e)e()}catch(e){return void this.#a(e)}this.#s&&this.#a(new C(e))}}get isCanceled(){return this.#t===k.canceled}#i(e){this.#t===k.pending&&(this.#t=e)}}Object.setPrototypeOf(b.prototype,Promise.prototype);var S=t(9052);class A extends Error{constructor(e){super(e),this.name="TimeoutError"}}class F extends Error{constructor(e){super(),this.name="AbortError",this.message=e}}const U=e=>void 0===globalThis.DOMException?new F(e):new DOMException(e),_=e=>{const s=void 0===e.reason?U("This operation was aborted."):e.reason;return s instanceof Error?s:U(s)};class P{#l=[];enqueue(e,s){const t={priority:(s={priority:0,...s}).priority,run:e};if(this.size&&this.#l[this.size-1].priority>=s.priority)return void this.#l.push(t);const n=function(e,s,t){let n=0,a=e.length;for(;a>0;){const t=Math.trunc(a/2);let l=n+t;i=e[l],s.priority-i.priority<=0?(n=++l,a-=t+1):a=t}var i;return n}(this.#l,t);this.#l.splice(n,0,t)}dequeue(){const e=this.#l.shift();return e?.run}filter(e){return this.#l.filter((s=>s.priority===e.priority)).map((e=>e.run))}get size(){return this.#l.length}}class N extends S{#r;#o;#m=0;#d;#u;#g=0;#c;#f;#l;#p;#h=0;#w;#T;#x;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:P,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#r=e.carryoverConcurrencyCount,this.#o=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this.#d=e.intervalCap,this.#u=e.interval,this.#l=new e.queueClass,this.#p=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#x=!0===e.throwOnTimeout,this.#T=!1===e.autoStart}get#v(){return this.#o||this.#m{this.#k()}),s)),!0;this.#m=this.#r?this.#h:0}return!1}#C(){if(0===this.#l.size)return this.#c&&clearInterval(this.#c),this.#c=void 0,this.emit("empty"),0===this.#h&&this.emit("idle"),!1;if(!this.#T){const e=!this.#A;if(this.#v&&this.#L){const s=this.#l.dequeue();return!!s&&(this.emit("active"),s(),e&&this.#S(),!0)}}return!1}#S(){this.#o||void 0!==this.#c||(this.#c=setInterval((()=>{this.#b()}),this.#u),this.#g=Date.now()+this.#u)}#b(){0===this.#m&&0===this.#h&&this.#c&&(clearInterval(this.#c),this.#c=void 0),this.#m=this.#r?this.#h:0,this.#F()}#F(){for(;this.#C(););}get concurrency(){return this.#w}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#w=e,this.#F()}async#U(e){return new Promise(((s,t)=>{e.addEventListener("abort",(()=>{t(e.reason)}),{once:!0})}))}async add(e,s={}){return s={timeout:this.timeout,throwOnTimeout:this.#x,...s},new Promise(((t,n)=>{this.#l.enqueue((async()=>{this.#h++,this.#m++;try{s.signal?.throwIfAborted();let n=e({signal:s.signal});s.timeout&&(n=function(e,s){const{milliseconds:t,fallback:n,message:a,customTimers:i={setTimeout,clearTimeout}}=s;let l;const r=new Promise(((r,o)=>{if("number"!=typeof t||1!==Math.sign(t))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(s.signal){const{signal:e}=s;e.aborted&&o(_(e)),e.addEventListener("abort",(()=>{o(_(e))}))}if(t===Number.POSITIVE_INFINITY)return void e.then(r,o);const m=new A;l=i.setTimeout.call(void 0,(()=>{if(n)try{r(n())}catch(e){o(e)}else"function"==typeof e.cancel&&e.cancel(),!1===a?r():a instanceof Error?o(a):(m.message=a??`Promise timed out after ${t} milliseconds`,o(m))}),t),(async()=>{try{r(await e)}catch(e){o(e)}})()})).finally((()=>{r.clear()}));return r.clear=()=>{i.clearTimeout.call(void 0,l),l=void 0},r}(Promise.resolve(n),{milliseconds:s.timeout})),s.signal&&(n=Promise.race([n,this.#U(s.signal)]));const a=await n;t(a),this.emit("completed",a)}catch(e){if(e instanceof A&&!s.throwOnTimeout)return void t();n(e),this.emit("error",e)}finally{this.#y()}}),s),this.emit("add"),this.#C()}))}async addAll(e,s){return Promise.all(e.map((async e=>this.add(e,s))))}start(){return this.#T?(this.#T=!1,this.#F(),this):this}pause(){this.#T=!0}clear(){this.#l=new this.#p}async onEmpty(){0!==this.#l.size&&await this.#_("empty")}async onSizeLessThan(e){this.#l.sizethis.#l.size{const n=()=>{s&&!s()||(this.off(e,n),t())};this.on(e,n)}))}get size(){return this.#l.size}sizeBy(e){return this.#l.filter(e).length}get pending(){return this.#h}get isPaused(){return this.#T}}var B=t(53529),E=t(85168),z=t(75270),j=t(85471),I=t(89257),O=t(24764),M=t(54332),R=t(6695),D=t(95101),H=t(11195);const V=async function(e,s,t,n=(()=>{}),a=void 0,i={}){let l;return l=s instanceof Blob?s:await s(),a&&(i.Destination=a),i["Content-Type"]||(i["Content-Type"]="application/octet-stream"),await y.A.request({method:"PUT",url:e,data:l,signal:t,onUploadProgress:n,headers:i})},q=function(e,s,t){return 0===s&&e.size<=t?Promise.resolve(new Blob([e],{type:e.type||"application/octet-stream"})):Promise.resolve(new Blob([e.slice(s,s+t)],{type:"application/octet-stream"}))},W=function(e=void 0){const s=window.OC?.appConfig?.files?.max_chunk_size;if(s<=0)return 0;if(!Number(s))return 10485760;const t=Math.max(Number(s),5242880);return void 0===e?t:Math.max(t,Math.ceil(e/1e4))};var Y=(e=>(e[e.INITIALIZED=0]="INITIALIZED",e[e.UPLOADING=1]="UPLOADING",e[e.ASSEMBLING=2]="ASSEMBLING",e[e.FINISHED=3]="FINISHED",e[e.CANCELLED=4]="CANCELLED",e[e.FAILED=5]="FAILED",e))(Y||{});let G=class{_source;_file;_isChunked;_chunks;_size;_uploaded=0;_startTime=0;_status=0;_controller;_response=null;constructor(e,s=!1,t,n){const a=Math.min(W()>0?Math.ceil(t/W()):1,1e4);this._source=e,this._isChunked=s&&W()>0&&a>1,this._chunks=this._isChunked?a:1,this._size=t,this._file=n,this._controller=new AbortController}get source(){return this._source}get file(){return this._file}get isChunked(){return this._isChunked}get chunks(){return this._chunks}get size(){return this._size}get startTime(){return this._startTime}set response(e){this._response=e}get response(){return this._response}get uploaded(){return this._uploaded}set uploaded(e){if(e>=this._size)return this._status=this._isChunked?2:3,void(this._uploaded=this._size);this._status=1,this._uploaded=e,0===this._startTime&&(this._startTime=(new Date).getTime())}get status(){return this._status}set status(e){this._status=e}get signal(){return this._controller.signal}cancel(){this._controller.abort(),this._status=4}};const K=null===($=(0,L.HW)())?(0,B.YK)().setApp("uploader").build():(0,B.YK)().setApp("uploader").setUid($.uid).build();var $,J=(e=>(e[e.IDLE=0]="IDLE",e[e.UPLOADING=1]="UPLOADING",e[e.PAUSED=2]="PAUSED",e))(J||{});class Q{_destinationFolder;_isPublic;_uploadQueue=[];_jobQueue=new N({concurrency:3});_queueSize=0;_queueProgress=0;_queueStatus=0;_notifiers=[];constructor(e=!1,s){if(this._isPublic=e,!s){const e=(0,L.HW)()?.uid,t=(0,v.dC)(`dav/files/${e}`);if(!e)throw new Error("User is not logged in");s=new x.vd({id:0,owner:e,permissions:x.aX.ALL,root:`/files/${e}`,source:t})}this.destination=s,K.debug("Upload workspace initialized",{destination:this.destination,root:this.root,isPublic:e,maxChunksSize:W()})}get destination(){return this._destinationFolder}set destination(e){if(!e)throw new Error("Invalid destination folder");K.debug("Destination set",{folder:e}),this._destinationFolder=e}get root(){return this._destinationFolder.source}get queue(){return this._uploadQueue}reset(){this._uploadQueue.splice(0,this._uploadQueue.length),this._jobQueue.clear(),this._queueSize=0,this._queueProgress=0,this._queueStatus=0}pause(){this._jobQueue.pause(),this._queueStatus=2}start(){this._jobQueue.start(),this._queueStatus=1,this.updateStats()}get info(){return{size:this._queueSize,progress:this._queueProgress,status:this._queueStatus}}updateStats(){const e=this._uploadQueue.map((e=>e.size)).reduce(((e,s)=>e+s),0),s=this._uploadQueue.map((e=>e.uploaded)).reduce(((e,s)=>e+s),0);this._queueSize=e,this._queueProgress=s,2!==this._queueStatus&&(this._queueStatus=this._jobQueue.size>0?1:0)}addNotifier(e){this._notifiers.push(e)}upload(e,s,t){const n=`${t||this.root}/${e.replace(/^\//,"")}`,{origin:a}=new URL(n),i=a+(0,T.O0)(n.slice(a.length));K.debug(`Uploading ${s.name} to ${i}`);const l=W(s.size),r=0===l||s.size{if(n(o.cancel),r){K.debug("Initializing regular upload",{file:s,upload:o});const n=await q(s,0,o.size),a=async()=>{try{o.response=await V(i,n,o.signal,(e=>{o.uploaded=o.uploaded+e.bytes,this.updateStats()}),void 0,{"X-OC-Mtime":s.lastModified/1e3,"Content-Type":s.type}),o.uploaded=o.size,this.updateStats(),K.debug(`Successfully uploaded ${s.name}`,{file:s,upload:o}),e(o)}catch(e){if(e instanceof w.k3)return o.status=Y.FAILED,void t("Upload has been cancelled");e?.response&&(o.response=e.response),o.status=Y.FAILED,K.error(`Failed uploading ${s.name}`,{error:e,file:s,upload:o}),t("Failed uploading the file")}this._notifiers.forEach((e=>{try{e(o)}catch{}}))};this._jobQueue.add(a),this.updateStats()}else{K.debug("Initializing chunked upload",{file:s,upload:o});const n=await async function(e){const s=`${(0,v.dC)(`dav/uploads/${(0,L.HW)()?.uid}`)}/web-file-upload-${[...Array(16)].map((()=>Math.floor(16*Math.random()).toString(16))).join("")}`,t=e?{Destination:e}:void 0;return await y.A.request({method:"MKCOL",url:s,headers:t}),s}(i),a=[];for(let e=0;eq(s,t,l),d=()=>V(`${n}/${e+1}`,m,o.signal,(()=>this.updateStats()),i,{"X-OC-Mtime":s.lastModified/1e3,"OC-Total-Length":s.size,"Content-Type":"application/octet-stream"}).then((()=>{o.uploaded=o.uploaded+l})).catch((s=>{throw 507===s?.response?.status?(K.error("Upload failed, not enough space on the server or quota exceeded. Cancelling the remaining chunks",{error:s,upload:o}),o.cancel(),o.status=Y.FAILED,s):(s instanceof w.k3||(K.error(`Chunk ${e+1} ${t} - ${r} uploading failed`,{error:s,upload:o}),o.cancel(),o.status=Y.FAILED),s)}));a.push(this._jobQueue.add(d))}try{await Promise.all(a),this.updateStats(),o.response=await y.A.request({method:"MOVE",url:`${n}/.file`,headers:{"X-OC-Mtime":s.lastModified/1e3,"OC-Total-Length":s.size,Destination:i}}),this.updateStats(),o.status=Y.FINISHED,K.debug(`Successfully uploaded ${s.name}`,{file:s,upload:o}),e(o)}catch(e){e instanceof w.k3?(o.status=Y.FAILED,t("Upload has been cancelled")):(o.status=Y.FAILED,t("Failed assembling the chunks together")),y.A.request({method:"DELETE",url:`${n}`})}this._notifiers.forEach((e=>{try{e(o)}catch{}}))}return this._jobQueue.onIdle().then((()=>this.reset())),o}))}}function Z(e,s,t,n,a,i,l,r){var o,m="function"==typeof e?e.options:e;if(s&&(m.render=s,m.staticRenderFns=t,m._compiled=!0),n&&(m.functional=!0),i&&(m._scopeId="data-v-"+i),l?(o=function(e){!(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(l)},m._ssrRegister=o):a&&(o=r?function(){a.call(this,(m.functional?this.parent:this).$root.$options.shadowRoot)}:a),o)if(m.functional){m._injectStyles=o;var d=m.render;m.render=function(e,s){return o.call(s),d(e,s)}}else{var u=m.beforeCreate;m.beforeCreate=u?[].concat(u,o):[o]}return{exports:e,options:m}}const X=Z({name:"CancelIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var e=this,s=e._self._c;return s("span",e._b({staticClass:"material-design-icon cancel-icon",attrs:{"aria-hidden":!e.title||null,"aria-label":e.title,role:"img"},on:{click:function(s){return e.$emit("click",s)}}},"span",e.$attrs,!1),[s("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[s("path",{attrs:{d:"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z"}},[e.title?s("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null,null).exports,ee=Z({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var e=this,s=e._self._c;return s("span",e._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":!e.title||null,"aria-label":e.title,role:"img"},on:{click:function(s){return e.$emit("click",s)}}},"span",e.$attrs,!1),[s("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[s("path",{attrs:{d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[e.title?s("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null,null).exports,se=Z({name:"UploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var e=this,s=e._self._c;return s("span",e._b({staticClass:"material-design-icon upload-icon",attrs:{"aria-hidden":!e.title||null,"aria-label":e.title,role:"img"},on:{click:function(s){return e.$emit("click",s)}}},"span",e.$attrs,!1),[s("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[s("path",{attrs:{d:"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z"}},[e.title?s("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null,null).exports,te=(0,H.$)().detectLocale();[{locale:"af",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)","Content-Type":"text/plain; charset=UTF-8",Language:"af","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: af\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ar",json:{charset:"utf-8",headers:{"Last-Translator":"Ali , 2024","Language-Team":"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar","Plural-Forms":"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nAli , 2024\n"},msgstr:["Last-Translator: Ali , 2024\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} ملف متعارض","{count} ملف متعارض","{count} ملفان متعارضان","{count} ملف متعارض","{count} ملفات متعارضة","{count} ملفات متعارضة"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} ملف متعارض في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفان متعارضان في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفات متعارضة في n {dirname}","{count} ملفات متعارضة في n {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} ثانية متبقية"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} متبقية"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["باقٍ بضعُ ثوانٍ"]},Cancel:{msgid:"Cancel",msgstr:["إلغاء"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["إلغِ العملية بالكامل"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["إلغاء عمليات رفع الملفات"]},Continue:{msgid:"Continue",msgstr:["إستمر"]},"estimating time left":{msgid:"estimating time left",msgstr:["تقدير الوقت المتبقي"]},"Existing version":{msgid:"Existing version",msgstr:["الإصدار الحالي"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["إذا اخترت الإبقاء على النسختين معاً، فإن الملف المنسوخ سيتم إلحاق رقم تسلسلي في نهاية اسمه."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["تاريخ آخر تعديل غير معلوم"]},New:{msgid:"New",msgstr:["جديد"]},"New version":{msgid:"New version",msgstr:["نسخة جديدة"]},paused:{msgid:"paused",msgstr:["مُجمَّد"]},"Preview image":{msgid:"Preview image",msgstr:["معاينة الصورة"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["حدِّد كل صناديق الخيارات"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["حدِّد كل الملفات الموجودة"]},"Select all new files":{msgid:"Select all new files",msgstr:["حدِّد كل الملفات الجديدة"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف"]},"Unknown size":{msgid:"Unknown size",msgstr:["حجم غير معلوم"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["تمَّ إلغاء الرفع"]},"Upload files":{msgid:"Upload files",msgstr:["رفع ملفات"]},"Upload progress":{msgid:"Upload progress",msgstr:["تقدُّم الرفع "]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["عند تحديد مجلد وارد، أي ملفات متعارضة بداخله ستتم الكتابة فوقها."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["أيُّ الملفات ترغب في الإبقاء عليها؟"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["يجب أن تختار نسخة واحدة على الأقل من كل ملف للاستمرار."]}}}}},{locale:"ar_SA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar_SA","Plural-Forms":"nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar_SA\nPlural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ast",json:{charset:"utf-8",headers:{"Last-Translator":"enolp , 2023","Language-Team":"Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)","Content-Type":"text/plain; charset=UTF-8",Language:"ast","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nenolp , 2023\n"},msgstr:["Last-Translator: enolp , 2023\nLanguage-Team: Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ast\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} ficheru en coflictu","{count} ficheros en coflictu"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} ficheru en coflictu en {dirname}","{count} ficheros en coflictu en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Queden {seconds} segundos"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Tiempu que queda: {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["queden unos segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Encaboxar les xubes"]},Continue:{msgid:"Continue",msgstr:["Siguir"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando'l tiempu que falta"]},"Existing version":{msgid:"Existing version",msgstr:["Versión esistente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si seleiciones dambes versiones, el ficheru copiáu va tener un númberu amestáu al so nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["La data de la última modificación ye desconocida"]},New:{msgid:"New",msgstr:["Nuevu"]},"New version":{msgid:"New version",msgstr:["Versión nueva"]},paused:{msgid:"paused",msgstr:["en posa"]},"Preview image":{msgid:"Preview image",msgstr:["Previsualizar la imaxe"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marcar toles caxelles"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleicionar tolos ficheros esistentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleicionar tolos ficheros nuevos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Saltar esti ficheru","Saltar {count} ficheros"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamañu desconocíu"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Encaboxóse la xuba"]},"Upload files":{msgid:"Upload files",msgstr:["Xubir ficheros"]},"Upload progress":{msgid:"Upload progress",msgstr:["Xuba en cursu"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["¿Qué ficheros quies caltener?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Tienes de seleicionar polo menos una versión de cada ficheru pa siguir."]}}}}},{locale:"az",json:{charset:"utf-8",headers:{"Last-Translator":"Rashad Aliyev , 2023","Language-Team":"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)","Content-Type":"text/plain; charset=UTF-8",Language:"az","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRashad Aliyev , 2023\n"},msgstr:["Last-Translator: Rashad Aliyev , 2023\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: az\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniyə qalıb"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} qalıb"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir neçə saniyə qalıb"]},Add:{msgid:"Add",msgstr:["Əlavə et"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yükləməni imtina et"]},"estimating time left":{msgid:"estimating time left",msgstr:["Təxmini qalan vaxt"]},paused:{msgid:"paused",msgstr:["pauzadadır"]},"Upload files":{msgid:"Upload files",msgstr:["Faylları yüklə"]}}}}},{locale:"be",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)","Content-Type":"text/plain; charset=UTF-8",Language:"be","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: be\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bg_BG",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)","Content-Type":"text/plain; charset=UTF-8",Language:"bg_BG","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bg_BG\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bn_BD",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)","Content-Type":"text/plain; charset=UTF-8",Language:"bn_BD","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bn_BD\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"br",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)","Content-Type":"text/plain; charset=UTF-8",Language:"br","Plural-Forms":"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bs",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)","Content-Type":"text/plain; charset=UTF-8",Language:"bs","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bs\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ca",json:{charset:"utf-8",headers:{"Last-Translator":"Toni Hermoso Pulido , 2022","Language-Team":"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)","Content-Type":"text/plain; charset=UTF-8",Language:"ca","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMarc Riera , 2022\nToni Hermoso Pulido , 2022\n"},msgstr:["Last-Translator: Toni Hermoso Pulido , 2022\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Queden {seconds} segons"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["Queden {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Queden uns segons"]},Add:{msgid:"Add",msgstr:["Afegeix"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel·la les pujades"]},"estimating time left":{msgid:"estimating time left",msgstr:["S'està estimant el temps restant"]},paused:{msgid:"paused",msgstr:["En pausa"]},"Upload files":{msgid:"Upload files",msgstr:["Puja els fitxers"]}}}}},{locale:"cs",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki , 2022","Language-Team":"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPavel Borecki , 2022\n"},msgstr:["Last-Translator: Pavel Borecki , 2022\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},Add:{msgid:"Add",msgstr:["Přidat"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhadovaný zbývající čas"]},paused:{msgid:"paused",msgstr:["pozastaveno"]}}}}},{locale:"cs_CZ",json:{charset:"utf-8",headers:{"Last-Translator":"Michal Šmahel , 2024","Language-Team":"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs_CZ","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMichal Šmahel , 2024\n"},msgstr:["Last-Translator: Michal Šmahel , 2024\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} kolize souborů","{count} kolize souborů","{count} kolizí souborů","{count} kolize souborů"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} kolize souboru v {dirname}","{count} kolize souboru v {dirname}","{count} kolizí souborů v {dirname}","{count} kolize souboru v {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},Cancel:{msgid:"Cancel",msgstr:["Zrušit"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Zrušit celou operaci"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},Continue:{msgid:"Continue",msgstr:["Pokračovat"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhaduje se zbývající čas"]},"Existing version":{msgid:"Existing version",msgstr:["Existující verze"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Pokud vyberete obě verze, zkopírovaný soubor bude mít k názvu přidáno číslo."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Neznámé datum poslední úpravy"]},New:{msgid:"New",msgstr:["Nové"]},"New version":{msgid:"New version",msgstr:["Nová verze"]},paused:{msgid:"paused",msgstr:["pozastaveno"]},"Preview image":{msgid:"Preview image",msgstr:["Náhled obrázku"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Označit všechny zaškrtávací kolonky"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vybrat veškeré stávající soubory"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vybrat veškeré nové soubory"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Přeskočit tento soubor","Přeskočit {count} soubory","Přeskočit {count} souborů","Přeskočit {count} soubory"]},"Unknown size":{msgid:"Unknown size",msgstr:["Neznámá velikost"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Nahrávání zrušeno"]},"Upload files":{msgid:"Upload files",msgstr:["Nahrát soubory"]},"Upload progress":{msgid:"Upload progress",msgstr:["Postup v nahrávání"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Po výběru příchozí složky budou rovněž přepsány všechny v ní obsažené konfliktní soubory"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Které soubory si přejete ponechat?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru."]}}}}},{locale:"cy_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"cy_GB","Plural-Forms":"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cy_GB\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"da",json:{charset:"utf-8",headers:{"Last-Translator":"Martin Bonde , 2024","Language-Team":"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)","Content-Type":"text/plain; charset=UTF-8",Language:"da","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMartin Bonde , 2024\n"},msgstr:["Last-Translator: Martin Bonde , 2024\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fil konflikt","{count} filer i konflikt"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fil konflikt i {dirname}","{count} filer i konflikt i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{sekunder} sekunder tilbage"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{tid} tilbage"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["et par sekunder tilbage"]},Cancel:{msgid:"Cancel",msgstr:["Annuller"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Annuller hele handlingen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuller uploads"]},Continue:{msgid:"Continue",msgstr:["Fortsæt"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimering af resterende tid"]},"Existing version":{msgid:"Existing version",msgstr:["Eksisterende version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Hvis du vælger begge versioner vil den kopierede fil få et nummer tilføjet til sit navn."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Sidste modifikationsdato ukendt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pauset"]},"Preview image":{msgid:"Preview image",msgstr:["Forhåndsvisning af billede"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Vælg alle felter"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vælg alle eksisterende filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vælg alle nye filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Spring denne fil over","Spring {count} filer over"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukendt størrelse"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload annulleret"]},"Upload files":{msgid:"Upload files",msgstr:["Upload filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Upload fremskridt"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Når en indgående mappe er valgt, vil alle modstridende filer i den også blive overskrevet."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer ønsker du at beholde?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du skal vælge mindst én version af hver fil for at fortsætte."]}}}}},{locale:"de",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2024","Language-Team":"German (https://app.transifex.com/nextcloud/teams/64236/de/)","Content-Type":"text/plain; charset=UTF-8",Language:"de","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n"},msgstr:["Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleibend"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noch ein paar Sekunden"]},Cancel:{msgid:"Cancel",msgstr:["Abbrechen"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn du beide Versionen auswählst, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Diese Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fortschritt beim Hochladen"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchtest du behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du musst mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"de_DE",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2024","Language-Team":"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)","Content-Type":"text/plain; charset=UTF-8",Language:"de_DE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n"},msgstr:["Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleiben"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["ein paar Sekunden verbleiben"]},Cancel:{msgid:"Cancel",msgstr:["Abbrechen"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn Sie beide Versionen auswählen, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["{count} Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fortschritt beim Hochladen"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchten Sie behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Sie müssen mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"el",json:{charset:"utf-8",headers:{"Last-Translator":"Nik Pap, 2022","Language-Team":"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)","Content-Type":"text/plain; charset=UTF-8",Language:"el","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nNik Pap, 2022\n"},msgstr:["Last-Translator: Nik Pap, 2022\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["απομένουν {seconds} δευτερόλεπτα"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["απομένουν {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["απομένουν λίγα δευτερόλεπτα"]},Add:{msgid:"Add",msgstr:["Προσθήκη"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ακύρωση μεταφορτώσεων"]},"estimating time left":{msgid:"estimating time left",msgstr:["εκτίμηση του χρόνου που απομένει"]},paused:{msgid:"paused",msgstr:["σε παύση"]},"Upload files":{msgid:"Upload files",msgstr:["Μεταφόρτωση αρχείων"]}}}}},{locale:"el_GR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)","Content-Type":"text/plain; charset=UTF-8",Language:"el_GR","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el_GR\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"en_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Andi Chandler , 2023","Language-Team":"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"en_GB","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nAndi Chandler , 2023\n"},msgstr:["Last-Translator: Andi Chandler , 2023\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: en_GB\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file conflict","{count} files conflict"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file conflict in {dirname}","{count} file conflicts in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} seconds left"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} left"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["a few seconds left"]},Add:{msgid:"Add",msgstr:["Add"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel uploads"]},Continue:{msgid:"Continue",msgstr:["Continue"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimating time left"]},"Existing version":{msgid:"Existing version",msgstr:["Existing version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["If you select both versions, the copied file will have a number added to its name."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Last modified date unknown"]},"New version":{msgid:"New version",msgstr:["New version"]},paused:{msgid:"paused",msgstr:["paused"]},"Preview image":{msgid:"Preview image",msgstr:["Preview image"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Select all checkboxes"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Select all existing files"]},"Select all new files":{msgid:"Select all new files",msgstr:["Select all new files"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Skip this file","Skip {count} files"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unknown size"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload cancelled"]},"Upload files":{msgid:"Upload files",msgstr:["Upload files"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Which files do you want to keep?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["You need to select at least one version of each file to continue."]}}}}},{locale:"eo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)","Content-Type":"text/plain; charset=UTF-8",Language:"eo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es",json:{charset:"utf-8",headers:{"Last-Translator":"Julio C. Ortega, 2024","Language-Team":"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)","Content-Type":"text/plain; charset=UTF-8",Language:"es","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nFranciscoFJ , 2023\nNext Cloud , 2023\nJulio C. Ortega, 2024\n"},msgstr:["Last-Translator: Julio C. Ortega, 2024\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} archivo en conflicto","{count} archivos en conflicto","{count} archivos en conflicto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} archivo en conflicto en {dirname}","{count} archivos en conflicto en {dirname}","{count} archivos en conflicto en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si selecciona ambas versiones, al archivo copiado se le añadirá un número en el nombre."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Última fecha de modificación desconocida"]},New:{msgid:"New",msgstr:["Nuevo"]},"New version":{msgid:"New version",msgstr:["Nueva versión"]},paused:{msgid:"paused",msgstr:["pausado"]},"Preview image":{msgid:"Preview image",msgstr:["Previsualizar imagen"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleccionar todas las casillas de verificación"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos los archivos existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos los archivos nuevos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Saltar este archivo","Saltar {count} archivos","Saltar {count} archivos"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño desconocido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Subida cancelada"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progreso de la subida"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["¿Qué archivos desea conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar al menos una versión de cada archivo para continuar."]}}}}},{locale:"es_419",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_419","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_419\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_AR",json:{charset:"utf-8",headers:{"Last-Translator":"Matias Iglesias, 2022","Language-Team":"Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_AR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatias Iglesias, 2022\n"},msgstr:["Last-Translator: Matias Iglesias, 2022\nLanguage-Team: Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_AR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},Add:{msgid:"Add",msgstr:["Añadir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_CL",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CL","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CL\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_DO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_DO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_DO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_EC",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_EC","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_EC\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_GT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_GT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_GT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_HN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_HN","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_HN\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_MX",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_MX","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nLuis Francisco Castro, 2022\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_MX\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["cancelar las cargas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["en pausa"]},"Upload files":{msgid:"Upload files",msgstr:["cargar archivos"]}}}}},{locale:"es_NI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_NI","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_NI\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PA","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PA\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PE","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PE\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_SV",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_SV","Plural-Forms":"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_SV\nPlural-Forms: nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_UY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_UY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_UY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"et_EE",json:{charset:"utf-8",headers:{"Last-Translator":"Taavo Roos, 2023","Language-Team":"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)","Content-Type":"text/plain; charset=UTF-8",Language:"et_EE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMait R, 2022\nTaavo Roos, 2023\n"},msgstr:["Last-Translator: Taavo Roos, 2023\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: et_EE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} jäänud sekundid"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} aega jäänud"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["jäänud mõni sekund"]},Add:{msgid:"Add",msgstr:["Lisa"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Tühista üleslaadimine"]},"estimating time left":{msgid:"estimating time left",msgstr:["hinnanguline järelejäänud aeg"]},paused:{msgid:"paused",msgstr:["pausil"]},"Upload files":{msgid:"Upload files",msgstr:["Lae failid üles"]}}}}},{locale:"eu",json:{charset:"utf-8",headers:{"Last-Translator":"Unai Tolosa Pontesta , 2022","Language-Team":"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)","Content-Type":"text/plain; charset=UTF-8",Language:"eu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nUnai Tolosa Pontesta , 2022\n"},msgstr:["Last-Translator: Unai Tolosa Pontesta , 2022\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundo geratzen dira"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} geratzen da"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["segundo batzuk geratzen dira"]},Add:{msgid:"Add",msgstr:["Gehitu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ezeztatu igoerak"]},"estimating time left":{msgid:"estimating time left",msgstr:["kalkulatutako geratzen den denbora"]},paused:{msgid:"paused",msgstr:["geldituta"]},"Upload files":{msgid:"Upload files",msgstr:["Igo fitxategiak"]}}}}},{locale:"fa",json:{charset:"utf-8",headers:{"Last-Translator":"Fatemeh Komeily, 2023","Language-Team":"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)","Content-Type":"text/plain; charset=UTF-8",Language:"fa","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nFatemeh Komeily, 2023\n"},msgstr:["Last-Translator: Fatemeh Komeily, 2023\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fa\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["ثانیه های باقی مانده"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["باقی مانده"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["چند ثانیه مانده"]},Add:{msgid:"Add",msgstr:["اضافه کردن"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["کنسل کردن فایل های اپلود شده"]},"estimating time left":{msgid:"estimating time left",msgstr:["تخمین زمان باقی مانده"]},paused:{msgid:"paused",msgstr:["مکث کردن"]},"Upload files":{msgid:"Upload files",msgstr:["بارگذاری فایل ها"]}}}}},{locale:"fi_FI",json:{charset:"utf-8",headers:{"Last-Translator":"Jiri Grönroos , 2022","Language-Team":"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)","Content-Type":"text/plain; charset=UTF-8",Language:"fi_FI","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJiri Grönroos , 2022\n"},msgstr:["Last-Translator: Jiri Grönroos , 2022\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekuntia jäljellä"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} jäljellä"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["muutama sekunti jäljellä"]},Add:{msgid:"Add",msgstr:["Lisää"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Peruuta lähetykset"]},"estimating time left":{msgid:"estimating time left",msgstr:["arvioidaan jäljellä olevaa aikaa"]},paused:{msgid:"paused",msgstr:["keskeytetty"]},"Upload files":{msgid:"Upload files",msgstr:["Lähetä tiedostoja"]}}}}},{locale:"fo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)","Content-Type":"text/plain; charset=UTF-8",Language:"fo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"fr",json:{charset:"utf-8",headers:{"Last-Translator":"jed boulahya, 2024","Language-Team":"French (https://app.transifex.com/nextcloud/teams/64236/fr/)","Content-Type":"text/plain; charset=UTF-8",Language:"fr","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nBenoit Pruneau, 2024\njed boulahya, 2024\n"},msgstr:["Last-Translator: jed boulahya, 2024\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fichier en conflit","{count} fichiers en conflit","{count} fichiers en conflit"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fichier en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondes restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restant"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quelques secondes restantes"]},Cancel:{msgid:"Cancel",msgstr:["Annuler"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Annuler l'opération entière"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuler les envois"]},Continue:{msgid:"Continue",msgstr:["Continuer"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimation du temps restant"]},"Existing version":{msgid:"Existing version",msgstr:["Version existante"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si vous sélectionnez les deux versions, le fichier copié aura un numéro ajouté àname."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Date de la dernière modification est inconnue"]},New:{msgid:"New",msgstr:["Nouveau"]},"New version":{msgid:"New version",msgstr:["Nouvelle version"]},paused:{msgid:"paused",msgstr:["en pause"]},"Preview image":{msgid:"Preview image",msgstr:["Aperçu de l'image"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Sélectionner toutes les cases à cocher"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Sélectionner tous les fichiers existants"]},"Select all new files":{msgid:"Select all new files",msgstr:["Sélectionner tous les nouveaux fichiers"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Ignorer ce fichier","Ignorer {count} fichiers","Ignorer {count} fichiers"]},"Unknown size":{msgid:"Unknown size",msgstr:["Taille inconnue"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:[" annulé"]},"Upload files":{msgid:"Upload files",msgstr:["Téléchargement des fichiers"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progression du téléchargement"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Lorsqu'un dossier entrant est sélectionné, tous les fichiers en conflit qu'il contient seront également écrasés."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quels fichiers souhaitez-vous conserver ?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Vous devez sélectionner au moins une version de chaque fichier pour continuer."]}}}}},{locale:"gd",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)","Content-Type":"text/plain; charset=UTF-8",Language:"gd","Plural-Forms":"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gd\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"gl",json:{charset:"utf-8",headers:{"Last-Translator":"Miguel Anxo Bouzada , 2023","Language-Team":"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)","Content-Type":"text/plain; charset=UTF-8",Language:"gl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nNacho , 2023\nMiguel Anxo Bouzada , 2023\n"},msgstr:["Last-Translator: Miguel Anxo Bouzada , 2023\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} conflito de ficheiros","{count} conflitos de ficheiros"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} conflito de ficheiros en {dirname}","{count} conflitos de ficheiros en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltan {seconds} segundos"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["falta {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltan uns segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envíos"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["calculando canto tempo falta"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selecciona ambas as versións, o ficheiro copiado terá un número engadido ao seu nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Data da última modificación descoñecida"]},New:{msgid:"New",msgstr:["Nova"]},"New version":{msgid:"New version",msgstr:["Nova versión"]},paused:{msgid:"paused",msgstr:["detido"]},"Preview image":{msgid:"Preview image",msgstr:["Vista previa da imaxe"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marcar todas as caixas de selección"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos os ficheiros existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos os ficheiros novos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Omita este ficheiro","Omitir {count} ficheiros"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño descoñecido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envío cancelado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progreso do envío"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Que ficheiros quere conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar polo menos unha versión de cada ficheiro para continuar."]}}}}},{locale:"he",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)","Content-Type":"text/plain; charset=UTF-8",Language:"he","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hi_IN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)","Content-Type":"text/plain; charset=UTF-8",Language:"hi_IN","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hi_IN\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)","Content-Type":"text/plain; charset=UTF-8",Language:"hr","Plural-Forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hr\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hsb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)","Content-Type":"text/plain; charset=UTF-8",Language:"hsb","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hsb\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu_HU",json:{charset:"utf-8",headers:{"Last-Translator":"Balázs Úr, 2022","Language-Team":"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu_HU","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBalázs Meskó , 2022\nBalázs Úr, 2022\n"},msgstr:["Last-Translator: Balázs Úr, 2022\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{} másodperc van hátra"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} van hátra"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["pár másodperc van hátra"]},Add:{msgid:"Add",msgstr:["Hozzáadás"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Feltöltések megszakítása"]},"estimating time left":{msgid:"estimating time left",msgstr:["hátralévő idő becslése"]},paused:{msgid:"paused",msgstr:["szüneteltetve"]},"Upload files":{msgid:"Upload files",msgstr:["Fájlok feltöltése"]}}}}},{locale:"hy",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)","Content-Type":"text/plain; charset=UTF-8",Language:"hy","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hy\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ia",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)","Content-Type":"text/plain; charset=UTF-8",Language:"ia","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ia\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"id",json:{charset:"utf-8",headers:{"Last-Translator":"Linerly , 2023","Language-Team":"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)","Content-Type":"text/plain; charset=UTF-8",Language:"id","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nEmpty Slot Filler, 2023\nLinerly , 2023\n"},msgstr:["Last-Translator: Linerly , 2023\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: id\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} berkas berkonflik"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} berkas berkonflik dalam {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} detik tersisa"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} tersisa"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["tinggal sebentar lagi"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Batalkan unggahan"]},Continue:{msgid:"Continue",msgstr:["Lanjutkan"]},"estimating time left":{msgid:"estimating time left",msgstr:["memperkirakan waktu yang tersisa"]},"Existing version":{msgid:"Existing version",msgstr:["Versi yang ada"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jika Anda memilih kedua versi, nama berkas yang disalin akan ditambahi angka."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Tanggal perubahan terakhir tidak diketahui"]},New:{msgid:"New",msgstr:["Baru"]},"New version":{msgid:"New version",msgstr:["Versi baru"]},paused:{msgid:"paused",msgstr:["dijeda"]},"Preview image":{msgid:"Preview image",msgstr:["Gambar pratinjau"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Pilih semua kotak centang"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Pilih semua berkas yang ada"]},"Select all new files":{msgid:"Select all new files",msgstr:["Pilih semua berkas baru"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Lewati {count} berkas"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukuran tidak diketahui"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Unggahan dibatalkan"]},"Upload files":{msgid:"Upload files",msgstr:["Unggah berkas"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Berkas mana yang Anda ingin tetap simpan?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Anda harus memilih setidaknya satu versi dari masing-masing berkas untuk melanjutkan."]}}}}},{locale:"ig",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)","Content-Type":"text/plain; charset=UTF-8",Language:"ig","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ig\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"is",json:{charset:"utf-8",headers:{"Last-Translator":"Sveinn í Felli , 2023","Language-Team":"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)","Content-Type":"text/plain; charset=UTF-8",Language:"is","Plural-Forms":"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nSveinn í Felli , 2023\n"},msgstr:["Last-Translator: Sveinn í Felli , 2023\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} árekstur skráa","{count} árekstrar skráa"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} árekstur skráa í {dirname}","{count} árekstrar skráa í {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekúndur eftir"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} eftir"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["nokkrar sekúndur eftir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hætta við innsendingar"]},Continue:{msgid:"Continue",msgstr:["Halda áfram"]},"estimating time left":{msgid:"estimating time left",msgstr:["áætla tíma sem eftir er"]},"Existing version":{msgid:"Existing version",msgstr:["Fyrirliggjandi útgáfa"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ef þú velur báðar útgáfur, þá mun verða bætt tölustaf aftan við heiti afrituðu skrárinnar."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Síðasta breytingadagsetning er óþekkt"]},New:{msgid:"New",msgstr:["Nýtt"]},"New version":{msgid:"New version",msgstr:["Ný útgáfa"]},paused:{msgid:"paused",msgstr:["í bið"]},"Preview image":{msgid:"Preview image",msgstr:["Forskoðun myndar"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Velja gátreiti"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Velja allar fyrirliggjandi skrár"]},"Select all new files":{msgid:"Select all new files",msgstr:["Velja allar nýjar skrár"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Sleppa þessari skrá","Sleppa {count} skrám"]},"Unknown size":{msgid:"Unknown size",msgstr:["Óþekkt stærð"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hætt við innsendingu"]},"Upload files":{msgid:"Upload files",msgstr:["Senda inn skrár"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvaða skrám vilt þú vilt halda eftir?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Þú verður að velja að minnsta kosti eina útgáfu af hverri skrá til að halda áfram."]}}}}},{locale:"it",json:{charset:"utf-8",headers:{"Last-Translator":"Random_R, 2023","Language-Team":"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)","Content-Type":"text/plain; charset=UTF-8",Language:"it","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nLep Lep, 2023\nRandom_R, 2023\n"},msgstr:["Last-Translator: Random_R, 2023\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file in conflitto","{count} file in conflitto","{count} file in conflitto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondi rimanenti "]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} rimanente"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alcuni secondi rimanenti"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annulla i caricamenti"]},Continue:{msgid:"Continue",msgstr:["Continua"]},"estimating time left":{msgid:"estimating time left",msgstr:["calcolo il tempo rimanente"]},"Existing version":{msgid:"Existing version",msgstr:["Versione esistente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selezioni entrambe le versioni, nel nome del file copiato verrà aggiunto un numero "]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Ultima modifica sconosciuta"]},New:{msgid:"New",msgstr:["Nuovo"]},"New version":{msgid:"New version",msgstr:["Nuova versione"]},paused:{msgid:"paused",msgstr:["pausa"]},"Preview image":{msgid:"Preview image",msgstr:["Anteprima immagine"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleziona tutte le caselle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleziona tutti i file esistenti"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleziona tutti i nuovi file"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Salta questo file","Salta {count} file","Salta {count} file"]},"Unknown size":{msgid:"Unknown size",msgstr:["Dimensione sconosciuta"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Caricamento cancellato"]},"Upload files":{msgid:"Upload files",msgstr:["Carica i file"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quali file vuoi mantenere?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Devi selezionare almeno una versione di ogni file per continuare"]}}}}},{locale:"it_IT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)","Content-Type":"text/plain; charset=UTF-8",Language:"it_IT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it_IT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ja_JP",json:{charset:"utf-8",headers:{"Last-Translator":"かたかめ, 2022","Language-Team":"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)","Content-Type":"text/plain; charset=UTF-8",Language:"ja_JP","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nT.S, 2022\nかたかめ, 2022\n"},msgstr:["Last-Translator: かたかめ, 2022\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["残り {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["残り {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["残り数秒"]},Add:{msgid:"Add",msgstr:["追加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["アップロードをキャンセル"]},"estimating time left":{msgid:"estimating time left",msgstr:["概算残り時間"]},paused:{msgid:"paused",msgstr:["一時停止中"]},"Upload files":{msgid:"Upload files",msgstr:["ファイルをアップデート"]}}}}},{locale:"ka",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ka_GE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka_GE","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka_GE\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kab",json:{charset:"utf-8",headers:{"Last-Translator":"ZiriSut, 2023","Language-Team":"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)","Content-Type":"text/plain; charset=UTF-8",Language:"kab","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nZiriSut, 2023\n"},msgstr:["Last-Translator: ZiriSut, 2023\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kab\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} tesdatin i d-yeqqimen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} i d-yeqqimen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["qqiment-d kra n tesdatin kan"]},Add:{msgid:"Add",msgstr:["Rnu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Sefsex asali"]},"estimating time left":{msgid:"estimating time left",msgstr:["asizel n wakud i d-yeqqimen"]},paused:{msgid:"paused",msgstr:["yeḥbes"]},"Upload files":{msgid:"Upload files",msgstr:["Sali-d ifuyla"]}}}}},{locale:"kk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)","Content-Type":"text/plain; charset=UTF-8",Language:"kk","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kk\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"km",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)","Content-Type":"text/plain; charset=UTF-8",Language:"km","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: km\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)","Content-Type":"text/plain; charset=UTF-8",Language:"kn","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kn\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ko",json:{charset:"utf-8",headers:{"Last-Translator":"Brandon Han, 2024","Language-Team":"Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)","Content-Type":"text/plain; charset=UTF-8",Language:"ko","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nhosun Lee, 2023\nBrandon Han, 2024\n"},msgstr:["Last-Translator: Brandon Han, 2024\nLanguage-Team: Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ko\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count}개의 파일이 충돌함"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname}에서 {count}개의 파일이 충돌함"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} 남음"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} 남음"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["곧 완료"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["업로드 취소"]},Continue:{msgid:"Continue",msgstr:["확인"]},"estimating time left":{msgid:"estimating time left",msgstr:["남은 시간 계산"]},"Existing version":{msgid:"Existing version",msgstr:["현재 버전"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["두 버전을 모두 선택할 경우, 복제된 파일 이름에 숫자가 추가됩니다."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["최근 수정일 알 수 없음"]},New:{msgid:"New",msgstr:["새로 만들기"]},"New version":{msgid:"New version",msgstr:["새 버전"]},paused:{msgid:"paused",msgstr:["일시정지됨"]},"Preview image":{msgid:"Preview image",msgstr:["미리보기 이미지"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["모든 체크박스 선택"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["모든 파일 선택"]},"Select all new files":{msgid:"Select all new files",msgstr:["모든 새 파일 선택"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["{count}개의 파일 넘기기"]},"Unknown size":{msgid:"Unknown size",msgstr:["크기를 알 수 없음"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["업로드 취소됨"]},"Upload files":{msgid:"Upload files",msgstr:["파일 업로드"]},"Upload progress":{msgid:"Upload progress",msgstr:["업로드 진행도"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["어떤 파일을 보존하시겠습니까?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["계속하기 위해서는 한 파일에 최소 하나의 버전을 선택해야 합니다."]}}}}},{locale:"la",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latin (https://www.transifex.com/nextcloud/teams/64236/la/)","Content-Type":"text/plain; charset=UTF-8",Language:"la","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: la\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)","Content-Type":"text/plain; charset=UTF-8",Language:"lb","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lb\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)","Content-Type":"text/plain; charset=UTF-8",Language:"lo","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lo\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lt_LT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)","Content-Type":"text/plain; charset=UTF-8",Language:"lt_LT","Plural-Forms":"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lv",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)","Content-Type":"text/plain; charset=UTF-8",Language:"lv","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"mk",json:{charset:"utf-8",headers:{"Last-Translator":"Сашко Тодоров , 2022","Language-Team":"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)","Content-Type":"text/plain; charset=UTF-8",Language:"mk","Plural-Forms":"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nСашко Тодоров , 2022\n"},msgstr:["Last-Translator: Сашко Тодоров , 2022\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостануваат {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["преостанува {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["уште неколку секунди"]},Add:{msgid:"Add",msgstr:["Додади"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Прекини прикачување"]},"estimating time left":{msgid:"estimating time left",msgstr:["приближно преостанато време"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Upload files":{msgid:"Upload files",msgstr:["Прикачување датотеки"]}}}}},{locale:"mn",json:{charset:"utf-8",headers:{"Last-Translator":"BATKHUYAG Ganbold, 2023","Language-Team":"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)","Content-Type":"text/plain; charset=UTF-8",Language:"mn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBATKHUYAG Ganbold, 2023\n"},msgstr:["Last-Translator: BATKHUYAG Ganbold, 2023\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} секунд үлдсэн"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} үлдсэн"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["хэдхэн секунд үлдсэн"]},Add:{msgid:"Add",msgstr:["Нэмэх"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Илгээлтийг цуцлах"]},"estimating time left":{msgid:"estimating time left",msgstr:["Үлдсэн хугацааг тооцоолж байна"]},paused:{msgid:"paused",msgstr:["түр зогсоосон"]},"Upload files":{msgid:"Upload files",msgstr:["Файл илгээх"]}}}}},{locale:"mr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)","Content-Type":"text/plain; charset=UTF-8",Language:"mr","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mr\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ms_MY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)","Content-Type":"text/plain; charset=UTF-8",Language:"ms_MY","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ms_MY\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"my",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)","Content-Type":"text/plain; charset=UTF-8",Language:"my","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: my\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nb_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Syvert Fossdal, 2024","Language-Team":"Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nb_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nSyvert Fossdal, 2024\n"},msgstr:["Last-Translator: Syvert Fossdal, 2024\nLanguage-Team: Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file conflict","{count} filkonflikter"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file conflict in {dirname}","{count} filkonflikter i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder igjen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} igjen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noen få sekunder igjen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt opplastninger"]},Continue:{msgid:"Continue",msgstr:["Fortsett"]},"estimating time left":{msgid:"estimating time left",msgstr:["Estimerer tid igjen"]},"Existing version":{msgid:"Existing version",msgstr:["Gjeldende versjon"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Hvis du velger begge versjoner, vil den kopierte filen få et tall lagt til navnet."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Siste gang redigert ukjent"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny versjon"]},paused:{msgid:"paused",msgstr:["pauset"]},"Preview image":{msgid:"Preview image",msgstr:["Forhåndsvis bilde"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Velg alle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Velg alle eksisterende filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Velg alle nye filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Skip this file","Hopp over {count} filer"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukjent størrelse"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Opplasting avbrutt"]},"Upload files":{msgid:"Upload files",msgstr:["Last opp filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fremdrift, opplasting"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer vil du beholde?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du må velge minst en versjon av hver fil for å fortsette."]}}}}},{locale:"ne",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)","Content-Type":"text/plain; charset=UTF-8",Language:"ne","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ne\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nl",json:{charset:"utf-8",headers:{"Last-Translator":"Rico , 2023","Language-Team":"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)","Content-Type":"text/plain; charset=UTF-8",Language:"nl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRico , 2023\n"},msgstr:["Last-Translator: Rico , 2023\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Nog {seconds} seconden"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{seconds} over"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Nog een paar seconden"]},Add:{msgid:"Add",msgstr:["Voeg toe"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Uploads annuleren"]},"estimating time left":{msgid:"estimating time left",msgstr:["Schatting van de resterende tijd"]},paused:{msgid:"paused",msgstr:["Gepauzeerd"]},"Upload files":{msgid:"Upload files",msgstr:["Upload bestanden"]}}}}},{locale:"nn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nn_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"oc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)","Content-Type":"text/plain; charset=UTF-8",Language:"oc","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pl",json:{charset:"utf-8",headers:{"Last-Translator":"Valdnet, 2024","Language-Team":"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)","Content-Type":"text/plain; charset=UTF-8",Language:"pl","Plural-Forms":"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nM H , 2023\nValdnet, 2024\n"},msgstr:["Last-Translator: Valdnet, 2024\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["konflikt 1 pliku","{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} konfliktowy plik w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Pozostało {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Pozostało {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Pozostało kilka sekund"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anuluj wysyłanie"]},Continue:{msgid:"Continue",msgstr:["Kontynuuj"]},"estimating time left":{msgid:"estimating time left",msgstr:["Szacowanie pozostałego czasu"]},"Existing version":{msgid:"Existing version",msgstr:["Istniejąca wersja"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jeżeli wybierzesz obie wersje to do nazw skopiowanych plików zostanie dodany numer"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Nieznana data ostatniej modyfikacji"]},New:{msgid:"New",msgstr:["Nowy"]},"New version":{msgid:"New version",msgstr:["Nowa wersja"]},paused:{msgid:"paused",msgstr:["Wstrzymane"]},"Preview image":{msgid:"Preview image",msgstr:["Podgląd obrazu"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Zaznacz wszystkie boxy"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Zaznacz wszystkie istniejące pliki"]},"Select all new files":{msgid:"Select all new files",msgstr:["Zaznacz wszystkie nowe pliki"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Pomiń 1 plik","Pomiń {count} plików","Pomiń {count} plików","Pomiń {count} plików"]},"Unknown size":{msgid:"Unknown size",msgstr:["Nieznany rozmiar"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Anulowano wysyłanie"]},"Upload files":{msgid:"Upload files",msgstr:["Wyślij pliki"]},"Upload progress":{msgid:"Upload progress",msgstr:["Postęp wysyłania"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Które pliki chcesz zachować"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku."]}}}}},{locale:"ps",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)","Content-Type":"text/plain; charset=UTF-8",Language:"ps","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ps\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pt_BR",json:{charset:"utf-8",headers:{"Last-Translator":"Leonardo Colman Lopes , 2024","Language-Team":"Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_BR","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nLeonardo Colman Lopes , 2024\n"},msgstr:["Last-Translator: Leonardo Colman Lopes , 2024\nLanguage-Team: Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} arquivos em conflito","{count} arquivos em conflito","{count} arquivos em conflito"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} conflitos de arquivo em {dirname}","{count} conflitos de arquivo em {dirname}","{count} conflitos de arquivo em {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alguns segundos restantes"]},Cancel:{msgid:"Cancel",msgstr:["Cancelar"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Cancelar a operação inteira"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar uploads"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tempo restante"]},"Existing version":{msgid:"Existing version",msgstr:["Versão existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se você selecionar ambas as versões, o arquivo copiado terá um número adicionado ao seu nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Data da última modificação desconhecida"]},New:{msgid:"New",msgstr:["Novo"]},"New version":{msgid:"New version",msgstr:["Nova versão"]},paused:{msgid:"paused",msgstr:["pausado"]},"Preview image":{msgid:"Preview image",msgstr:["Visualizar imagem"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marque todas as caixas de seleção"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Selecione todos os arquivos existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Selecione todos os novos arquivos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Ignorar {count} arquivos","Ignorar {count} arquivos","Ignorar {count} arquivos"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamanho desconhecido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envio cancelado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar arquivos"]},"Upload progress":{msgid:"Upload progress",msgstr:["Envio em progresso"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Quando uma pasta é selecionada, quaisquer arquivos dentro dela também serão sobrescritos."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quais arquivos você deseja manter?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Você precisa selecionar pelo menos uma versão de cada arquivo para continuar."]}}}}},{locale:"pt_PT",json:{charset:"utf-8",headers:{"Last-Translator":"Manuela Silva , 2022","Language-Team":"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_PT","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nManuela Silva , 2022\n"},msgstr:["Last-Translator: Manuela Silva , 2022\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltam {seconds} segundo(s)"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["faltam {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltam uns segundos"]},Add:{msgid:"Add",msgstr:["Adicionar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envios"]},"estimating time left":{msgid:"estimating time left",msgstr:["tempo em falta estimado"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]}}}}},{locale:"ro",json:{charset:"utf-8",headers:{"Last-Translator":"Mădălin Vasiliu , 2022","Language-Team":"Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)","Content-Type":"text/plain; charset=UTF-8",Language:"ro","Plural-Forms":"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMădălin Vasiliu , 2022\n"},msgstr:["Last-Translator: Mădălin Vasiliu , 2022\nLanguage-Team: Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ro\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secunde rămase"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} rămas"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["câteva secunde rămase"]},Add:{msgid:"Add",msgstr:["Adaugă"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anulați încărcările"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimarea timpului rămas"]},paused:{msgid:"paused",msgstr:["pus pe pauză"]},"Upload files":{msgid:"Upload files",msgstr:["Încarcă fișiere"]}}}}},{locale:"ru",json:{charset:"utf-8",headers:{"Last-Translator":"Александр, 2023","Language-Team":"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMax Smith , 2023\nАлександр, 2023\n"},msgstr:["Last-Translator: Александр, 2023\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["конфликт {count} файла","конфликт {count} файлов","конфликт {count} файлов","конфликт {count} файлов"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["конфликт {count} файла в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["осталось {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["осталось {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["осталось несколько секунд"]},Add:{msgid:"Add",msgstr:["Добавить"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Отменить загрузки"]},Continue:{msgid:"Continue",msgstr:["Продолжить"]},"estimating time left":{msgid:"estimating time left",msgstr:["оценка оставшегося времени"]},"Existing version":{msgid:"Existing version",msgstr:["Текущая версия"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Если вы выберете обе версии, к имени скопированного файла будет добавлен номер."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата последнего изменения неизвестна"]},"New version":{msgid:"New version",msgstr:["Новая версия"]},paused:{msgid:"paused",msgstr:["приостановлено"]},"Preview image":{msgid:"Preview image",msgstr:["Предварительный просмотр"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Установить все флажки"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Выбрать все существующие файлы"]},"Select all new files":{msgid:"Select all new files",msgstr:["Выбрать все новые файлы"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустить файл","Пропустить {count} файла","Пропустить {count} файлов","Пропустить {count} файлов"]},"Unknown size":{msgid:"Unknown size",msgstr:["Неизвестный размер"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Загрузка отменена"]},"Upload files":{msgid:"Upload files",msgstr:["Загрузка файлов"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Какие файлы вы хотите сохранить?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продолжения вам нужно выбрать по крайней мере одну версию каждого файла."]}}}}},{locale:"ru_RU",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru_RU","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru_RU\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)","Content-Type":"text/plain; charset=UTF-8",Language:"sc","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sc\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)","Content-Type":"text/plain; charset=UTF-8",Language:"si","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"si_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sk_SK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)","Content-Type":"text/plain; charset=UTF-8",Language:"sk_SK","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sl",json:{charset:"utf-8",headers:{"Last-Translator":"Matej Urbančič <>, 2022","Language-Team":"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatej Urbančič <>, 2022\n"},msgstr:["Last-Translator: Matej Urbančič <>, 2022\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["še {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["še {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["še nekaj sekund"]},Add:{msgid:"Add",msgstr:["Dodaj"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Prekliči pošiljanje"]},"estimating time left":{msgid:"estimating time left",msgstr:["ocenjen čas do konca"]},paused:{msgid:"paused",msgstr:["v premoru"]},"Upload files":{msgid:"Upload files",msgstr:["Pošlji datoteke"]}}}}},{locale:"sl_SI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl_SI","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl_SI\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sq",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)","Content-Type":"text/plain; charset=UTF-8",Language:"sq","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sq\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sr",json:{charset:"utf-8",headers:{"Last-Translator":"Иван Пешић, 2023","Language-Team":"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nИван Пешић, 2023\n"},msgstr:["Last-Translator: Иван Пешић, 2023\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} фајл конфликт","{count} фајл конфликта","{count} фајл конфликта"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} фајл конфликт у {dirname}","{count} фајл конфликта у {dirname}","{count} фајл конфликта у {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостало је {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} преостало"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["преостало је неколико секунди"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Обустави отпремања"]},Continue:{msgid:"Continue",msgstr:["Настави"]},"estimating time left":{msgid:"estimating time left",msgstr:["процена преосталог времена"]},"Existing version":{msgid:"Existing version",msgstr:["Постојећа верзија"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ако изаберете обе верзије, на име копираног фајла ће се додати број."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Није познат датум последње измене"]},New:{msgid:"New",msgstr:["Ново"]},"New version":{msgid:"New version",msgstr:["Нова верзија"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Preview image":{msgid:"Preview image",msgstr:["Слика прегледа"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Штиклирај сва поља за штиклирање"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Изабери све постојеће фајлове"]},"Select all new files":{msgid:"Select all new files",msgstr:["Изабери све нове фајлове"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Прескочи овај фајл","Прескочи {count} фајла","Прескочи {count} фајлова"]},"Unknown size":{msgid:"Unknown size",msgstr:["Непозната величина"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Отпремање је отказано"]},"Upload files":{msgid:"Upload files",msgstr:["Отпреми фајлове"]},"Upload progress":{msgid:"Upload progress",msgstr:["Напредак отпремања"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Које фајлове желите да задржите?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Морате да изаберете барем једну верзију сваког фајла да наставите."]}}}}},{locale:"sr@latin",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr@latin","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr@latin\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sv",json:{charset:"utf-8",headers:{"Last-Translator":"Magnus Höglund, 2024","Language-Team":"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)","Content-Type":"text/plain; charset=UTF-8",Language:"sv","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMagnus Höglund, 2024\n"},msgstr:["Last-Translator: Magnus Höglund, 2024\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} filkonflikt","{count} filkonflikter"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} filkonflikt i {dirname}","{count} filkonflikter i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder kvarstår"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kvarstår"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["några sekunder kvar"]},Cancel:{msgid:"Cancel",msgstr:["Avbryt"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Avbryt hela operationen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt uppladdningar"]},Continue:{msgid:"Continue",msgstr:["Fortsätt"]},"estimating time left":{msgid:"estimating time left",msgstr:["uppskattar kvarstående tid"]},"Existing version":{msgid:"Existing version",msgstr:["Nuvarande version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Om du väljer båda versionerna kommer den kopierade filen att få ett nummer tillagt i namnet."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Senaste ändringsdatum okänt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pausad"]},"Preview image":{msgid:"Preview image",msgstr:["Förhandsgranska bild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Markera alla kryssrutor"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Välj alla befintliga filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Välj alla nya filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Hoppa över denna fil","Hoppa över {count} filer"]},"Unknown size":{msgid:"Unknown size",msgstr:["Okänd storlek"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Uppladdningen avbröts"]},"Upload files":{msgid:"Upload files",msgstr:["Ladda upp filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Uppladdningsförlopp"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["När en inkommande mapp väljs skrivs även alla konfliktande filer i den över."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Vilka filer vill du behålla?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du måste välja minst en version av varje fil för att fortsätta."]}}}}},{locale:"sw",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)","Content-Type":"text/plain; charset=UTF-8",Language:"sw","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sw\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Thai (https://www.transifex.com/nextcloud/teams/64236/th/)","Content-Type":"text/plain; charset=UTF-8",Language:"th","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Thai (https://www.transifex.com/nextcloud/teams/64236/th/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th_TH",json:{charset:"utf-8",headers:{"Last-Translator":"Phongpanot Phairat , 2022","Language-Team":"Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)","Content-Type":"text/plain; charset=UTF-8",Language:"th_TH","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhongpanot Phairat , 2022\n"},msgstr:["Last-Translator: Phongpanot Phairat , 2022\nLanguage-Team: Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th_TH\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["เหลืออีก {seconds} วินาที"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["เหลืออีก {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["เหลืออีกไม่กี่วินาที"]},Add:{msgid:"Add",msgstr:["เพิ่ม"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["ยกเลิกการอัปโหลด"]},"estimating time left":{msgid:"estimating time left",msgstr:["กำลังคำนวณเวลาที่เหลือ"]},paused:{msgid:"paused",msgstr:["หยุดชั่วคราว"]},"Upload files":{msgid:"Upload files",msgstr:["อัปโหลดไฟล์"]}}}}},{locale:"tk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)","Content-Type":"text/plain; charset=UTF-8",Language:"tk","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tk\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"tr",json:{charset:"utf-8",headers:{"Last-Translator":"Kaya Zeren , 2024","Language-Team":"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)","Content-Type":"text/plain; charset=UTF-8",Language:"tr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nKaya Zeren , 2024\n"},msgstr:["Last-Translator: Kaya Zeren , 2024\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} dosya çakışması var","{count} dosya çakışması var"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} klasöründe {count} dosya çakışması var","{dirname} klasöründe {count} dosya çakışması var"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniye kaldı"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kaldı"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir kaç saniye kaldı"]},Cancel:{msgid:"Cancel",msgstr:["İptal"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Tüm işlemi iptal et"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yüklemeleri iptal et"]},Continue:{msgid:"Continue",msgstr:["İlerle"]},"estimating time left":{msgid:"estimating time left",msgstr:["öngörülen kalan süre"]},"Existing version":{msgid:"Existing version",msgstr:["Var olan sürüm"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["İki sürümü de seçerseniz, kopyalanan dosyanın adına bir sayı eklenir."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Son değiştirilme tarihi bilinmiyor"]},New:{msgid:"New",msgstr:["Yeni"]},"New version":{msgid:"New version",msgstr:["Yeni sürüm"]},paused:{msgid:"paused",msgstr:["duraklatıldı"]},"Preview image":{msgid:"Preview image",msgstr:["Görsel ön izlemesi"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Tüm kutuları işaretle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Tüm var olan dosyaları seç"]},"Select all new files":{msgid:"Select all new files",msgstr:["Tüm yeni dosyaları seç"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Bu dosyayı atla","{count} dosyayı atla"]},"Unknown size":{msgid:"Unknown size",msgstr:["Boyut bilinmiyor"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Yükleme iptal edildi"]},"Upload files":{msgid:"Upload files",msgstr:["Dosyaları yükle"]},"Upload progress":{msgid:"Upload progress",msgstr:["Yükleme ilerlemesi"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hangi dosyaları tutmak istiyorsunuz?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["İlerlemek için her dosyanın en az bir sürümünü seçmelisiniz."]}}}}},{locale:"ug",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)","Content-Type":"text/plain; charset=UTF-8",Language:"ug","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ug\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uk",json:{charset:"utf-8",headers:{"Last-Translator":"O St , 2024","Language-Team":"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)","Content-Type":"text/plain; charset=UTF-8",Language:"uk","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nO St , 2024\n"},msgstr:["Last-Translator: O St , 2024\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} конфліктний файл","{count} конфліктних файли","{count} конфліктних файлів","{count} конфліктних файлів"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} конфліктний файл у каталозі {dirname}","{count} конфліктних файли у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Залишилося {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Залишилося {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["залишилося кілька секунд"]},Cancel:{msgid:"Cancel",msgstr:["Скасувати"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Скасувати операцію повністю"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Скасувати завантаження"]},Continue:{msgid:"Continue",msgstr:["Продовжити"]},"estimating time left":{msgid:"estimating time left",msgstr:["оцінка часу, що залишився"]},"Existing version":{msgid:"Existing version",msgstr:["Присутня версія"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Якщо ви виберете обидві версії, то буде створено копію файлу, до назви якої буде додано цифру."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата останньої зміни невідома"]},New:{msgid:"New",msgstr:["Нове"]},"New version":{msgid:"New version",msgstr:["Нова версія"]},paused:{msgid:"paused",msgstr:["призупинено"]},"Preview image":{msgid:"Preview image",msgstr:["Попередній перегляд"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Вибрати все"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Вибрати усі присутні файли"]},"Select all new files":{msgid:"Select all new files",msgstr:["Вибрати усі нові файли"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустити файл","Пропустити {count} файли","Пропустити {count} файлів","Пропустити {count} файлів"]},"Unknown size":{msgid:"Unknown size",msgstr:["Невідомий розмір"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Завантаження скасовано"]},"Upload files":{msgid:"Upload files",msgstr:["Завантажити файли"]},"Upload progress":{msgid:"Upload progress",msgstr:["Поступ завантаження"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Усі конфліктні файли у вибраному каталозі призначення буде перезаписано поверх."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Які файли залишити?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продовження потрібно вибрати принаймні одну версію для кожного файлу."]}}}}},{locale:"ur_PK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ur_PK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ur_PK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uz",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)","Content-Type":"text/plain; charset=UTF-8",Language:"uz","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uz\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"vi",json:{charset:"utf-8",headers:{"Last-Translator":"Tung DangQuang, 2023","Language-Team":"Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)","Content-Type":"text/plain; charset=UTF-8",Language:"vi","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nTung DangQuang, 2023\n"},msgstr:["Last-Translator: Tung DangQuang, 2023\nLanguage-Team: Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: vi\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Tập tin xung đột"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} tập tin lỗi trong {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Còn {second} giây"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Còn lại {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Còn lại một vài giây"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Huỷ tải lên"]},Continue:{msgid:"Continue",msgstr:["Tiếp Tục"]},"estimating time left":{msgid:"estimating time left",msgstr:["Thời gian còn lại dự kiến"]},"Existing version":{msgid:"Existing version",msgstr:["Phiên Bản Hiện Tại"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Nếu bạn chọn cả hai phiên bản, tệp được sao chép sẽ có thêm một số vào tên của nó."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Ngày sửa dổi lần cuối không xác định"]},New:{msgid:"New",msgstr:["Tạo Mới"]},"New version":{msgid:"New version",msgstr:["Phiên Bản Mới"]},paused:{msgid:"paused",msgstr:["đã tạm dừng"]},"Preview image":{msgid:"Preview image",msgstr:["Xem Trước Ảnh"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Chọn tất cả hộp checkbox"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Chọn tất cả các tập tin có sẵn"]},"Select all new files":{msgid:"Select all new files",msgstr:["Chọn tất cả các tập tin mới"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Bỏ Qua {count} tập tin"]},"Unknown size":{msgid:"Unknown size",msgstr:["Không rõ dung lượng"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Dừng Tải Lên"]},"Upload files":{msgid:"Upload files",msgstr:["Tập tin tải lên"]},"Upload progress":{msgid:"Upload progress",msgstr:["Đang Tải Lên"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Bạn muốn giữ tập tin nào?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Bạn cần chọn ít nhất một phiên bản tập tin mới có thể tiếp tục"]}}}}},{locale:"zh_CN",json:{charset:"utf-8",headers:{"Last-Translator":"Hongbo Chen, 2023","Language-Team":"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_CN","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nHongbo Chen, 2023\n"},msgstr:["Last-Translator: Hongbo Chen, 2023\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count}文件冲突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["在{dirname}目录下有{count}个文件冲突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩余 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩余 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["还剩几秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上传"]},Continue:{msgid:"Continue",msgstr:["继续"]},"estimating time left":{msgid:"estimating time left",msgstr:["估计剩余时间"]},"Existing version":{msgid:"Existing version",msgstr:["版本已存在"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["如果选择所有的版本,新增版本的文件名为原文件名加数字"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["文件最后修改日期未知"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暂停"]},"Preview image":{msgid:"Preview image",msgstr:["图片预览"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["选择所有的选择框"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["选择所有存在的文件"]},"Select all new files":{msgid:"Select all new files",msgstr:["选择所有的新文件"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["跳过{count}个文件"]},"Unknown size":{msgid:"Unknown size",msgstr:["文件大小未知"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["取消上传"]},"Upload files":{msgid:"Upload files",msgstr:["上传文件"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["你要保留哪些文件?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["每个文件至少选择一个版本"]}}}}},{locale:"zh_HK",json:{charset:"utf-8",headers:{"Last-Translator":"Café Tango, 2023","Language-Team":"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_HK","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nCafé Tango, 2023\n"},msgstr:["Last-Translator: Café Tango, 2023\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期不詳"]},"New version":{msgid:"New version",msgstr:["新版本 "]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 個檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["大小不詳"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}},{locale:"zh_TW",json:{charset:"utf-8",headers:{"Last-Translator":"黃柏諺 , 2024","Language-Team":"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_TW","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\n黃柏諺 , 2024\n"},msgstr:["Last-Translator: 黃柏諺 , 2024\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Cancel:{msgid:"Cancel",msgstr:["取消"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["取消整個操作"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期未知"]},New:{msgid:"New",msgstr:["新增"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["未知大小"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Upload progress":{msgid:"Upload progress",msgstr:["上傳進度"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["選取傳入資料夾後,其中任何的衝突檔案都會被覆寫。"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}}].map((e=>te.addTranslation(e.locale,e.json)));const ne=te.build(),ae=ne.ngettext.bind(ne),ie=ne.gettext.bind(ne),le=j.Ay.extend({name:"UploadPicker",components:{Cancel:X,NcActionButton:I.A,NcActions:O.A,NcButton:M.A,NcIconSvgWrapper:R.A,NcProgressBar:D.A,Plus:ee,Upload:se},props:{accept:{type:Array,default:null},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},destination:{type:x.vd,default:void 0},content:{type:Array,default:()=>[]},forbiddenCharacters:{type:Array,default:()=>[]}},data:()=>({addLabel:ie("New"),cancelLabel:ie("Cancel uploads"),uploadLabel:ie("Upload files"),progressLabel:ie("Upload progress"),progressTimeId:`nc-uploader-progress-${Math.random().toString(36).slice(7)}`,eta:null,timeLeft:"",newFileMenuEntries:[],uploadManager:oe()}),computed:{totalQueueSize(){return this.uploadManager.info?.size||0},uploadedQueueSize(){return this.uploadManager.info?.progress||0},progress(){return Math.round(this.uploadedQueueSize/this.totalQueueSize*100)||0},queue(){return this.uploadManager.queue},hasFailure(){return 0!==this.queue?.filter((e=>e.status===Y.FAILED)).length},isUploading(){return this.queue?.length>0},isAssembling(){return 0!==this.queue?.filter((e=>e.status===Y.ASSEMBLING)).length},isPaused(){return this.uploadManager.info?.status===J.PAUSED},buttonName(){if(!this.isUploading)return this.addLabel}},watch:{destination(e){this.setDestination(e)},totalQueueSize(e){this.eta=z({min:0,max:e}),this.updateStatus()},uploadedQueueSize(e){this.eta?.report?.(e),this.updateStatus()},isPaused(e){e?this.$emit("paused",this.queue):this.$emit("resumed",this.queue)}},beforeMount(){this.destination&&this.setDestination(this.destination),this.uploadManager.addNotifier(this.onUploadCompletion),K.debug("UploadPicker initialised")},methods:{onClick(){this.$refs.input.click()},async onPick(){let e=[...this.$refs.input.files];if(de(e,this.content)){const s=e.filter((e=>this.content.find((s=>s.basename===e.name)))).filter(Boolean),t=e.filter((e=>!s.includes(e)));try{const{selected:n,renamed:a}=await me(this.destination.basename,s,this.content);e=[...t,...n,...a]}catch{return void(0,E.Qg)(ie("Upload cancelled"))}}e.forEach((e=>{const s=(this.forbiddenCharacters||[]).find((s=>e.name.includes(s)));s?(0,E.Qg)(ie(`"${s}" is not allowed inside a file name.`)):this.uploadManager.upload(e.name,e).catch((()=>{}))})),this.$refs.form.reset()},onCancel(){this.uploadManager.queue.forEach((e=>{e.cancel()})),this.$refs.form.reset()},updateStatus(){if(this.isPaused)return void(this.timeLeft=ie("paused"));const e=Math.round(this.eta.estimate());if(e!==1/0)if(e<10)this.timeLeft=ie("a few seconds left");else if(e>60){const s=new Date(0);s.setSeconds(e);const t=s.toISOString().slice(11,19);this.timeLeft=ie("{time} left",{time:t})}else this.timeLeft=ie("{seconds} seconds left",{seconds:e});else this.timeLeft=ie("estimating time left")},setDestination(e){this.destination?(this.uploadManager.destination=e,this.newFileMenuEntries=(0,x.m1)(e)):K.debug("Invalid destination")},onUploadCompletion(e){e.status===Y.FAILED?this.$emit("failed",e):this.$emit("uploaded",e)}}});Z(le,(function(){var e=this,s=e._self._c;return e._self._setupProxy,e.destination?s("form",{ref:"form",staticClass:"upload-picker",class:{"upload-picker--uploading":e.isUploading,"upload-picker--paused":e.isPaused},attrs:{"data-cy-upload-picker":""}},[e.newFileMenuEntries&&0===e.newFileMenuEntries.length?s("NcButton",{attrs:{disabled:e.disabled,"data-cy-upload-picker-add":"",type:"secondary"},on:{click:e.onClick},scopedSlots:e._u([{key:"icon",fn:function(){return[s("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[e._v(" "+e._s(e.buttonName)+" ")]):s("NcActions",{attrs:{"menu-name":e.buttonName,"menu-title":e.addLabel,type:"secondary"},scopedSlots:e._u([{key:"icon",fn:function(){return[s("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[s("NcActionButton",{attrs:{"data-cy-upload-picker-add":"","close-after-click":!0},on:{click:e.onClick},scopedSlots:e._u([{key:"icon",fn:function(){return[s("Upload",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,3606034491)},[e._v(" "+e._s(e.uploadLabel)+" ")]),e._l(e.newFileMenuEntries,(function(t){return s("NcActionButton",{key:t.id,staticClass:"upload-picker__menu-entry",attrs:{icon:t.iconClass,"close-after-click":!0},on:{click:function(s){return t.handler(e.destination,e.content)}},scopedSlots:e._u([t.iconSvgInline?{key:"icon",fn:function(){return[s("NcIconSvgWrapper",{attrs:{svg:t.iconSvgInline}})]},proxy:!0}:null],null,!0)},[e._v(" "+e._s(t.displayName)+" ")])}))],2),s("div",{directives:[{name:"show",rawName:"v-show",value:e.isUploading,expression:"isUploading"}],staticClass:"upload-picker__progress"},[s("NcProgressBar",{attrs:{"aria-label":e.progressLabel,"aria-describedby":e.progressTimeId,error:e.hasFailure,value:e.progress,size:"medium"}}),s("p",{attrs:{id:e.progressTimeId}},[e._v(" "+e._s(e.timeLeft)+" ")])],1),e.isUploading?s("NcButton",{staticClass:"upload-picker__cancel",attrs:{type:"tertiary","aria-label":e.cancelLabel,"data-cy-upload-picker-cancel":""},on:{click:e.onCancel},scopedSlots:e._u([{key:"icon",fn:function(){return[s("Cancel",{attrs:{title:"",size:20}})]},proxy:!0}],null,!1,4076886712)}):e._e(),s("input",{directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}],ref:"input",attrs:{type:"file",accept:e.accept?.join?.(", "),multiple:e.multiple,"data-cy-upload-picker-input":""},on:{change:e.onPick}})],1):e._e()}),[],!1,null,"eca9500a",null,null).exports;let re=null;function oe(){const e=null!==document.querySelector('input[name="isPublic"][value="1"]');return re instanceof Q||(re=new Q(e)),re}async function me(e,s,n){const a=(0,j.$V)((()=>Promise.all([t.e(4208),t.e(6075)]).then(t.bind(t,56075))));return new Promise(((t,i)=>{const l=new j.Ay({name:"ConflictPickerRoot",render:r=>r(a,{props:{dirname:e,conflicts:s,content:n},on:{submit(e){t(e),l.$destroy(),l.$el?.parentNode?.removeChild(l.$el)},cancel(e){i(e??new Error("Canceled")),l.$destroy(),l.$el?.parentNode?.removeChild(l.$el)}}})});l.$mount(),document.body.appendChild(l.$el)}))}function de(e,s){const t=s.map((e=>e.basename));return e.filter((e=>{const s=e instanceof File?e.name:e.basename;return-1!==t.indexOf(s)})).length>0}},53110:(e,s,t)=>{"use strict";t.d(s,{k3:()=>l,pe:()=>i});var n=t(28893);const{Axios:a,AxiosError:i,CanceledError:l,isCancel:r,CancelToken:o,VERSION:m,all:d,Cancel:u,isAxiosError:g,spread:c,toFormData:f,AxiosHeaders:p,HttpStatusCode:h,formToJSON:w,getAdapter:T,mergeConfig:x}=n.A}},a={};function i(e){var s=a[e];if(void 0!==s)return s.exports;var t=a[e]={id:e,loaded:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.loaded=!0,t.exports}i.m=n,e=[],i.O=(s,t,n,a)=>{if(!t){var l=1/0;for(d=0;d=a)&&Object.keys(i.O).every((e=>i.O[e](t[o])))?t.splice(o--,1):(r=!1,a0&&e[d-1][2]>a;d--)e[d]=e[d-1];e[d]=[t,n,a]},i.n=e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return i.d(s,{a:s}),s},i.d=(e,s)=>{for(var t in s)i.o(s,t)&&!i.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:s[t]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((s,t)=>(i.f[t](e,s),s)),[])),i.u=e=>e+"-"+e+".js?v="+{4065:"9661e9d1e1b32699b74a",4254:"96661b9f421b07ce7189",6075:"d640b65b03c7259e0129",9558:"8c4576358f0dfcd0dc8e"}[e],i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,s)=>Object.prototype.hasOwnProperty.call(e,s),s={},t="nextcloud:",i.l=(e,n,a,l)=>{if(s[e])s[e].push(n);else{var r,o;if(void 0!==a)for(var m=document.getElementsByTagName("script"),d=0;d{r.onerror=r.onload=null,clearTimeout(c);var a=s[e];if(delete s[e],r.parentNode&&r.parentNode.removeChild(r),a&&a.forEach((e=>e(n))),t)return t(n)},c=setTimeout(g.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=g.bind(null,r.onerror),r.onload=g.bind(null,r.onload),o&&document.head.appendChild(r)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i.j=1171,(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var s=i.g.document;if(!e&&s&&(s.currentScript&&(e=s.currentScript.src),!e)){var t=s.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{i.b=document.baseURI||self.location.href;var e={1171:0};i.f.j=(s,t)=>{var n=i.o(e,s)?e[s]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,a)=>n=e[s]=[t,a]));t.push(n[2]=a);var l=i.p+i.u(s),r=new Error;i.l(l,(t=>{if(i.o(e,s)&&(0!==(n=e[s])&&(e[s]=void 0),n)){var a=t&&("load"===t.type?"missing":t.type),l=t&&t.target&&t.target.src;r.message="Loading chunk "+s+" failed.\n("+a+": "+l+")",r.name="ChunkLoadError",r.type=a,r.request=l,n[1](r)}}),"chunk-"+s,s)}},i.O.j=s=>0===e[s];var s=(s,t)=>{var n,a,l=t[0],r=t[1],o=t[2],m=0;if(l.some((s=>0!==e[s]))){for(n in r)i.o(r,n)&&(i.m[n]=r[n]);if(o)var d=o(i)}for(s&&s(t);mi(34707)));l=i.O(l)})(); +//# sourceMappingURL=files-init.js.map?v=ddba5e84449f8c838bec \ No newline at end of file diff --git a/dist/files-init.js.map b/dist/files-init.js.map index 6294c20ce4b6b..caf4f8e0e58f9 100644 --- a/dist/files-init.js.map +++ b/dist/files-init.js.map @@ -1 +1 @@ -{"version":3,"file":"files-init.js?v=3c26ab3639ad850b3daa","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/eventemitter3/index.js","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/actions/deleteAction.ts","webpack:///nextcloud/apps/files/src/actions/downloadAction.ts","webpack:///nextcloud/apps/files/src/actions/editLocallyAction.ts","webpack:///nextcloud/apps/files/src/actions/favoriteAction.ts","webpack:///nextcloud/apps/files/src/actions/moveOrCopyActionUtils.ts","webpack:///nextcloud/apps/files/src/services/WebdavClient.ts","webpack:///nextcloud/apps/files/src/utils/hashUtils.ts","webpack:///nextcloud/apps/files/src/services/Files.ts","webpack:///nextcloud/apps/files/src/actions/moveOrCopyAction.ts","webpack:///nextcloud/apps/files/src/actions/openFolderAction.ts","webpack:///nextcloud/apps/files/src/actions/openInFilesAction.ts","webpack:///nextcloud/apps/files/src/actions/renameAction.ts","webpack:///nextcloud/apps/files/src/actions/sidebarAction.ts","webpack:///nextcloud/apps/files/src/actions/viewInFolderAction.ts","webpack:///nextcloud/apps/files/src/components/NewNodeDialog.vue","webpack:///nextcloud/apps/files/src/components/NewNodeDialog.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/NewNodeDialog.vue?1a36","webpack:///nextcloud/apps/files/src/utils/newNodeDialog.ts","webpack:///nextcloud/apps/files/src/newMenu/newFolder.ts","webpack:///nextcloud/apps/files/src/newMenu/newTemplatesFolder.ts","webpack:///nextcloud/apps/files/src/newMenu/newFromTemplate.ts","webpack:///nextcloud/apps/files/src/services/Favorites.ts","webpack:///nextcloud/apps/files/src/views/favorites.ts","webpack:///nextcloud/apps/files/src/store/userconfig.ts","webpack:///nextcloud/apps/files/src/store/index.ts","webpack:///nextcloud/apps/files/src/services/Recent.ts","webpack:///nextcloud/apps/files/src/services/PersonalFiles.ts","webpack:///nextcloud/apps/files/src/init.ts","webpack:///nextcloud/apps/files/src/views/files.ts","webpack:///nextcloud/apps/files/src/views/recent.ts","webpack:///nextcloud/apps/files/src/views/personal-files.ts","webpack:///nextcloud/apps/files/src/services/ServiceWorker.js","webpack:///nextcloud/apps/files/src/services/LivePhotos.ts","webpack:///nextcloud/node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css","webpack:///nextcloud/node_modules/simple-eta/index.js","webpack://nextcloud/./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css?40cd","webpack:///nextcloud/node_modules/p-cancelable/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-timeout/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/priority-queue.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/lower-bound.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/dist/chunks/index-DM2X1kc6.mjs","webpack:///nextcloud/node_modules/axios/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { Permission, Node, View, FileAction, FileType } from '@nextcloud/files';\nimport { showInfo } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport CloseSvg from '@mdi/svg/svg/close.svg?raw';\nimport NetworkOffSvg from '@mdi/svg/svg/network-off.svg?raw';\nimport TrashCanSvg from '@mdi/svg/svg/trash-can.svg?raw';\nimport logger from '../logger.js';\nimport PQueue from 'p-queue';\nconst canUnshareOnly = (nodes) => {\n return nodes.every(node => node.attributes['is-mount-root'] === true\n && node.attributes['mount-type'] === 'shared');\n};\nconst canDisconnectOnly = (nodes) => {\n return nodes.every(node => node.attributes['is-mount-root'] === true\n && node.attributes['mount-type'] === 'external');\n};\nconst isMixedUnshareAndDelete = (nodes) => {\n if (nodes.length === 1) {\n return false;\n }\n const hasSharedItems = nodes.some(node => canUnshareOnly([node]));\n const hasDeleteItems = nodes.some(node => !canUnshareOnly([node]));\n return hasSharedItems && hasDeleteItems;\n};\nconst isAllFiles = (nodes) => {\n return !nodes.some(node => node.type !== FileType.File);\n};\nconst isAllFolders = (nodes) => {\n return !nodes.some(node => node.type !== FileType.Folder);\n};\nconst displayName = (nodes, view) => {\n /**\n * If we're in the trashbin, we can only delete permanently\n */\n if (view.id === 'trashbin') {\n return t('files', 'Delete permanently');\n }\n /**\n * If we're in the sharing view, we can only unshare\n */\n if (isMixedUnshareAndDelete(nodes)) {\n return t('files', 'Delete and unshare');\n }\n /**\n * If those nodes are all the root node of a\n * share, we can only unshare them.\n */\n if (canUnshareOnly(nodes)) {\n if (nodes.length === 1) {\n return t('files', 'Leave this share');\n }\n return t('files', 'Leave these shares');\n }\n /**\n * If those nodes are all the root node of an\n * external storage, we can only disconnect it.\n */\n if (canDisconnectOnly(nodes)) {\n if (nodes.length === 1) {\n return t('files', 'Disconnect storage');\n }\n return t('files', 'Disconnect storages');\n }\n /**\n * If we're only selecting files, use proper wording\n */\n if (isAllFiles(nodes)) {\n if (nodes.length === 1) {\n return t('files', 'Delete file');\n }\n return t('files', 'Delete files');\n }\n /**\n * If we're only selecting folders, use proper wording\n */\n if (isAllFolders(nodes)) {\n if (nodes.length === 1) {\n return t('files', 'Delete folder');\n }\n return t('files', 'Delete folders');\n }\n return t('files', 'Delete');\n};\nconst queue = new PQueue({ concurrency: 5 });\nexport const action = new FileAction({\n id: 'delete',\n displayName,\n iconSvgInline: (nodes) => {\n if (canUnshareOnly(nodes)) {\n return CloseSvg;\n }\n if (canDisconnectOnly(nodes)) {\n return NetworkOffSvg;\n }\n return TrashCanSvg;\n },\n enabled(nodes) {\n return nodes.length > 0 && nodes\n .map(node => node.permissions)\n .every(permission => (permission & Permission.DELETE) !== 0);\n },\n async exec(node, view, dir) {\n try {\n await axios.delete(node.encodedSource);\n // Let's delete even if it's moved to the trashbin\n // since it has been removed from the current view\n // and changing the view will trigger a reload anyway.\n emit('files:node:deleted', node);\n return true;\n }\n catch (error) {\n logger.error('Error while deleting a file', { error, source: node.source, node });\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n const confirm = await new Promise(resolve => {\n if (nodes.length >= 5 && !canUnshareOnly(nodes) && !canDisconnectOnly(nodes)) {\n // TODO use a proper dialog from @nextcloud/dialogs when available\n window.OC.dialogs.confirmDestructive(t('files', 'You are about to delete {count} items.', { count: nodes.length }), t('files', 'Confirm deletion'), {\n type: window.OC.dialogs.YES_NO_BUTTONS,\n confirm: displayName(nodes, view),\n confirmClasses: 'error',\n cancel: t('files', 'Cancel'),\n }, (decision) => {\n resolve(decision);\n });\n return;\n }\n resolve(true);\n });\n // If the user cancels the deletion, we don't want to do anything\n if (confirm === false) {\n showInfo(t('files', 'Deletion cancelled'));\n return Promise.all(nodes.map(() => false));\n }\n // Map each node to a promise that resolves with the result of exec(node)\n const promises = nodes.map(node => {\n // Create a promise that resolves with the result of exec(node)\n const promise = new Promise(resolve => {\n queue.add(async () => {\n const result = await this.exec(node, view, dir);\n resolve(result !== null ? result : false);\n });\n });\n return promise;\n });\n return Promise.all(promises);\n },\n order: 100,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { generateUrl } from '@nextcloud/router';\nimport { FileAction, Permission, Node, FileType, View } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport ArrowDownSvg from '@mdi/svg/svg/arrow-down.svg?raw';\nconst triggerDownload = function (url) {\n const hiddenElement = document.createElement('a');\n hiddenElement.download = '';\n hiddenElement.href = url;\n hiddenElement.click();\n};\nconst downloadNodes = function (dir, nodes) {\n const secret = Math.random().toString(36).substring(2);\n const url = generateUrl('/apps/files/ajax/download.php?dir={dir}&files={files}&downloadStartSecret={secret}', {\n dir,\n secret,\n files: JSON.stringify(nodes.map(node => node.basename)),\n });\n triggerDownload(url);\n};\nconst isDownloadable = function (node) {\n if ((node.permissions & Permission.READ) === 0) {\n return false;\n }\n // If the mount type is a share, ensure it got download permissions.\n if (node.attributes['mount-type'] === 'shared') {\n const shareAttributes = JSON.parse(node.attributes['share-attributes'] ?? 'null');\n const downloadAttribute = shareAttributes?.find?.((attribute) => attribute.scope === 'permissions' && attribute.key === 'download');\n if (downloadAttribute !== undefined && downloadAttribute.enabled === false) {\n return false;\n }\n }\n return true;\n};\nexport const action = new FileAction({\n id: 'download',\n displayName: () => t('files', 'Download'),\n iconSvgInline: () => ArrowDownSvg,\n enabled(nodes) {\n if (nodes.length === 0) {\n return false;\n }\n // We can download direct dav files. But if we have\n // some folders, we need to use the /apps/files/ajax/download.php\n // endpoint, which only supports user root folder.\n if (nodes.some(node => node.type === FileType.Folder)\n && nodes.some(node => !node.root?.startsWith('/files'))) {\n return false;\n }\n return nodes.every(isDownloadable);\n },\n async exec(node, view, dir) {\n if (node.type === FileType.Folder) {\n downloadNodes(dir, [node]);\n return null;\n }\n triggerDownload(node.encodedSource);\n return null;\n },\n async execBatch(nodes, view, dir) {\n if (nodes.length === 1) {\n this.exec(nodes[0], view, dir);\n return [null];\n }\n downloadNodes(dir, nodes);\n return new Array(nodes.length).fill(null);\n },\n order: 30,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { encodePath } from '@nextcloud/paths';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { FileAction, Permission } from '@nextcloud/files';\nimport { showError } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport LaptopSvg from '@mdi/svg/svg/laptop.svg?raw';\nconst openLocalClient = async function (path) {\n const link = generateOcsUrl('apps/files/api/v1') + '/openlocaleditor?format=json';\n try {\n const result = await axios.post(link, { path });\n const uid = getCurrentUser()?.uid;\n let url = `nc://open/${uid}@` + window.location.host + encodePath(path);\n url += '?token=' + result.data.ocs.data.token;\n window.location.href = url;\n }\n catch (error) {\n showError(t('files', 'Failed to redirect to client'));\n }\n};\nexport const action = new FileAction({\n id: 'edit-locally',\n displayName: () => t('files', 'Edit locally'),\n iconSvgInline: () => LaptopSvg,\n // Only works on single files\n enabled(nodes) {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n return (nodes[0].permissions & Permission.UPDATE) !== 0;\n },\n async exec(node) {\n openLocalClient(node.path);\n return null;\n },\n order: 25,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { Permission, View, FileAction } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nimport StarOutlineSvg from '@mdi/svg/svg/star-outline.svg?raw';\nimport StarSvg from '@mdi/svg/svg/star.svg?raw';\nimport logger from '../logger.js';\nimport { encodePath } from '@nextcloud/paths';\n// If any of the nodes is not favorited, we display the favorite action.\nconst shouldFavorite = (nodes) => {\n return nodes.some(node => node.attributes.favorite !== 1);\n};\nexport const favoriteNode = async (node, view, willFavorite) => {\n try {\n // TODO: migrate to webdav tags plugin\n const url = generateUrl('/apps/files/api/v1/files') + encodePath(node.path);\n await axios.post(url, {\n tags: willFavorite\n ? [window.OC.TAG_FAVORITE]\n : [],\n });\n // Let's delete if we are in the favourites view\n // AND if it is removed from the user favorites\n // AND it's in the root of the favorites view\n if (view.id === 'favorites' && !willFavorite && node.dirname === '/') {\n emit('files:node:deleted', node);\n }\n // Update the node webdav attribute\n Vue.set(node.attributes, 'favorite', willFavorite ? 1 : 0);\n // Dispatch event to whoever is interested\n if (willFavorite) {\n emit('files:favorites:added', node);\n }\n else {\n emit('files:favorites:removed', node);\n }\n return true;\n }\n catch (error) {\n const action = willFavorite ? 'adding a file to favourites' : 'removing a file from favourites';\n logger.error('Error while ' + action, { error, source: node.source, node });\n return false;\n }\n};\nexport const action = new FileAction({\n id: 'favorite',\n displayName(nodes) {\n return shouldFavorite(nodes)\n ? t('files', 'Add to favorites')\n : t('files', 'Remove from favorites');\n },\n iconSvgInline: (nodes) => {\n return shouldFavorite(nodes)\n ? StarOutlineSvg\n : StarSvg;\n },\n enabled(nodes) {\n // We can only favorite nodes within files and with permissions\n return !nodes.some(node => !node.root?.startsWith?.('/files'))\n && nodes.every(node => node.permissions !== Permission.NONE);\n },\n async exec(node, view) {\n const willFavorite = shouldFavorite([node]);\n return await favoriteNode(node, view, willFavorite);\n },\n async execBatch(nodes, view) {\n const willFavorite = shouldFavorite(nodes);\n return Promise.all(nodes.map(async (node) => await favoriteNode(node, view, willFavorite)));\n },\n order: -50,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\nimport { Permission } from '@nextcloud/files';\nimport PQueue from 'p-queue';\n// This is the processing queue. We only want to allow 3 concurrent requests\nlet queue;\n// Maximum number of concurrent operations\nconst MAX_CONCURRENCY = 5;\n/**\n * Get the processing queue\n */\nexport const getQueue = () => {\n if (!queue) {\n queue = new PQueue({ concurrency: MAX_CONCURRENCY });\n }\n return queue;\n};\nexport var MoveCopyAction;\n(function (MoveCopyAction) {\n MoveCopyAction[\"MOVE\"] = \"Move\";\n MoveCopyAction[\"COPY\"] = \"Copy\";\n MoveCopyAction[\"MOVE_OR_COPY\"] = \"move-or-copy\";\n})(MoveCopyAction || (MoveCopyAction = {}));\nexport const canMove = (nodes) => {\n const minPermission = nodes.reduce((min, node) => Math.min(min, node.permissions), Permission.ALL);\n return (minPermission & Permission.UPDATE) !== 0;\n};\nexport const canDownload = (nodes) => {\n return nodes.every(node => {\n const shareAttributes = JSON.parse(node.attributes?.['share-attributes'] ?? '[]');\n return !shareAttributes.some(attribute => attribute.scope === 'permissions' && attribute.enabled === false && attribute.key === 'download');\n });\n};\nexport const canCopy = (nodes) => {\n // a shared file cannot be copied if the download is disabled\n // it can be copied if the user has at least read permissions\n return canDownload(nodes)\n && !nodes.some(node => node.permissions === Permission.NONE);\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { createClient, getPatcher } from 'webdav';\nimport { generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser, getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth';\nexport const rootPath = `/files/${getCurrentUser()?.uid}`;\nexport const defaultRootUrl = generateRemoteUrl('dav' + rootPath);\nexport const getClient = (rootUrl = defaultRootUrl) => {\n const client = createClient(rootUrl);\n // set CSRF token header\n const setHeaders = (token) => {\n client?.setHeaders({\n // Add this so the server knows it is an request from the browser\n 'X-Requested-With': 'XMLHttpRequest',\n // Inject user auth\n requesttoken: token ?? '',\n });\n };\n // refresh headers when request token changes\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n /**\n * Allow to override the METHOD to support dav REPORT\n *\n * @see https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/request.ts\n */\n const patcher = getPatcher();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // https://github.com/perry-mitchell/hot-patcher/issues/6\n patcher.patch('fetch', (url, options) => {\n const headers = options.headers;\n if (headers?.method) {\n options.method = headers.method;\n delete headers.method;\n }\n return fetch(url, options);\n });\n return client;\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport const hashCode = function (str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash + str.charCodeAt(i)) | 0;\n }\n return (hash >>> 0);\n};\n","import { CancelablePromise } from 'cancelable-promise';\nimport { File, Folder, davParsePermissions, davGetDefaultPropfind } from '@nextcloud/files';\nimport { generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { getClient, rootPath } from './WebdavClient';\nimport { hashCode } from '../utils/hashUtils';\nimport logger from '../logger';\nconst client = getClient();\nexport const resultToNode = function (node) {\n const userId = getCurrentUser()?.uid;\n if (!userId) {\n throw new Error('No user id found');\n }\n const props = node.props;\n const permissions = davParsePermissions(props?.permissions);\n const owner = String(props['owner-id'] || userId);\n const source = generateRemoteUrl('dav' + rootPath + node.filename);\n const id = props?.fileid < 0\n ? hashCode(source)\n : props?.fileid || 0;\n const nodeData = {\n id,\n source,\n mtime: new Date(node.lastmod),\n mime: node.mime || 'application/octet-stream',\n size: props?.size || 0,\n permissions,\n owner,\n root: rootPath,\n attributes: {\n ...node,\n ...props,\n 'owner-id': owner,\n 'owner-display-name': String(props['owner-display-name']),\n hasPreview: !!props?.['has-preview'],\n failed: props?.fileid < 0,\n },\n };\n delete nodeData.attributes.props;\n return node.type === 'file'\n ? new File(nodeData)\n : new Folder(nodeData);\n};\nexport const getContents = (path = '/') => {\n const controller = new AbortController();\n const propfindPayload = davGetDefaultPropfind();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const contentsResponse = await client.getDirectoryContents(path, {\n details: true,\n data: propfindPayload,\n includeSelf: true,\n signal: controller.signal,\n });\n const root = contentsResponse.data[0];\n const contents = contentsResponse.data.slice(1);\n if (root.filename !== path) {\n throw new Error('Root node does not match requested path');\n }\n resolve({\n folder: resultToNode(root),\n contents: contents.map(result => {\n try {\n return resultToNode(result);\n }\n catch (error) {\n logger.error(`Invalid node detected '${result.basename}'`, { error });\n return null;\n }\n }).filter(Boolean),\n });\n }\n catch (error) {\n reject(error);\n }\n });\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\n// eslint-disable-next-line n/no-extraneous-import\nimport { AxiosError } from 'axios';\nimport { basename, join } from 'path';\nimport { emit } from '@nextcloud/event-bus';\nimport { FilePickerClosed, getFilePickerBuilder, showError } from '@nextcloud/dialogs';\nimport { FileAction, FileType, NodeStatus, davGetClient, davRootPath, davResultToNode, davGetDefaultPropfind, getUniqueName } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { openConflictPicker, hasConflict } from '@nextcloud/upload';\nimport Vue from 'vue';\nimport CopyIconSvg from '@mdi/svg/svg/folder-multiple.svg?raw';\nimport FolderMoveSvg from '@mdi/svg/svg/folder-move.svg?raw';\nimport { MoveCopyAction, canCopy, canMove, getQueue } from './moveOrCopyActionUtils';\nimport { getContents } from '../services/Files';\nimport logger from '../logger';\n/**\n * Return the action that is possible for the given nodes\n * @param {Node[]} nodes The nodes to check against\n * @return {MoveCopyAction} The action that is possible for the given nodes\n */\nconst getActionForNodes = (nodes) => {\n if (canMove(nodes)) {\n if (canCopy(nodes)) {\n return MoveCopyAction.MOVE_OR_COPY;\n }\n return MoveCopyAction.MOVE;\n }\n // Assuming we can copy as the enabled checks for copy permissions\n return MoveCopyAction.COPY;\n};\n/**\n * Handle the copy/move of a node to a destination\n * This can be imported and used by other scripts/components on server\n * @param {Node} node The node to copy/move\n * @param {Folder} destination The destination to copy/move the node to\n * @param {MoveCopyAction} method The method to use for the copy/move\n * @param {boolean} overwrite Whether to overwrite the destination if it exists\n * @return {Promise} A promise that resolves when the copy/move is done\n */\nexport const handleCopyMoveNodeTo = async (node, destination, method, overwrite = false) => {\n if (!destination) {\n return;\n }\n if (destination.type !== FileType.Folder) {\n throw new Error(t('files', 'Destination is not a folder'));\n }\n // Do not allow to MOVE a node to the same folder it is already located\n if (method === MoveCopyAction.MOVE && node.dirname === destination.path) {\n throw new Error(t('files', 'This file/folder is already in that directory'));\n }\n /**\n * Example:\n * - node: /foo/bar/file.txt -> path = /foo/bar/file.txt, destination: /foo\n * Allow move of /foo does not start with /foo/bar/file.txt so allow\n * - node: /foo , destination: /foo/bar\n * Do not allow as it would copy foo within itself\n * - node: /foo/bar.txt, destination: /foo\n * Allow copy a file to the same directory\n * - node: \"/foo/bar\", destination: \"/foo/bar 1\"\n * Allow to move or copy but we need to check with trailing / otherwise it would report false positive\n */\n if (`${destination.path}/`.startsWith(`${node.path}/`)) {\n throw new Error(t('files', 'You cannot move a file/folder onto itself or into a subfolder of itself'));\n }\n // Set loading state\n Vue.set(node, 'status', NodeStatus.LOADING);\n const queue = getQueue();\n return await queue.add(async () => {\n const copySuffix = (index) => {\n if (index === 1) {\n return t('files', '(copy)'); // TRANSLATORS: Mark a file as a copy of another file\n }\n return t('files', '(copy %n)', undefined, index); // TRANSLATORS: Meaning it is the n'th copy of a file\n };\n try {\n const client = davGetClient();\n const currentPath = join(davRootPath, node.path);\n const destinationPath = join(davRootPath, destination.path);\n if (method === MoveCopyAction.COPY) {\n let target = node.basename;\n // If we do not allow overwriting then find an unique name\n if (!overwrite) {\n const otherNodes = await client.getDirectoryContents(destinationPath);\n target = getUniqueName(node.basename, otherNodes.map((n) => n.basename), {\n suffix: copySuffix,\n ignoreFileExtension: node.type === FileType.Folder,\n });\n }\n await client.copyFile(currentPath, join(destinationPath, target));\n // If the node is copied into current directory the view needs to be updated\n if (node.dirname === destination.path) {\n const { data } = await client.stat(join(destinationPath, target), {\n details: true,\n data: davGetDefaultPropfind(),\n });\n emit('files:node:created', davResultToNode(data));\n }\n }\n else {\n // show conflict file popup if we do not allow overwriting\n const otherNodes = await getContents(destination.path);\n if (hasConflict([node], otherNodes.contents)) {\n try {\n // Let the user choose what to do with the conflicting files\n const { selected, renamed } = await openConflictPicker(destination.path, [node], otherNodes.contents);\n // two empty arrays: either only old files or conflict skipped -> no action required\n if (!selected.length && !renamed.length) {\n return;\n }\n }\n catch (error) {\n // User cancelled\n showError(t('files', 'Move cancelled'));\n return;\n }\n }\n // getting here means either no conflict, file was renamed to keep both files\n // in a conflict, or the selected file was chosen to be kept during the conflict\n await client.moveFile(currentPath, join(destinationPath, node.basename));\n // Delete the node as it will be fetched again\n // when navigating to the destination folder\n emit('files:node:deleted', node);\n }\n }\n catch (error) {\n if (error instanceof AxiosError) {\n if (error?.response?.status === 412) {\n throw new Error(t('files', 'A file or folder with that name already exists in this folder'));\n }\n else if (error?.response?.status === 423) {\n throw new Error(t('files', 'The files are locked'));\n }\n else if (error?.response?.status === 404) {\n throw new Error(t('files', 'The file does not exist anymore'));\n }\n else if (error.message) {\n throw new Error(error.message);\n }\n }\n logger.debug(error);\n throw new Error();\n }\n finally {\n Vue.set(node, 'status', undefined);\n }\n });\n};\n/**\n * Open a file picker for the given action\n * @param {MoveCopyAction} action The action to open the file picker for\n * @param {string} dir The directory to start the file picker in\n * @param {Node[]} nodes The nodes to move/copy\n * @return {Promise} The picked destination\n */\nconst openFilePickerForAction = async (action, dir = '/', nodes) => {\n const fileIDs = nodes.map(node => node.fileid).filter(Boolean);\n const filePicker = getFilePickerBuilder(t('files', 'Choose destination'))\n .allowDirectories(true)\n .setFilter((n) => {\n // We don't want to show the current nodes in the file picker\n return !fileIDs.includes(n.fileid);\n })\n .setMimeTypeFilter([])\n .setMultiSelect(false)\n .startAt(dir);\n return new Promise((resolve, reject) => {\n filePicker.setButtonFactory((selection, path) => {\n const buttons = [];\n const target = basename(path);\n const dirnames = nodes.map(node => node.dirname);\n const paths = nodes.map(node => node.path);\n if (action === MoveCopyAction.COPY || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Copy to {target}', { target }, undefined, { escape: false, sanitize: false }) : t('files', 'Copy'),\n type: 'primary',\n icon: CopyIconSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.COPY,\n });\n },\n });\n }\n // Invalid MOVE targets (but valid copy targets)\n if (dirnames.includes(path)) {\n // This file/folder is already in that directory\n return buttons;\n }\n if (paths.includes(path)) {\n // You cannot move a file/folder onto itself\n return buttons;\n }\n if (action === MoveCopyAction.MOVE || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Move to {target}', { target }, undefined, { escape: false, sanitize: false }) : t('files', 'Move'),\n type: action === MoveCopyAction.MOVE ? 'primary' : 'secondary',\n icon: FolderMoveSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.MOVE,\n });\n },\n });\n }\n return buttons;\n });\n const picker = filePicker.build();\n picker.pick().catch((error) => {\n logger.debug(error);\n if (error instanceof FilePickerClosed) {\n reject(new Error(t('files', 'Cancelled move or copy operation')));\n }\n else {\n reject(new Error(t('files', 'Move or copy operation failed')));\n }\n });\n });\n};\nexport const action = new FileAction({\n id: 'move-copy',\n displayName(nodes) {\n switch (getActionForNodes(nodes)) {\n case MoveCopyAction.MOVE:\n return t('files', 'Move');\n case MoveCopyAction.COPY:\n return t('files', 'Copy');\n case MoveCopyAction.MOVE_OR_COPY:\n return t('files', 'Move or copy');\n }\n },\n iconSvgInline: () => FolderMoveSvg,\n enabled(nodes) {\n // We only support moving/copying files within the user folder\n if (!nodes.every(node => node.root?.startsWith('/files/'))) {\n return false;\n }\n return nodes.length > 0 && (canMove(nodes) || canCopy(nodes));\n },\n async exec(node, view, dir) {\n const action = getActionForNodes([node]);\n let result;\n try {\n result = await openFilePickerForAction(action, dir, [node]);\n }\n catch (e) {\n logger.error(e);\n return false;\n }\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n if (error instanceof Error && !!error.message) {\n showError(error.message);\n // Silent action as we handle the toast\n return null;\n }\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n const action = getActionForNodes(nodes);\n const result = await openFilePickerForAction(action, dir, nodes);\n const promises = nodes.map(async (node) => {\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n logger.error(`Failed to ${result.action} node`, { node, error });\n return false;\n }\n });\n // We need to keep the selection on error!\n // So we do not return null, and for batch action\n // we let the front handle the error.\n return await Promise.all(promises);\n },\n order: 15,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Permission, Node, FileType, View, FileAction, DefaultType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport FolderSvg from '@mdi/svg/svg/folder.svg?raw';\nexport const action = new FileAction({\n id: 'open-folder',\n displayName(files) {\n // Only works on single node\n const displayName = files[0].attributes.displayname || files[0].basename;\n return t('files', 'Open folder {displayName}', { displayName });\n },\n iconSvgInline: () => FolderSvg,\n enabled(nodes) {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n const node = nodes[0];\n if (!node.isDavRessource) {\n return false;\n }\n return node.type === FileType.Folder\n && (node.permissions & Permission.READ) !== 0;\n },\n async exec(node, view) {\n if (!node || node.type !== FileType.Folder) {\n return false;\n }\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { dir: node.path });\n return null;\n },\n // Main action if enabled, meaning folders only\n default: DefaultType.HIDDEN,\n order: -100,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport { FileType, FileAction, DefaultType } from '@nextcloud/files';\n/**\n * TODO: Move away from a redirect and handle\n * navigation straight out of the recent view\n */\nexport const action = new FileAction({\n id: 'open-in-files-recent',\n displayName: () => t('files', 'Open in Files'),\n iconSvgInline: () => '',\n enabled: (nodes, view) => view.id === 'recent',\n async exec(node) {\n let dir = node.dirname;\n if (node.type === FileType.Folder) {\n dir = dir + '/' + node.basename;\n }\n window.OCP.Files.Router.goToRoute(null, // use default route\n { view: 'files', fileid: node.fileid }, { dir, openfile: 'true' });\n return null;\n },\n // Before openFolderAction\n order: -1000,\n default: DefaultType.HIDDEN,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { Permission, FileAction } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport PencilSvg from '@mdi/svg/svg/pencil.svg?raw';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: 'rename',\n displayName: () => t('files', 'Rename'),\n iconSvgInline: () => PencilSvg,\n enabled: (nodes) => {\n return nodes.length > 0 && nodes\n .map(node => node.permissions)\n .every(permission => (permission & Permission.UPDATE) !== 0);\n },\n async exec(node) {\n // Renaming is a built-in feature of the files app\n emit('files:node:rename', node);\n return null;\n },\n order: 10,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Permission, View, FileAction, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Open details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (nodes) => {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n if (!nodes[0]) {\n return false;\n }\n // Only work if the sidebar is available\n if (!window?.OCA?.Files?.Sidebar) {\n return false;\n }\n return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n },\n async exec(node, view, dir) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n await window.OCA.Files.Sidebar.open(node.path);\n // Silently update current fileid\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { ...window.OCP.Files.Router.query, dir }, true);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n order: -50,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Node, FileType, Permission, View, FileAction } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport FolderMoveSvg from '@mdi/svg/svg/folder-move.svg?raw';\nexport const action = new FileAction({\n id: 'view-in-folder',\n displayName() {\n return t('files', 'View in folder');\n },\n iconSvgInline: () => FolderMoveSvg,\n enabled(nodes, view) {\n // Only works outside of the main files view\n if (view.id === 'files') {\n return false;\n }\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n const node = nodes[0];\n if (!node.isDavRessource) {\n return false;\n }\n if (node.permissions === Permission.NONE) {\n return false;\n }\n return node.type === FileType.File;\n },\n async exec(node) {\n if (!node || node.type !== FileType.File) {\n return false;\n }\n window.OCP.Files.Router.goToRoute(null, { view: 'files', fileid: node.fileid }, { dir: node.dirname });\n return null;\n },\n order: 80,\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcDialog',{attrs:{\"name\":_vm.name,\"open\":_vm.open,\"close-on-click-outside\":\"\",\"out-transition\":\"\"},on:{\"update:open\":_vm.onClose},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.isUniqueName},on:{\"click\":_vm.onCreate}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Create'))+\"\\n\\t\\t\")])]},proxy:true}])},[_vm._v(\" \"),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onCreate.apply(null, arguments)}}},[_c('NcTextField',{ref:\"input\",attrs:{\"error\":!_vm.isUniqueName,\"helper-text\":_vm.errorMessage,\"label\":_vm.label,\"value\":_vm.localDefaultName},on:{\"update:value\":function($event){_vm.localDefaultName=$event}}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewNodeDialog.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewNodeDialog.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NewNodeDialog.vue?vue&type=template&id=a07aed44\"\nimport script from \"./NewNodeDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./NewNodeDialog.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { spawnDialog } from '@nextcloud/dialogs';\nimport NewNodeDialog from '../components/NewNodeDialog.vue';\n/**\n * Ask user for file or folder name\n * @param defaultName Default name to use\n * @param folderContent Nodes with in the current folder to check for unique name\n * @param labels Labels to set on the dialog\n * @return string if successfull otherwise null if aborted\n */\nexport function newNodeName(defaultName, folderContent, labels = {}) {\n const contentNames = folderContent.map((node) => node.basename);\n return new Promise((resolve) => {\n spawnDialog(NewNodeDialog, {\n ...labels,\n defaultName,\n otherNames: contentNames,\n }, (folderName) => {\n resolve(folderName);\n });\n });\n}\n","import { basename } from 'path';\nimport { emit } from '@nextcloud/event-bus';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { Permission, Folder } from '@nextcloud/files';\nimport { showSuccess } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport FolderPlusSvg from '@mdi/svg/svg/folder-plus.svg?raw';\nimport { newNodeName } from '../utils/newNodeDialog';\nimport logger from '../logger';\nconst createNewFolder = async (root, name) => {\n const source = root.source + '/' + name;\n const encodedSource = root.encodedSource + '/' + encodeURIComponent(name);\n const response = await axios({\n method: 'MKCOL',\n url: encodedSource,\n headers: {\n Overwrite: 'F',\n },\n });\n return {\n fileid: parseInt(response.headers['oc-fileid']),\n source,\n };\n};\nexport const entry = {\n id: 'newFolder',\n displayName: t('files', 'New folder'),\n enabled: (context) => (context.permissions & Permission.CREATE) !== 0,\n iconSvgInline: FolderPlusSvg,\n order: 0,\n async handler(context, content) {\n const name = await newNodeName(t('files', 'New folder'), content);\n if (name !== null) {\n const { fileid, source } = await createNewFolder(context, name);\n // Create the folder in the store\n const folder = new Folder({\n source,\n id: fileid,\n mtime: new Date(),\n owner: getCurrentUser()?.uid || null,\n permissions: Permission.ALL,\n root: context?.root || '/files/' + getCurrentUser()?.uid,\n // Include mount-type from parent folder as this is inherited\n attributes: {\n 'mount-type': context.attributes?.['mount-type'],\n 'owner-id': context.attributes?.['owner-id'],\n 'owner-display-name': context.attributes?.['owner-display-name'],\n },\n });\n showSuccess(t('files', 'Created new folder \"{name}\"', { name: basename(source) }));\n logger.debug('Created new folder', { folder, source });\n emit('files:node:created', folder);\n window.OCP.Files.Router.goToRoute(null, // use default route\n { view: 'files', fileid: folder.fileid }, { dir: context.path });\n }\n },\n};\n","import { getCurrentUser } from '@nextcloud/auth';\nimport { showError } from '@nextcloud/dialogs';\nimport { Permission, removeNewFileMenuEntry } from '@nextcloud/files';\nimport { loadState } from '@nextcloud/initial-state';\nimport { translate as t } from '@nextcloud/l10n';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { join } from 'path';\nimport { newNodeName } from '../utils/newNodeDialog';\nimport PlusSvg from '@mdi/svg/svg/plus.svg?raw';\nimport axios from '@nextcloud/axios';\nimport logger from '../logger.js';\nlet templatesPath = loadState('files', 'templates_path', false);\nlogger.debug('Initial templates folder', { templatesPath });\n/**\n * Init template folder\n * @param directory Folder where to create the templates folder\n * @param name Name to use or the templates folder\n */\nconst initTemplatesFolder = async function (directory, name) {\n const templatePath = join(directory.path, name);\n try {\n logger.debug('Initializing the templates directory', { templatePath });\n const { data } = await axios.post(generateOcsUrl('apps/files/api/v1/templates/path'), {\n templatePath,\n copySystemTemplates: true,\n });\n // Go to template directory\n window.OCP.Files.Router.goToRoute(null, // use default route\n { view: 'files', fileid: undefined }, { dir: templatePath });\n logger.info('Created new templates folder', {\n ...data.ocs.data,\n });\n templatesPath = data.ocs.data.templates_path;\n }\n catch (error) {\n logger.error('Unable to initialize the templates directory');\n showError(t('files', 'Unable to initialize the templates directory'));\n }\n};\nexport const entry = {\n id: 'template-picker',\n displayName: t('files', 'Create new templates folder'),\n iconSvgInline: PlusSvg,\n order: 10,\n enabled(context) {\n // Templates folder already initialized\n if (templatesPath) {\n return false;\n }\n // Allow creation on your own folders only\n if (context.owner !== getCurrentUser()?.uid) {\n return false;\n }\n return (context.permissions & Permission.CREATE) !== 0;\n },\n async handler(context, content) {\n const name = await newNodeName(t('files', 'Templates'), content, { name: t('files', 'New template folder') });\n if (name !== null) {\n // Create the template folder\n initTemplatesFolder(context, name);\n // Remove the menu entry\n removeNewFileMenuEntry('template-picker');\n }\n },\n};\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Folder, Node, Permission, addNewFileMenuEntry } from '@nextcloud/files';\nimport { loadState } from '@nextcloud/initial-state';\nimport { newNodeName } from '../utils/newNodeDialog';\nimport { translate as t } from '@nextcloud/l10n';\nimport Vue, { defineAsyncComponent } from 'vue';\n// async to reduce bundle size\nconst TemplatePickerVue = defineAsyncComponent(() => import('../views/TemplatePicker.vue'));\nlet TemplatePicker = null;\nconst getTemplatePicker = async (context) => {\n if (TemplatePicker === null) {\n // Create document root\n const mountingPoint = document.createElement('div');\n mountingPoint.id = 'template-picker';\n document.body.appendChild(mountingPoint);\n // Init vue app\n TemplatePicker = new Vue({\n render: (h) => h(TemplatePickerVue, {\n ref: 'picker',\n props: {\n parent: context,\n },\n }),\n methods: { open(...args) { this.$refs.picker.open(...args); } },\n el: mountingPoint,\n });\n }\n return TemplatePicker;\n};\n/**\n * Register all new-file-menu entries for all template providers\n */\nexport function registerTemplateEntries() {\n const templates = loadState('files', 'templates', []);\n // Init template files menu\n templates.forEach((provider, index) => {\n addNewFileMenuEntry({\n id: `template-new-${provider.app}-${index}`,\n displayName: provider.label,\n iconClass: provider.iconClass || 'icon-file',\n iconSvgInline: provider.iconSvgInline,\n enabled(context) {\n return (context.permissions & Permission.CREATE) !== 0;\n },\n order: 11,\n async handler(context, content) {\n const templatePicker = getTemplatePicker(context);\n const name = await newNodeName(`${provider.label}${provider.extension}`, content, {\n label: t('files', 'Filename'),\n name: provider.label,\n });\n if (name !== null) {\n // Create the file\n const picker = await templatePicker;\n picker.open(name, provider);\n }\n },\n });\n });\n}\n","import { Folder, davGetDefaultPropfind, davGetFavoritesReport } from '@nextcloud/files';\nimport { getClient } from './WebdavClient';\nimport { resultToNode } from './Files';\nconst client = getClient();\nexport const getContents = async (path = '/') => {\n const propfindPayload = davGetDefaultPropfind();\n const reportPayload = davGetFavoritesReport();\n // Get root folder\n let rootResponse;\n if (path === '/') {\n rootResponse = await client.stat(path, {\n details: true,\n data: propfindPayload,\n });\n }\n const contentsResponse = await client.getDirectoryContents(path, {\n details: true,\n // Only filter favorites if we're at the root\n data: path === '/' ? reportPayload : propfindPayload,\n headers: {\n // Patched in WebdavClient.ts\n method: path === '/' ? 'REPORT' : 'PROPFIND',\n },\n includeSelf: true,\n });\n const root = rootResponse?.data || contentsResponse.data[0];\n const contents = contentsResponse.data.filter(node => node.filename !== path);\n return {\n folder: resultToNode(root),\n contents: contents.map(resultToNode),\n };\n};\n","import { subscribe } from '@nextcloud/event-bus';\nimport { FileType, View, getNavigation } from '@nextcloud/files';\nimport { loadState } from '@nextcloud/initial-state';\nimport { getLanguage, translate as t } from '@nextcloud/l10n';\nimport { basename } from 'path';\nimport FolderSvg from '@mdi/svg/svg/folder.svg?raw';\nimport StarSvg from '@mdi/svg/svg/star.svg?raw';\nimport { getContents } from '../services/Favorites';\nimport { hashCode } from '../utils/hashUtils';\nimport logger from '../logger';\nexport const generateFavoriteFolderView = function (folder, index = 0) {\n return new View({\n id: generateIdFromPath(folder.path),\n name: basename(folder.path),\n icon: FolderSvg,\n order: index,\n params: {\n dir: folder.path,\n fileid: folder.fileid.toString(),\n view: 'favorites',\n },\n parent: 'favorites',\n columns: [],\n getContents,\n });\n};\nexport const generateIdFromPath = function (path) {\n return `favorite-${hashCode(path)}`;\n};\nexport default () => {\n // Load state in function for mock testing purposes\n const favoriteFolders = loadState('files', 'favoriteFolders', []);\n const favoriteFoldersViews = favoriteFolders.map((folder, index) => generateFavoriteFolderView(folder, index));\n logger.debug('Generating favorites view', { favoriteFolders });\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: 'favorites',\n name: t('files', 'Favorites'),\n caption: t('files', 'List of favorites files and folders.'),\n emptyTitle: t('files', 'No favorites yet'),\n emptyCaption: t('files', 'Files and folders you mark as favorite will show up here'),\n icon: StarSvg,\n order: 15,\n columns: [],\n getContents,\n }));\n favoriteFoldersViews.forEach(view => Navigation.register(view));\n /**\n * Update favourites navigation when a new folder is added\n */\n subscribe('files:favorites:added', (node) => {\n if (node.type !== FileType.Folder) {\n return;\n }\n // Sanity check\n if (node.path === null || !node.root?.startsWith('/files')) {\n logger.error('Favorite folder is not within user files root', { node });\n return;\n }\n addToFavorites(node);\n });\n /**\n * Remove favourites navigation when a folder is removed\n */\n subscribe('files:favorites:removed', (node) => {\n if (node.type !== FileType.Folder) {\n return;\n }\n // Sanity check\n if (node.path === null || !node.root?.startsWith('/files')) {\n logger.error('Favorite folder is not within user files root', { node });\n return;\n }\n removePathFromFavorites(node.path);\n });\n /**\n * Update favourites navigation when a folder is renamed\n */\n subscribe('files:node:renamed', (node) => {\n if (node.type !== FileType.Folder) {\n return;\n }\n if (node.attributes.favorite !== 1) {\n return;\n }\n updateNodeFromFavorites(node);\n });\n /**\n * Sort the favorites paths array and\n * update the order property of the existing views\n */\n const updateAndSortViews = function () {\n favoriteFolders.sort((a, b) => a.path.localeCompare(b.path, getLanguage(), { ignorePunctuation: true }));\n favoriteFolders.forEach((folder, index) => {\n const view = favoriteFoldersViews.find((view) => view.id === generateIdFromPath(folder.path));\n if (view) {\n view.order = index;\n }\n });\n };\n // Add a folder to the favorites paths array and update the views\n const addToFavorites = function (node) {\n const newFavoriteFolder = { path: node.path, fileid: node.fileid };\n const view = generateFavoriteFolderView(newFavoriteFolder);\n // Skip if already exists\n if (favoriteFolders.find((folder) => folder.path === node.path)) {\n return;\n }\n // Update arrays\n favoriteFolders.push(newFavoriteFolder);\n favoriteFoldersViews.push(view);\n // Update and sort views\n updateAndSortViews();\n Navigation.register(view);\n };\n // Remove a folder from the favorites paths array and update the views\n const removePathFromFavorites = function (path) {\n const id = generateIdFromPath(path);\n const index = favoriteFolders.findIndex((folder) => folder.path === path);\n // Skip if not exists\n if (index === -1) {\n return;\n }\n // Update arrays\n favoriteFolders.splice(index, 1);\n favoriteFoldersViews.splice(index, 1);\n // Update and sort views\n Navigation.remove(id);\n updateAndSortViews();\n };\n // Update a folder from the favorites paths array and update the views\n const updateNodeFromFavorites = function (node) {\n const favoriteFolder = favoriteFolders.find((folder) => folder.fileid === node.fileid);\n // Skip if it does not exists\n if (favoriteFolder === undefined) {\n return;\n }\n removePathFromFavorites(favoriteFolder.path);\n addToFavorites(node);\n };\n};\n","import { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst userConfig = loadState('files', 'config', {\n show_hidden: false,\n crop_image_previews: true,\n sort_favorites_first: true,\n sort_folders_first: true,\n grid_view: false,\n});\nexport const useUserConfigStore = function (...args) {\n const store = defineStore('userconfig', {\n state: () => ({\n userConfig,\n }),\n actions: {\n /**\n * Update the user config local store\n */\n onUpdate(key, value) {\n Vue.set(this.userConfig, key, value);\n },\n /**\n * Update the user config local store AND on server side\n */\n async update(key, value) {\n await axios.put(generateUrl('/apps/files/api/v1/config/' + key), {\n value,\n });\n emit('files:config:updated', { key, value });\n },\n },\n });\n const userConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!userConfigStore._initialized) {\n subscribe('files:config:updated', function ({ key, value }) {\n userConfigStore.onUpdate(key, value);\n });\n userConfigStore._initialized = true;\n }\n return userConfigStore;\n};\n","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { createPinia } from 'pinia';\nexport const pinia = createPinia();\n","import { getCurrentUser } from '@nextcloud/auth';\nimport { Folder, Permission, davGetRecentSearch, davGetClient, davResultToNode, davRootPath, davRemoteURL } from '@nextcloud/files';\nimport { useUserConfigStore } from '../store/userconfig.ts';\nimport { pinia } from '../store/index.ts';\nconst client = davGetClient();\nconst lastTwoWeeksTimestamp = Math.round((Date.now() / 1000) - (60 * 60 * 24 * 14));\n/**\n * Get recently changed nodes\n *\n * This takes the users preference about hidden files into account.\n * If hidden files are not shown, then also recently changed files *in* hidden directories are filtered.\n *\n * @param path Path to search for recent changes\n */\nexport const getContents = async (path = '/') => {\n const store = useUserConfigStore(pinia);\n /**\n * Filter function that returns only the visible nodes - or hidden if explicitly configured\n * @param node The node to check\n */\n const filterHidden = (node) => path !== '/' // We need to hide files from hidden directories in the root if not configured to show\n || store.userConfig.show_hidden // If configured to show hidden files we can early return\n || !node.dirname.split('/').some((dir) => dir.startsWith('.')); // otherwise only include the file if non of the parent directories is hidden\n const contentsResponse = await client.getDirectoryContents(path, {\n details: true,\n data: davGetRecentSearch(lastTwoWeeksTimestamp),\n headers: {\n // Patched in WebdavClient.ts\n method: 'SEARCH',\n // Somehow it's needed to get the correct response\n 'Content-Type': 'application/xml; charset=utf-8',\n },\n deep: true,\n });\n const contents = contentsResponse.data;\n return {\n folder: new Folder({\n id: 0,\n source: `${davRemoteURL}${davRootPath}`,\n root: davRootPath,\n owner: getCurrentUser()?.uid || null,\n permissions: Permission.READ,\n }),\n contents: contents.map((r) => davResultToNode(r)).filter(filterHidden),\n };\n};\n","/**\n * @copyright Copyright (c) 2024 Eduardo Morales \n *\n * @author Eduardo Morales \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { File } from '@nextcloud/files';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { getContents as getFiles } from './Files';\nconst currUserID = getCurrentUser()?.uid;\n/**\n * NOTE MOVE TO @nextcloud/files\n * @brief filters each file/folder on its shared status\n * \tA personal file is considered a file that has all of the following properties:\n * \t\ta.) the current user owns\n * \t\tb.) the file is not shared with anyone\n * \t\tc.) the file is not a group folder\n * @param {FileStat} node that contains\n * @return {Boolean}\n */\nexport const isPersonalFile = function (node) {\n // the type of mounts that determine whether the file is shared\n const sharedMountTypes = [\"group\", \"shared\"];\n const mountType = node.attributes['mount-type'];\n // the check to determine whether the current logged in user is the owner / creator of the node\n const currUserCreated = currUserID ? node.owner === currUserID : true;\n return currUserCreated && !sharedMountTypes.includes(mountType);\n};\nexport const getContents = (path = \"/\") => {\n // get all the files from the current path as a cancellable promise\n // then filter the files that the user does not own, or has shared / is a group folder\n return getFiles(path)\n .then(c => {\n c.contents = c.contents.filter(isPersonalFile);\n return c;\n });\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { addNewFileMenuEntry, registerDavProperty, registerFileAction } from '@nextcloud/files';\nimport { action as deleteAction } from './actions/deleteAction';\nimport { action as downloadAction } from './actions/downloadAction';\nimport { action as editLocallyAction } from './actions/editLocallyAction';\nimport { action as favoriteAction } from './actions/favoriteAction';\nimport { action as moveOrCopyAction } from './actions/moveOrCopyAction';\nimport { action as openFolderAction } from './actions/openFolderAction';\nimport { action as openInFilesAction } from './actions/openInFilesAction';\nimport { action as renameAction } from './actions/renameAction';\nimport { action as sidebarAction } from './actions/sidebarAction';\nimport { action as viewInFolderAction } from './actions/viewInFolderAction';\nimport { entry as newFolderEntry } from './newMenu/newFolder.ts';\nimport { entry as newTemplatesFolder } from './newMenu/newTemplatesFolder.ts';\nimport { registerTemplateEntries } from './newMenu/newFromTemplate.ts';\nimport registerFavoritesView from './views/favorites';\nimport registerRecentView from './views/recent';\nimport registerPersonalFilesView from './views/personal-files';\nimport registerFilesView from './views/files';\nimport registerPreviewServiceWorker from './services/ServiceWorker.js';\nimport { initLivePhotos } from './services/LivePhotos';\n// Register file actions\nregisterFileAction(deleteAction);\nregisterFileAction(downloadAction);\nregisterFileAction(editLocallyAction);\nregisterFileAction(favoriteAction);\nregisterFileAction(moveOrCopyAction);\nregisterFileAction(openFolderAction);\nregisterFileAction(openInFilesAction);\nregisterFileAction(renameAction);\nregisterFileAction(sidebarAction);\nregisterFileAction(viewInFolderAction);\n// Register new menu entry\naddNewFileMenuEntry(newFolderEntry);\naddNewFileMenuEntry(newTemplatesFolder);\nregisterTemplateEntries();\n// Register files views\nregisterFavoritesView();\nregisterFilesView();\nregisterRecentView();\nregisterPersonalFilesView();\n// Register preview service worker\nregisterPreviewServiceWorker();\nregisterDavProperty('nc:hidden', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('nc:is-mount-root', { nc: 'http://nextcloud.org/ns' });\ninitLivePhotos();\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport FolderSvg from '@mdi/svg/svg/folder.svg?raw';\nimport { getContents } from '../services/Files';\nimport { View, getNavigation } from '@nextcloud/files';\nexport default () => {\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: 'files',\n name: t('files', 'All files'),\n caption: t('files', 'List of your files and folders.'),\n icon: FolderSvg,\n order: 0,\n getContents,\n }));\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { View, getNavigation } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport HistorySvg from '@mdi/svg/svg/history.svg?raw';\nimport { getContents } from '../services/Recent';\nexport default () => {\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: 'recent',\n name: t('files', 'Recent'),\n caption: t('files', 'List of recently modified files and folders.'),\n emptyTitle: t('files', 'No recently modified files'),\n emptyCaption: t('files', 'Files and folders you recently modified will show up here.'),\n icon: HistorySvg,\n order: 10,\n defaultSortKey: 'mtime',\n getContents,\n }));\n};\n","/**\n * @copyright Copyright (c) 2024 Eduardo Morales \n *\n * @author Eduardo Morales \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport { View, getNavigation } from '@nextcloud/files';\nimport { getContents } from '../services/PersonalFiles';\nimport AccountIcon from '@mdi/svg/svg/account.svg?raw';\nexport default () => {\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: 'personal',\n name: t('files', 'Personal Files'),\n caption: t('files', 'List of your files and folders that are not shared.'),\n emptyTitle: t('files', 'No personal files found'),\n emptyCaption: t('files', 'Files that are not shared will show up here.'),\n icon: AccountIcon,\n order: 5,\n getContents,\n }));\n};\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { generateUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\nexport default () => {\n\tif ('serviceWorker' in navigator) {\n\t\t// Use the window load event to keep the page load performant\n\t\twindow.addEventListener('load', async () => {\n\t\t\ttry {\n\t\t\t\tconst url = generateUrl('/apps/files/preview-service-worker.js', {}, { noRewrite: true })\n\t\t\t\tconst registration = await navigator.serviceWorker.register(url, { scope: '/' })\n\t\t\t\tlogger.debug('SW registered: ', { registration })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('SW registration failed: ', { error })\n\t\t\t}\n\t\t})\n\t} else {\n\t\tlogger.debug('Service Worker is not enabled on this browser.')\n\t}\n}\n","/**\n * @copyright Copyright (c) 2023 Louis Chmn \n *\n * @author Louis Chmn \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Node, registerDavProperty } from '@nextcloud/files';\nexport function initLivePhotos() {\n registerDavProperty('nc:metadata-files-live-photo', { nc: 'http://nextcloud.org/ns' });\n}\n/**\n * @param {Node} node - The node\n */\nexport function isLivePhoto(node) {\n return node.attributes['metadata-files-live-photo'] !== undefined;\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF\",\"sourcesContent\":[\".upload-picker[data-v-eca9500a] {\\n display: inline-flex;\\n align-items: center;\\n height: 44px;\\n}\\n.upload-picker__progress[data-v-eca9500a] {\\n width: 200px;\\n max-width: 0;\\n transition: max-width var(--animation-quick) ease-in-out;\\n margin-top: 8px;\\n}\\n.upload-picker__progress p[data-v-eca9500a] {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\\n max-width: 200px;\\n margin-right: 20px;\\n margin-left: 8px;\\n}\\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\\n animation: breathing-eca9500a 3s ease-out infinite normal;\\n}\\n@keyframes breathing-eca9500a {\\n 0% {\\n opacity: .5;\\n }\\n 25% {\\n opacity: 1;\\n }\\n 60% {\\n opacity: .5;\\n }\\n to {\\n opacity: .5;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// @flow\n\n/*::\ntype Options = {\n max?: number,\n min?: number,\n historyTimeConstant?: number,\n autostart?: boolean,\n ignoreSameProgress?: boolean,\n}\n*/\n\nfunction makeLowPassFilter(RC/*: number*/) {\n return function (previousOutput, input, dt) {\n const alpha = dt / (dt + RC);\n return previousOutput + alpha * (input - previousOutput);\n }\n}\n\nfunction def/*:: */(x/*: ?T*/, d/*: T*/)/*: T*/ {\n return (x === undefined || x === null) ? d : x;\n}\n\nfunction makeEta(options/*::?: Options */) {\n options = options || {};\n var max = def(options.max, 1);\n var min = def(options.min, 0);\n var autostart = def(options.autostart, true);\n var ignoreSameProgress = def(options.ignoreSameProgress, false);\n\n var rate/*: number | null */ = null;\n var lastTimestamp/*: number | null */ = null;\n var lastProgress/*: number | null */ = null;\n\n var filter = makeLowPassFilter(def(options.historyTimeConstant, 2.5));\n\n function start() {\n report(min);\n }\n\n function reset() {\n rate = null;\n lastTimestamp = null;\n lastProgress = null;\n if (autostart) {\n start();\n }\n }\n\n function report(progress /*: number */, timestamp/*::?: number */) {\n if (typeof timestamp !== 'number') {\n timestamp = Date.now();\n }\n\n if (lastTimestamp === timestamp) { return; }\n if (ignoreSameProgress && lastProgress === progress) { return; }\n\n if (lastTimestamp === null || lastProgress === null) {\n lastProgress = progress;\n lastTimestamp = timestamp;\n return;\n }\n\n var deltaProgress = progress - lastProgress;\n var deltaTimestamp = 0.001 * (timestamp - lastTimestamp);\n var currentRate = deltaProgress / deltaTimestamp;\n\n rate = rate === null\n ? currentRate\n : filter(rate, currentRate, deltaTimestamp);\n lastProgress = progress;\n lastTimestamp = timestamp;\n }\n\n function estimate(timestamp/*::?: number*/) {\n if (lastProgress === null) { return Infinity; }\n if (lastProgress >= max) { return 0; }\n if (rate === null) { return Infinity; }\n\n var estimatedTime = (max - lastProgress) / rate;\n if (typeof timestamp === 'number' && typeof lastTimestamp === 'number') {\n estimatedTime -= (timestamp - lastTimestamp) * 0.001;\n }\n return Math.max(0, estimatedTime);\n }\n\n function getRate() {\n return rate === null ? 0 : rate;\n }\n\n return {\n start: start,\n reset: reset,\n report: report,\n estimate: estimate,\n rate: getRate,\n }\n}\n\nmodule.exports = makeEta;\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./index-Ussc_ol3.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./index-Ussc_ol3.css\";\n export default content && content.locals ? content.locals : undefined;\n","export class CancelError extends Error {\n\tconstructor(reason) {\n\t\tsuper(reason || 'Promise was canceled');\n\t\tthis.name = 'CancelError';\n\t}\n\n\tget isCanceled() {\n\t\treturn true;\n\t}\n}\n\nconst promiseState = Object.freeze({\n\tpending: Symbol('pending'),\n\tcanceled: Symbol('canceled'),\n\tresolved: Symbol('resolved'),\n\trejected: Symbol('rejected'),\n});\n\nexport default class PCancelable {\n\tstatic fn(userFunction) {\n\t\treturn (...arguments_) => new PCancelable((resolve, reject, onCancel) => {\n\t\t\targuments_.push(onCancel);\n\t\t\tuserFunction(...arguments_).then(resolve, reject);\n\t\t});\n\t}\n\n\t#cancelHandlers = [];\n\t#rejectOnCancel = true;\n\t#state = promiseState.pending;\n\t#promise;\n\t#reject;\n\n\tconstructor(executor) {\n\t\tthis.#promise = new Promise((resolve, reject) => {\n\t\t\tthis.#reject = reject;\n\n\t\t\tconst onResolve = value => {\n\t\t\t\tif (this.#state !== promiseState.canceled || !onCancel.shouldReject) {\n\t\t\t\t\tresolve(value);\n\t\t\t\t\tthis.#setState(promiseState.resolved);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst onReject = error => {\n\t\t\t\tif (this.#state !== promiseState.canceled || !onCancel.shouldReject) {\n\t\t\t\t\treject(error);\n\t\t\t\t\tthis.#setState(promiseState.rejected);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst onCancel = handler => {\n\t\t\t\tif (this.#state !== promiseState.pending) {\n\t\t\t\t\tthrow new Error(`The \\`onCancel\\` handler was attached after the promise ${this.#state.description}.`);\n\t\t\t\t}\n\n\t\t\t\tthis.#cancelHandlers.push(handler);\n\t\t\t};\n\n\t\t\tObject.defineProperties(onCancel, {\n\t\t\t\tshouldReject: {\n\t\t\t\t\tget: () => this.#rejectOnCancel,\n\t\t\t\t\tset: boolean => {\n\t\t\t\t\t\tthis.#rejectOnCancel = boolean;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\n\t\t\texecutor(onResolve, onReject, onCancel);\n\t\t});\n\t}\n\n\t// eslint-disable-next-line unicorn/no-thenable\n\tthen(onFulfilled, onRejected) {\n\t\treturn this.#promise.then(onFulfilled, onRejected);\n\t}\n\n\tcatch(onRejected) {\n\t\treturn this.#promise.catch(onRejected);\n\t}\n\n\tfinally(onFinally) {\n\t\treturn this.#promise.finally(onFinally);\n\t}\n\n\tcancel(reason) {\n\t\tif (this.#state !== promiseState.pending) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#setState(promiseState.canceled);\n\n\t\tif (this.#cancelHandlers.length > 0) {\n\t\t\ttry {\n\t\t\t\tfor (const handler of this.#cancelHandlers) {\n\t\t\t\t\thandler();\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tthis.#reject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (this.#rejectOnCancel) {\n\t\t\tthis.#reject(new CancelError(reason));\n\t\t}\n\t}\n\n\tget isCanceled() {\n\t\treturn this.#state === promiseState.canceled;\n\t}\n\n\t#setState(state) {\n\t\tif (this.#state === promiseState.pending) {\n\t\t\tthis.#state = state;\n\t\t}\n\t}\n}\n\nObject.setPrototypeOf(PCancelable.prototype, Promise.prototype);\n","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\n/**\nAn error to be thrown when the request is aborted by AbortController.\nDOMException is thrown instead of this Error when DOMException is available.\n*/\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\n/**\nTODO: Remove AbortError and just throw DOMException when targeting Node 18.\n*/\nconst getDOMException = errorMessage => globalThis.DOMException === undefined\n\t? new AbortError(errorMessage)\n\t: new DOMException(errorMessage);\n\n/**\nTODO: Remove below function and just 'reject(signal.reason)' when targeting Node 18.\n*/\nconst getAbortedReason = signal => {\n\tconst reason = signal.reason === undefined\n\t\t? getDOMException('This operation was aborted.')\n\t\t: signal.reason;\n\n\treturn reason instanceof Error ? reason : getDOMException(reason);\n};\n\nexport default function pTimeout(promise, options) {\n\tconst {\n\t\tmilliseconds,\n\t\tfallback,\n\t\tmessage,\n\t\tcustomTimers = {setTimeout, clearTimeout},\n\t} = options;\n\n\tlet timer;\n\n\tconst wrappedPromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || Math.sign(milliseconds) !== 1) {\n\t\t\tthrow new TypeError(`Expected \\`milliseconds\\` to be a positive number, got \\`${milliseconds}\\``);\n\t\t}\n\n\t\tif (options.signal) {\n\t\t\tconst {signal} = options;\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t}\n\n\t\t\tsignal.addEventListener('abort', () => {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t});\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tpromise.then(resolve, reject);\n\t\t\treturn;\n\t\t}\n\n\t\t// We create the error outside of `setTimeout` to preserve the stack trace.\n\t\tconst timeoutError = new TimeoutError();\n\n\t\ttimer = customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (fallback) {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\tif (message === false) {\n\t\t\t\tresolve();\n\t\t\t} else if (message instanceof Error) {\n\t\t\t\treject(message);\n\t\t\t} else {\n\t\t\t\ttimeoutError.message = message ?? `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\t\treject(timeoutError);\n\t\t\t}\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t})();\n\t});\n\n\tconst cancelablePromise = wrappedPromise.finally(() => {\n\t\tcancelablePromise.clear();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tcustomTimers.clearTimeout.call(undefined, timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import lowerBound from './lower-bound.js';\nexport default class PriorityQueue {\n #queue = [];\n enqueue(run, options) {\n options = {\n priority: 0,\n ...options,\n };\n const element = {\n priority: options.priority,\n run,\n };\n if (this.size && this.#queue[this.size - 1].priority >= options.priority) {\n this.#queue.push(element);\n return;\n }\n const index = lowerBound(this.#queue, element, (a, b) => b.priority - a.priority);\n this.#queue.splice(index, 0, element);\n }\n dequeue() {\n const item = this.#queue.shift();\n return item?.run;\n }\n filter(options) {\n return this.#queue.filter((element) => element.priority === options.priority).map((element) => element.run);\n }\n get size() {\n return this.#queue.length;\n }\n}\n","// Port of lower_bound from https://en.cppreference.com/w/cpp/algorithm/lower_bound\n// Used to compute insertion index to keep queue sorted after insertion\nexport default function lowerBound(array, value, comparator) {\n let first = 0;\n let count = array.length;\n while (count > 0) {\n const step = Math.trunc(count / 2);\n let it = first + step;\n if (comparator(array[it], value) <= 0) {\n first = ++it;\n count -= step + 1;\n }\n else {\n count = step;\n }\n }\n return first;\n}\n","import { EventEmitter } from 'eventemitter3';\nimport pTimeout, { TimeoutError } from 'p-timeout';\nimport PriorityQueue from './priority-queue.js';\n/**\nPromise queue with concurrency control.\n*/\nexport default class PQueue extends EventEmitter {\n #carryoverConcurrencyCount;\n #isIntervalIgnored;\n #intervalCount = 0;\n #intervalCap;\n #interval;\n #intervalEnd = 0;\n #intervalId;\n #timeoutId;\n #queue;\n #queueClass;\n #pending = 0;\n // The `!` is needed because of https://github.com/microsoft/TypeScript/issues/32194\n #concurrency;\n #isPaused;\n #throwOnTimeout;\n /**\n Per-operation timeout in milliseconds. Operations fulfill once `timeout` elapses if they haven't already.\n\n Applies to each future operation.\n */\n timeout;\n // TODO: The `throwOnTimeout` option should affect the return types of `add()` and `addAll()`\n constructor(options) {\n super();\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n options = {\n carryoverConcurrencyCount: false,\n intervalCap: Number.POSITIVE_INFINITY,\n interval: 0,\n concurrency: Number.POSITIVE_INFINITY,\n autoStart: true,\n queueClass: PriorityQueue,\n ...options,\n };\n if (!(typeof options.intervalCap === 'number' && options.intervalCap >= 1)) {\n throw new TypeError(`Expected \\`intervalCap\\` to be a number from 1 and up, got \\`${options.intervalCap?.toString() ?? ''}\\` (${typeof options.intervalCap})`);\n }\n if (options.interval === undefined || !(Number.isFinite(options.interval) && options.interval >= 0)) {\n throw new TypeError(`Expected \\`interval\\` to be a finite number >= 0, got \\`${options.interval?.toString() ?? ''}\\` (${typeof options.interval})`);\n }\n this.#carryoverConcurrencyCount = options.carryoverConcurrencyCount;\n this.#isIntervalIgnored = options.intervalCap === Number.POSITIVE_INFINITY || options.interval === 0;\n this.#intervalCap = options.intervalCap;\n this.#interval = options.interval;\n this.#queue = new options.queueClass();\n this.#queueClass = options.queueClass;\n this.concurrency = options.concurrency;\n this.timeout = options.timeout;\n this.#throwOnTimeout = options.throwOnTimeout === true;\n this.#isPaused = options.autoStart === false;\n }\n get #doesIntervalAllowAnother() {\n return this.#isIntervalIgnored || this.#intervalCount < this.#intervalCap;\n }\n get #doesConcurrentAllowAnother() {\n return this.#pending < this.#concurrency;\n }\n #next() {\n this.#pending--;\n this.#tryToStartAnother();\n this.emit('next');\n }\n #onResumeInterval() {\n this.#onInterval();\n this.#initializeIntervalIfNeeded();\n this.#timeoutId = undefined;\n }\n get #isIntervalPaused() {\n const now = Date.now();\n if (this.#intervalId === undefined) {\n const delay = this.#intervalEnd - now;\n if (delay < 0) {\n // Act as the interval was done\n // We don't need to resume it here because it will be resumed on line 160\n this.#intervalCount = (this.#carryoverConcurrencyCount) ? this.#pending : 0;\n }\n else {\n // Act as the interval is pending\n if (this.#timeoutId === undefined) {\n this.#timeoutId = setTimeout(() => {\n this.#onResumeInterval();\n }, delay);\n }\n return true;\n }\n }\n return false;\n }\n #tryToStartAnother() {\n if (this.#queue.size === 0) {\n // We can clear the interval (\"pause\")\n // Because we can redo it later (\"resume\")\n if (this.#intervalId) {\n clearInterval(this.#intervalId);\n }\n this.#intervalId = undefined;\n this.emit('empty');\n if (this.#pending === 0) {\n this.emit('idle');\n }\n return false;\n }\n if (!this.#isPaused) {\n const canInitializeInterval = !this.#isIntervalPaused;\n if (this.#doesIntervalAllowAnother && this.#doesConcurrentAllowAnother) {\n const job = this.#queue.dequeue();\n if (!job) {\n return false;\n }\n this.emit('active');\n job();\n if (canInitializeInterval) {\n this.#initializeIntervalIfNeeded();\n }\n return true;\n }\n }\n return false;\n }\n #initializeIntervalIfNeeded() {\n if (this.#isIntervalIgnored || this.#intervalId !== undefined) {\n return;\n }\n this.#intervalId = setInterval(() => {\n this.#onInterval();\n }, this.#interval);\n this.#intervalEnd = Date.now() + this.#interval;\n }\n #onInterval() {\n if (this.#intervalCount === 0 && this.#pending === 0 && this.#intervalId) {\n clearInterval(this.#intervalId);\n this.#intervalId = undefined;\n }\n this.#intervalCount = this.#carryoverConcurrencyCount ? this.#pending : 0;\n this.#processQueue();\n }\n /**\n Executes all queued functions until it reaches the limit.\n */\n #processQueue() {\n // eslint-disable-next-line no-empty\n while (this.#tryToStartAnother()) { }\n }\n get concurrency() {\n return this.#concurrency;\n }\n set concurrency(newConcurrency) {\n if (!(typeof newConcurrency === 'number' && newConcurrency >= 1)) {\n throw new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${newConcurrency}\\` (${typeof newConcurrency})`);\n }\n this.#concurrency = newConcurrency;\n this.#processQueue();\n }\n async #throwOnAbort(signal) {\n return new Promise((_resolve, reject) => {\n signal.addEventListener('abort', () => {\n reject(signal.reason);\n }, { once: true });\n });\n }\n async add(function_, options = {}) {\n options = {\n timeout: this.timeout,\n throwOnTimeout: this.#throwOnTimeout,\n ...options,\n };\n return new Promise((resolve, reject) => {\n this.#queue.enqueue(async () => {\n this.#pending++;\n this.#intervalCount++;\n try {\n options.signal?.throwIfAborted();\n let operation = function_({ signal: options.signal });\n if (options.timeout) {\n operation = pTimeout(Promise.resolve(operation), { milliseconds: options.timeout });\n }\n if (options.signal) {\n operation = Promise.race([operation, this.#throwOnAbort(options.signal)]);\n }\n const result = await operation;\n resolve(result);\n this.emit('completed', result);\n }\n catch (error) {\n if (error instanceof TimeoutError && !options.throwOnTimeout) {\n resolve();\n return;\n }\n reject(error);\n this.emit('error', error);\n }\n finally {\n this.#next();\n }\n }, options);\n this.emit('add');\n this.#tryToStartAnother();\n });\n }\n async addAll(functions, options) {\n return Promise.all(functions.map(async (function_) => this.add(function_, options)));\n }\n /**\n Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.)\n */\n start() {\n if (!this.#isPaused) {\n return this;\n }\n this.#isPaused = false;\n this.#processQueue();\n return this;\n }\n /**\n Put queue execution on hold.\n */\n pause() {\n this.#isPaused = true;\n }\n /**\n Clear the queue.\n */\n clear() {\n this.#queue = new this.#queueClass();\n }\n /**\n Can be called multiple times. Useful if you for example add additional items at a later time.\n\n @returns A promise that settles when the queue becomes empty.\n */\n async onEmpty() {\n // Instantly resolve if the queue is empty\n if (this.#queue.size === 0) {\n return;\n }\n await this.#onEvent('empty');\n }\n /**\n @returns A promise that settles when the queue size is less than the given limit: `queue.size < limit`.\n\n If you want to avoid having the queue grow beyond a certain size you can `await queue.onSizeLessThan()` before adding a new item.\n\n Note that this only limits the number of items waiting to start. There could still be up to `concurrency` jobs already running that this call does not include in its calculation.\n */\n async onSizeLessThan(limit) {\n // Instantly resolve if the queue is empty.\n if (this.#queue.size < limit) {\n return;\n }\n await this.#onEvent('next', () => this.#queue.size < limit);\n }\n /**\n The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.\n\n @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.\n */\n async onIdle() {\n // Instantly resolve if none pending and if nothing else is queued\n if (this.#pending === 0 && this.#queue.size === 0) {\n return;\n }\n await this.#onEvent('idle');\n }\n async #onEvent(event, filter) {\n return new Promise(resolve => {\n const listener = () => {\n if (filter && !filter()) {\n return;\n }\n this.off(event, listener);\n resolve();\n };\n this.on(event, listener);\n });\n }\n /**\n Size of the queue, the number of queued items waiting to run.\n */\n get size() {\n return this.#queue.size;\n }\n /**\n Size of the queue, filtered by the given options.\n\n For example, this can be used to find the number of items remaining in the queue with a specific priority level.\n */\n sizeBy(options) {\n // eslint-disable-next-line unicorn/no-array-callback-reference\n return this.#queue.filter(options).length;\n }\n /**\n Number of running items (no longer in the queue).\n */\n get pending() {\n return this.#pending;\n }\n /**\n Whether the queue is currently paused.\n */\n get isPaused() {\n return this.#isPaused;\n }\n}\n","import '../assets/index-Ussc_ol3.css';\nimport { CanceledError as b } from \"axios\";\nimport { encodePath as q } from \"@nextcloud/paths\";\nimport { Folder as z, Permission as H, getNewFileMenuEntries as G } from \"@nextcloud/files\";\nimport { generateRemoteUrl as j } from \"@nextcloud/router\";\nimport { getCurrentUser as F } from \"@nextcloud/auth\";\nimport v from \"@nextcloud/axios\";\nimport Y from \"p-cancelable\";\nimport V from \"p-queue\";\nimport { getLoggerBuilder as _ } from \"@nextcloud/logger\";\nimport { showError as P } from \"@nextcloud/dialogs\";\nimport K from \"simple-eta\";\nimport E, { defineAsyncComponent as $ } from \"vue\";\nimport J from \"@nextcloud/vue/dist/Components/NcActionButton.js\";\nimport Q from \"@nextcloud/vue/dist/Components/NcActions.js\";\nimport Z from \"@nextcloud/vue/dist/Components/NcButton.js\";\nimport X from \"@nextcloud/vue/dist/Components/NcIconSvgWrapper.js\";\nimport ss from \"@nextcloud/vue/dist/Components/NcProgressBar.js\";\nimport { getGettextBuilder as es } from \"@nextcloud/l10n/gettext\";\nconst A = async function(e, s, t, n = () => {\n}, i = void 0, o = {}) {\n let l;\n return s instanceof Blob ? l = s : l = await s(), i && (o.Destination = i), o[\"Content-Type\"] || (o[\"Content-Type\"] = \"application/octet-stream\"), await v.request({\n method: \"PUT\",\n url: e,\n data: l,\n signal: t,\n onUploadProgress: n,\n headers: o\n });\n}, B = function(e, s, t) {\n return s === 0 && e.size <= t ? Promise.resolve(new Blob([e], { type: e.type || \"application/octet-stream\" })) : Promise.resolve(new Blob([e.slice(s, s + t)], { type: \"application/octet-stream\" }));\n}, ts = async function(e = void 0) {\n const s = j(`dav/uploads/${F()?.uid}`), n = `web-file-upload-${[...Array(16)].map(() => Math.floor(Math.random() * 16).toString(16)).join(\"\")}`, i = `${s}/${n}`, o = e ? { Destination: e } : void 0;\n return await v.request({\n method: \"MKCOL\",\n url: i,\n headers: o\n }), i;\n}, x = function(e = void 0) {\n const s = window.OC?.appConfig?.files?.max_chunk_size;\n if (s <= 0)\n return 0;\n if (!Number(s))\n return 10 * 1024 * 1024;\n const t = Math.max(Number(s), 5 * 1024 * 1024);\n return e === void 0 ? t : Math.max(t, Math.ceil(e / 1e4));\n};\nvar c = /* @__PURE__ */ ((e) => (e[e.INITIALIZED = 0] = \"INITIALIZED\", e[e.UPLOADING = 1] = \"UPLOADING\", e[e.ASSEMBLING = 2] = \"ASSEMBLING\", e[e.FINISHED = 3] = \"FINISHED\", e[e.CANCELLED = 4] = \"CANCELLED\", e[e.FAILED = 5] = \"FAILED\", e))(c || {});\nlet ns = class {\n _source;\n _file;\n _isChunked;\n _chunks;\n _size;\n _uploaded = 0;\n _startTime = 0;\n _status = 0;\n _controller;\n _response = null;\n constructor(s, t = !1, n, i) {\n const o = Math.min(x() > 0 ? Math.ceil(n / x()) : 1, 1e4);\n this._source = s, this._isChunked = t && x() > 0 && o > 1, this._chunks = this._isChunked ? o : 1, this._size = n, this._file = i, this._controller = new AbortController();\n }\n get source() {\n return this._source;\n }\n get file() {\n return this._file;\n }\n get isChunked() {\n return this._isChunked;\n }\n get chunks() {\n return this._chunks;\n }\n get size() {\n return this._size;\n }\n get startTime() {\n return this._startTime;\n }\n set response(s) {\n this._response = s;\n }\n get response() {\n return this._response;\n }\n get uploaded() {\n return this._uploaded;\n }\n /**\n * Update the uploaded bytes of this upload\n */\n set uploaded(s) {\n if (s >= this._size) {\n this._status = this._isChunked ? 2 : 3, this._uploaded = this._size;\n return;\n }\n this._status = 1, this._uploaded = s, this._startTime === 0 && (this._startTime = (/* @__PURE__ */ new Date()).getTime());\n }\n get status() {\n return this._status;\n }\n /**\n * Update this upload status\n */\n set status(s) {\n this._status = s;\n }\n /**\n * Returns the axios cancel token source\n */\n get signal() {\n return this._controller.signal;\n }\n /**\n * Cancel any ongoing requests linked to this upload\n */\n cancel() {\n this._controller.abort(), this._status = 4;\n }\n};\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst as = (e) => e === null ? _().setApp(\"uploader\").build() : _().setApp(\"uploader\").setUid(e.uid).build(), g = as(F());\nvar I = /* @__PURE__ */ ((e) => (e[e.IDLE = 0] = \"IDLE\", e[e.UPLOADING = 1] = \"UPLOADING\", e[e.PAUSED = 2] = \"PAUSED\", e))(I || {});\nclass N {\n // Initialized via setter in the constructor\n _destinationFolder;\n _isPublic;\n // Global upload queue\n _uploadQueue = [];\n _jobQueue = new V({ concurrency: 3 });\n _queueSize = 0;\n _queueProgress = 0;\n _queueStatus = 0;\n _notifiers = [];\n /**\n * Initialize uploader\n *\n * @param {boolean} isPublic are we in public mode ?\n * @param {Folder} destinationFolder the context folder to operate, relative to the root folder\n */\n constructor(s = !1, t) {\n if (this._isPublic = s, !t) {\n const n = F()?.uid, i = j(`dav/files/${n}`);\n if (!n)\n throw new Error(\"User is not logged in\");\n t = new z({\n id: 0,\n owner: n,\n permissions: H.ALL,\n root: `/files/${n}`,\n source: i\n });\n }\n this.destination = t, g.debug(\"Upload workspace initialized\", {\n destination: this.destination,\n root: this.root,\n isPublic: s,\n maxChunksSize: x()\n });\n }\n /**\n * Get the upload destination path relative to the root folder\n */\n get destination() {\n return this._destinationFolder;\n }\n /**\n * Set the upload destination path relative to the root folder\n */\n set destination(s) {\n if (!s)\n throw new Error(\"Invalid destination folder\");\n g.debug(\"Destination set\", { folder: s }), this._destinationFolder = s;\n }\n /**\n * Get the root folder\n */\n get root() {\n return this._destinationFolder.source;\n }\n /**\n * Get the upload queue\n */\n get queue() {\n return this._uploadQueue;\n }\n reset() {\n this._uploadQueue.splice(0, this._uploadQueue.length), this._jobQueue.clear(), this._queueSize = 0, this._queueProgress = 0, this._queueStatus = 0;\n }\n /**\n * Pause any ongoing upload(s)\n */\n pause() {\n this._jobQueue.pause(), this._queueStatus = 2;\n }\n /**\n * Resume any pending upload(s)\n */\n start() {\n this._jobQueue.start(), this._queueStatus = 1, this.updateStats();\n }\n /**\n * Get the upload queue stats\n */\n get info() {\n return {\n size: this._queueSize,\n progress: this._queueProgress,\n status: this._queueStatus\n };\n }\n updateStats() {\n const s = this._uploadQueue.map((n) => n.size).reduce((n, i) => n + i, 0), t = this._uploadQueue.map((n) => n.uploaded).reduce((n, i) => n + i, 0);\n this._queueSize = s, this._queueProgress = t, this._queueStatus !== 2 && (this._queueStatus = this._jobQueue.size > 0 ? 1 : 0);\n }\n addNotifier(s) {\n this._notifiers.push(s);\n }\n /**\n * Upload a file to the given path\n * @param {string} destinationPath the destination path relative to the root folder. e.g. /foo/bar.txt\n * @param {File} file the file to upload\n * @param {string} root the root folder to upload to\n */\n upload(s, t, n) {\n const i = `${n || this.root}/${s.replace(/^\\//, \"\")}`, { origin: o } = new URL(i), l = o + q(i.slice(o.length));\n g.debug(`Uploading ${t.name} to ${l}`);\n const f = x(t.size), r = f === 0 || t.size < f || this._isPublic, a = new ns(i, !r, t.size, t);\n return this._uploadQueue.push(a), this.updateStats(), new Y(async (T, d, U) => {\n if (U(a.cancel), r) {\n g.debug(\"Initializing regular upload\", { file: t, upload: a });\n const p = await B(t, 0, a.size), L = async () => {\n try {\n a.response = await A(\n l,\n p,\n a.signal,\n (m) => {\n a.uploaded = a.uploaded + m.bytes, this.updateStats();\n },\n void 0,\n {\n \"X-OC-Mtime\": t.lastModified / 1e3,\n \"Content-Type\": t.type\n }\n ), a.uploaded = a.size, this.updateStats(), g.debug(`Successfully uploaded ${t.name}`, { file: t, upload: a }), T(a);\n } catch (m) {\n if (m instanceof b) {\n a.status = c.FAILED, d(\"Upload has been cancelled\");\n return;\n }\n m?.response && (a.response = m.response), a.status = c.FAILED, g.error(`Failed uploading ${t.name}`, { error: m, file: t, upload: a }), d(\"Failed uploading the file\");\n }\n this._notifiers.forEach((m) => {\n try {\n m(a);\n } catch {\n }\n });\n };\n this._jobQueue.add(L), this.updateStats();\n } else {\n g.debug(\"Initializing chunked upload\", { file: t, upload: a });\n const p = await ts(l), L = [];\n for (let m = 0; m < a.chunks; m++) {\n const w = m * f, D = Math.min(w + f, a.size), W = () => B(t, w, f), O = () => A(\n `${p}/${m + 1}`,\n W,\n a.signal,\n () => this.updateStats(),\n l,\n {\n \"X-OC-Mtime\": t.lastModified / 1e3,\n \"OC-Total-Length\": t.size,\n \"Content-Type\": \"application/octet-stream\"\n }\n ).then(() => {\n a.uploaded = a.uploaded + f;\n }).catch((h) => {\n throw h?.response?.status === 507 ? (g.error(\"Upload failed, not enough space on the server or quota exceeded. Cancelling the remaining chunks\", { error: h, upload: a }), a.cancel(), a.status = c.FAILED, h) : (h instanceof b || (g.error(`Chunk ${m + 1} ${w} - ${D} uploading failed`, { error: h, upload: a }), a.cancel(), a.status = c.FAILED), h);\n });\n L.push(this._jobQueue.add(O));\n }\n try {\n await Promise.all(L), this.updateStats(), a.response = await v.request({\n method: \"MOVE\",\n url: `${p}/.file`,\n headers: {\n \"X-OC-Mtime\": t.lastModified / 1e3,\n \"OC-Total-Length\": t.size,\n Destination: l\n }\n }), this.updateStats(), a.status = c.FINISHED, g.debug(`Successfully uploaded ${t.name}`, { file: t, upload: a }), T(a);\n } catch (m) {\n m instanceof b ? (a.status = c.FAILED, d(\"Upload has been cancelled\")) : (a.status = c.FAILED, d(\"Failed assembling the chunks together\")), v.request({\n method: \"DELETE\",\n url: `${p}`\n });\n }\n this._notifiers.forEach((m) => {\n try {\n m(a);\n } catch {\n }\n });\n }\n return this._jobQueue.onIdle().then(() => this.reset()), a;\n });\n }\n}\nfunction y(e, s, t, n, i, o, l, f) {\n var r = typeof e == \"function\" ? e.options : e;\n s && (r.render = s, r.staticRenderFns = t, r._compiled = !0), n && (r.functional = !0), o && (r._scopeId = \"data-v-\" + o);\n var a;\n if (l ? (a = function(d) {\n d = d || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !d && typeof __VUE_SSR_CONTEXT__ < \"u\" && (d = __VUE_SSR_CONTEXT__), i && i.call(this, d), d && d._registeredComponents && d._registeredComponents.add(l);\n }, r._ssrRegister = a) : i && (a = f ? function() {\n i.call(\n this,\n (r.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : i), a)\n if (r.functional) {\n r._injectStyles = a;\n var S = r.render;\n r.render = function(U, p) {\n return a.call(p), S(U, p);\n };\n } else {\n var T = r.beforeCreate;\n r.beforeCreate = T ? [].concat(T, a) : [a];\n }\n return {\n exports: e,\n options: r\n };\n}\nconst is = {\n name: \"CancelIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar ls = function() {\n var s = this, t = s._self._c;\n return t(\"span\", s._b({ staticClass: \"material-design-icon cancel-icon\", attrs: { \"aria-hidden\": s.title ? null : !0, \"aria-label\": s.title, role: \"img\" }, on: { click: function(n) {\n return s.$emit(\"click\", n);\n } } }, \"span\", s.$attrs, !1), [t(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: s.fillColor, width: s.size, height: s.size, viewBox: \"0 0 24 24\" } }, [t(\"path\", { attrs: { d: \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z\" } }, [s.title ? t(\"title\", [s._v(s._s(s.title))]) : s._e()])])]);\n}, rs = [], os = /* @__PURE__ */ y(\n is,\n ls,\n rs,\n !1,\n null,\n null,\n null,\n null\n);\nconst ms = os.exports, ds = {\n name: \"PlusIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar gs = function() {\n var s = this, t = s._self._c;\n return t(\"span\", s._b({ staticClass: \"material-design-icon plus-icon\", attrs: { \"aria-hidden\": s.title ? null : !0, \"aria-label\": s.title, role: \"img\" }, on: { click: function(n) {\n return s.$emit(\"click\", n);\n } } }, \"span\", s.$attrs, !1), [t(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: s.fillColor, width: s.size, height: s.size, viewBox: \"0 0 24 24\" } }, [t(\"path\", { attrs: { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" } }, [s.title ? t(\"title\", [s._v(s._s(s.title))]) : s._e()])])]);\n}, us = [], cs = /* @__PURE__ */ y(\n ds,\n gs,\n us,\n !1,\n null,\n null,\n null,\n null\n);\nconst fs = cs.exports, ps = {\n name: \"UploadIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar hs = function() {\n var s = this, t = s._self._c;\n return t(\"span\", s._b({ staticClass: \"material-design-icon upload-icon\", attrs: { \"aria-hidden\": s.title ? null : !0, \"aria-label\": s.title, role: \"img\" }, on: { click: function(n) {\n return s.$emit(\"click\", n);\n } } }, \"span\", s.$attrs, !1), [t(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: s.fillColor, width: s.size, height: s.size, viewBox: \"0 0 24 24\" } }, [t(\"path\", { attrs: { d: \"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\" } }, [s.title ? t(\"title\", [s._v(s._s(s.title))]) : s._e()])])]);\n}, Ts = [], ws = /* @__PURE__ */ y(\n ps,\n hs,\n Ts,\n !1,\n null,\n null,\n null,\n null\n);\nconst xs = ws.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst R = es().detectLocale();\n[{ locale: \"af\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"af\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: af\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ar\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Ali , 2024\", \"Language-Team\": \"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ar\", \"Plural-Forms\": \"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nAli , 2024\n` }, msgstr: [`Last-Translator: Ali , 2024\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} ملف متعارض\", \"{count} ملف متعارض\", \"{count} ملفان متعارضان\", \"{count} ملف متعارض\", \"{count} ملفات متعارضة\", \"{count} ملفات متعارضة\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} ملف متعارض في n {dirname}\", \"{count} ملف متعارض في n {dirname}\", \"{count} ملفان متعارضان في n {dirname}\", \"{count} ملف متعارض في n {dirname}\", \"{count} ملفات متعارضة في n {dirname}\", \"{count} ملفات متعارضة في n {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} ثانية متبقية\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} متبقية\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"باقٍ بضعُ ثوانٍ\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"إلغاء\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"إلغِ العملية بالكامل\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"إلغاء عمليات رفع الملفات\"] }, Continue: { msgid: \"Continue\", msgstr: [\"إستمر\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"تقدير الوقت المتبقي\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"الإصدار الحالي\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"إذا اخترت الإبقاء على النسختين معاً، فإن الملف المنسوخ سيتم إلحاق رقم تسلسلي في نهاية اسمه.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"تاريخ آخر تعديل غير معلوم\"] }, New: { msgid: \"New\", msgstr: [\"جديد\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"نسخة جديدة\"] }, paused: { msgid: \"paused\", msgstr: [\"مُجمَّد\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"معاينة الصورة\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"حدِّد كل صناديق الخيارات\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"حدِّد كل الملفات الموجودة\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"حدِّد كل الملفات الجديدة\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"حجم غير معلوم\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"تمَّ إلغاء الرفع\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"رفع ملفات\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"تقدُّم الرفع \"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"عند تحديد مجلد وارد، أي ملفات متعارضة بداخله ستتم الكتابة فوقها.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"أيُّ الملفات ترغب في الإبقاء عليها؟\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"يجب أن تختار نسخة واحدة على الأقل من كل ملف للاستمرار.\"] } } } } }, { locale: \"ar_SA\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ar_SA\", \"Plural-Forms\": \"nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar_SA\nPlural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ast\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"enolp , 2023\", \"Language-Team\": \"Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ast\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nenolp , 2023\n` }, msgstr: [`Last-Translator: enolp , 2023\nLanguage-Team: Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ast\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} ficheru en coflictu\", \"{count} ficheros en coflictu\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} ficheru en coflictu en {dirname}\", \"{count} ficheros en coflictu en {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Queden {seconds} segundos\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"Tiempu que queda: {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"queden unos segundos\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Encaboxar les xubes\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Siguir\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando'l tiempu que falta\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versión esistente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Si seleiciones dambes versiones, el ficheru copiáu va tener un númberu amestáu al so nome.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"La data de la última modificación ye desconocida\"] }, New: { msgid: \"New\", msgstr: [\"Nuevu\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Versión nueva\"] }, paused: { msgid: \"paused\", msgstr: [\"en posa\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Previsualizar la imaxe\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Marcar toles caxelles\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Seleicionar tolos ficheros esistentes\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Seleicionar tolos ficheros nuevos\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Saltar esti ficheru\", \"Saltar {count} ficheros\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Tamañu desconocíu\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Encaboxóse la xuba\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Xubir ficheros\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Xuba en cursu\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"¿Qué ficheros quies caltener?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Tienes de seleicionar polo menos una versión de cada ficheru pa siguir.\"] } } } } }, { locale: \"az\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Rashad Aliyev , 2023\", \"Language-Team\": \"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"az\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nRashad Aliyev , 2023\n` }, msgstr: [`Last-Translator: Rashad Aliyev , 2023\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: az\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} saniyə qalıb\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} qalıb\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"bir neçə saniyə qalıb\"] }, Add: { msgid: \"Add\", msgstr: [\"Əlavə et\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Yükləməni imtina et\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Təxmini qalan vaxt\"] }, paused: { msgid: \"paused\", msgstr: [\"pauzadadır\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Faylları yüklə\"] } } } } }, { locale: \"be\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"be\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: be\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"bg_BG\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"bg_BG\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bg_BG\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"bn_BD\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"bn_BD\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bn_BD\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"br\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"br\", \"Plural-Forms\": \"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"bs\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"bs\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bs\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ca\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Toni Hermoso Pulido , 2022\", \"Language-Team\": \"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ca\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nMarc Riera , 2022\nToni Hermoso Pulido , 2022\n` }, msgstr: [`Last-Translator: Toni Hermoso Pulido , 2022\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Queden {seconds} segons\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"Queden {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"Queden uns segons\"] }, Add: { msgid: \"Add\", msgstr: [\"Afegeix\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancel·la les pujades\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"S'està estimant el temps restant\"] }, paused: { msgid: \"paused\", msgstr: [\"En pausa\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Puja els fitxers\"] } } } } }, { locale: \"cs\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Pavel Borecki , 2022\", \"Language-Team\": \"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"cs\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nPavel Borecki , 2022\n` }, msgstr: [`Last-Translator: Pavel Borecki , 2022\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"zbývá {seconds}\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"zbývá {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"zbývá několik sekund\"] }, Add: { msgid: \"Add\", msgstr: [\"Přidat\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Zrušit nahrávání\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"odhadovaný zbývající čas\"] }, paused: { msgid: \"paused\", msgstr: [\"pozastaveno\"] } } } } }, { locale: \"cs_CZ\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Michal Šmahel , 2024\", \"Language-Team\": \"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"cs_CZ\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nMichal Šmahel , 2024\n` }, msgstr: [`Last-Translator: Michal Šmahel , 2024\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} kolize souborů\", \"{count} kolize souborů\", \"{count} kolizí souborů\", \"{count} kolize souborů\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} kolize souboru v {dirname}\", \"{count} kolize souboru v {dirname}\", \"{count} kolizí souborů v {dirname}\", \"{count} kolize souboru v {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"zbývá {seconds}\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"zbývá {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"zbývá několik sekund\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Zrušit\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Zrušit celou operaci\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Zrušit nahrávání\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Pokračovat\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"odhaduje se zbývající čas\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Existující verze\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Pokud vyberete obě verze, zkopírovaný soubor bude mít k názvu přidáno číslo.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Neznámé datum poslední úpravy\"] }, New: { msgid: \"New\", msgstr: [\"Nové\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nová verze\"] }, paused: { msgid: \"paused\", msgstr: [\"pozastaveno\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Náhled obrázku\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Označit všechny zaškrtávací kolonky\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Vybrat veškeré stávající soubory\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Vybrat veškeré nové soubory\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Přeskočit tento soubor\", \"Přeskočit {count} soubory\", \"Přeskočit {count} souborů\", \"Přeskočit {count} soubory\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Neznámá velikost\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Nahrávání zrušeno\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Nahrát soubory\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Postup v nahrávání\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Po výběru příchozí složky budou rovněž přepsány všechny v ní obsažené konfliktní soubory\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Které soubory si přejete ponechat?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru.\"] } } } } }, { locale: \"cy_GB\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"cy_GB\", \"Plural-Forms\": \"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cy_GB\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"da\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Martin Bonde , 2024\", \"Language-Team\": \"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"da\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nMartin Bonde , 2024\n` }, msgstr: [`Last-Translator: Martin Bonde , 2024\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} fil konflikt\", \"{count} filer i konflikt\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} fil konflikt i {dirname}\", \"{count} filer i konflikt i {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{sekunder} sekunder tilbage\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{tid} tilbage\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"et par sekunder tilbage\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Annuller\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Annuller hele handlingen\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Annuller uploads\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Fortsæt\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimering af resterende tid\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Eksisterende version\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Hvis du vælger begge versioner vil den kopierede fil få et nummer tilføjet til sit navn.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Sidste modifikationsdato ukendt\"] }, New: { msgid: \"New\", msgstr: [\"Ny\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Ny version\"] }, paused: { msgid: \"paused\", msgstr: [\"pauset\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Forhåndsvisning af billede\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Vælg alle felter\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Vælg alle eksisterende filer\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Vælg alle nye filer\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Spring denne fil over\", \"Spring {count} filer over\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Ukendt størrelse\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Upload annulleret\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Upload filer\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Upload fremskridt\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Når en indgående mappe er valgt, vil alle modstridende filer i den også blive overskrevet.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Hvilke filer ønsker du at beholde?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Du skal vælge mindst én version af hver fil for at fortsætte.\"] } } } } }, { locale: \"de\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Mario Siegmann , 2024\", \"Language-Team\": \"German (https://app.transifex.com/nextcloud/teams/64236/de/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"de\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n` }, msgstr: [`Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} Datei-Konflikt\", \"{count} Datei-Konflikte\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} Datei-Konflikt in {dirname}\", \"{count} Datei-Konflikte in {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} Sekunden verbleibend\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} verbleibend\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"noch ein paar Sekunden\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Abbrechen\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Den gesamten Vorgang abbrechen\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Hochladen abbrechen\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Fortsetzen\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Geschätzte verbleibende Zeit\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Vorhandene Version\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Wenn du beide Versionen auswählst, wird der kopierten Datei eine Nummer zum Namen hinzugefügt.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Datum der letzten Änderung unbekannt\"] }, New: { msgid: \"New\", msgstr: [\"Neu\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Neue Version\"] }, paused: { msgid: \"paused\", msgstr: [\"Pausiert\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Vorschaubild\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Alle Kontrollkästchen aktivieren\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Alle vorhandenen Dateien auswählen\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Alle neuen Dateien auswählen\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Diese Datei überspringen\", \"{count} Dateien überspringen\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Unbekannte Größe\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Hochladen abgebrochen\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Dateien hochladen\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Fortschritt beim Hochladen\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Welche Dateien möchtest du behalten?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Du musst mindestens eine Version jeder Datei auswählen, um fortzufahren.\"] } } } } }, { locale: \"de_DE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Mario Siegmann , 2024\", \"Language-Team\": \"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"de_DE\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n` }, msgstr: [`Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} Datei-Konflikt\", \"{count} Datei-Konflikte\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} Datei-Konflikt in {dirname}\", \"{count} Datei-Konflikte in {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} Sekunden verbleiben\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} verbleibend\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"ein paar Sekunden verbleiben\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Abbrechen\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Den gesamten Vorgang abbrechen\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Hochladen abbrechen\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Fortsetzen\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Geschätzte verbleibende Zeit\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Vorhandene Version\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Wenn Sie beide Versionen auswählen, wird der kopierten Datei eine Nummer zum Namen hinzugefügt.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Datum der letzten Änderung unbekannt\"] }, New: { msgid: \"New\", msgstr: [\"Neu\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Neue Version\"] }, paused: { msgid: \"paused\", msgstr: [\"Pausiert\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Vorschaubild\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Alle Kontrollkästchen aktivieren\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Alle vorhandenen Dateien auswählen\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Alle neuen Dateien auswählen\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"{count} Datei überspringen\", \"{count} Dateien überspringen\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Unbekannte Größe\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Hochladen abgebrochen\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Dateien hochladen\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Fortschritt beim Hochladen\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Welche Dateien möchten Sie behalten?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Sie müssen mindestens eine Version jeder Datei auswählen, um fortzufahren.\"] } } } } }, { locale: \"el\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Nik Pap, 2022\", \"Language-Team\": \"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"el\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nNik Pap, 2022\n` }, msgstr: [`Last-Translator: Nik Pap, 2022\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"απομένουν {seconds} δευτερόλεπτα\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"απομένουν {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"απομένουν λίγα δευτερόλεπτα\"] }, Add: { msgid: \"Add\", msgstr: [\"Προσθήκη\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Ακύρωση μεταφορτώσεων\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"εκτίμηση του χρόνου που απομένει\"] }, paused: { msgid: \"paused\", msgstr: [\"σε παύση\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Μεταφόρτωση αρχείων\"] } } } } }, { locale: \"el_GR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"el_GR\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el_GR\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"en_GB\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Andi Chandler , 2023\", \"Language-Team\": \"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"en_GB\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nAndi Chandler , 2023\n` }, msgstr: [`Last-Translator: Andi Chandler , 2023\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: en_GB\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} file conflict\", \"{count} files conflict\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} file conflict in {dirname}\", \"{count} file conflicts in {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} seconds left\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} left\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"a few seconds left\"] }, Add: { msgid: \"Add\", msgstr: [\"Add\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancel uploads\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continue\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimating time left\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Existing version\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"If you select both versions, the copied file will have a number added to its name.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Last modified date unknown\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"New version\"] }, paused: { msgid: \"paused\", msgstr: [\"paused\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Preview image\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Select all checkboxes\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Select all existing files\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Select all new files\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Skip this file\", \"Skip {count} files\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Unknown size\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Upload cancelled\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Upload files\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Which files do you want to keep?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"You need to select at least one version of each file to continue.\"] } } } } }, { locale: \"eo\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"eo\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Julio C. Ortega, 2024\", \"Language-Team\": \"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nFranciscoFJ , 2023\nNext Cloud , 2023\nJulio C. Ortega, 2024\n` }, msgstr: [`Last-Translator: Julio C. Ortega, 2024\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} archivo en conflicto\", \"{count} archivos en conflicto\", \"{count} archivos en conflicto\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} archivo en conflicto en {dirname}\", \"{count} archivos en conflicto en {dirname}\", \"{count} archivos en conflicto en {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundos restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} restante\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"quedan unos segundos\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar subidas\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continuar\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando tiempo restante\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versión existente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Si selecciona ambas versiones, al archivo copiado se le añadirá un número en el nombre.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Última fecha de modificación desconocida\"] }, New: { msgid: \"New\", msgstr: [\"Nuevo\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nueva versión\"] }, paused: { msgid: \"paused\", msgstr: [\"pausado\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Previsualizar imagen\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Seleccionar todas las casillas de verificación\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Seleccionar todos los archivos existentes\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Seleccionar todos los archivos nuevos\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Saltar este archivo\", \"Saltar {count} archivos\", \"Saltar {count} archivos\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Tamaño desconocido\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Subida cancelada\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Subir archivos\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Progreso de la subida\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"¿Qué archivos desea conservar?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Debe seleccionar al menos una versión de cada archivo para continuar.\"] } } } } }, { locale: \"es_419\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"ALEJANDRO CASTRO, 2022\", \"Language-Team\": \"Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_419\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nALEJANDRO CASTRO, 2022\n` }, msgstr: [`Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_419\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundos restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{tiempo} restante\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"quedan pocos segundos\"] }, Add: { msgid: \"Add\", msgstr: [\"agregar\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar subidas\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando tiempo restante\"] }, paused: { msgid: \"paused\", msgstr: [\"pausado\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Subir archivos\"] } } } } }, { locale: \"es_AR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Matias Iglesias, 2022\", \"Language-Team\": \"Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_AR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nMatias Iglesias, 2022\n` }, msgstr: [`Last-Translator: Matias Iglesias, 2022\nLanguage-Team: Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_AR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundos restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} restante\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"quedan unos segundos\"] }, Add: { msgid: \"Add\", msgstr: [\"Añadir\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar subidas\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando tiempo restante\"] }, paused: { msgid: \"paused\", msgstr: [\"pausado\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Subir archivos\"] } } } } }, { locale: \"es_CL\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_CL\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CL\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_CO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_CO\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_CR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_CR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_DO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_DO\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_DO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_EC\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_EC\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_EC\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_GT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_GT\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_GT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_HN\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_HN\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_HN\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_MX\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"ALEJANDRO CASTRO, 2022\", \"Language-Team\": \"Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_MX\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nLuis Francisco Castro, 2022\nALEJANDRO CASTRO, 2022\n` }, msgstr: [`Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_MX\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundos restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{tiempo} restante\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"quedan pocos segundos\"] }, Add: { msgid: \"Add\", msgstr: [\"agregar\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"cancelar las cargas\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando tiempo restante\"] }, paused: { msgid: \"paused\", msgstr: [\"en pausa\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"cargar archivos\"] } } } } }, { locale: \"es_NI\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_NI\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_NI\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_PA\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PA\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PA\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_PE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PE\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PE\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_PR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_PY\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PY\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_SV\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_SV\", \"Plural-Forms\": \"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_SV\nPlural-Forms: nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_UY\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_UY\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_UY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"et_EE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Taavo Roos, 2023\", \"Language-Team\": \"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"et_EE\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nMait R, 2022\nTaavo Roos, 2023\n` }, msgstr: [`Last-Translator: Taavo Roos, 2023\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: et_EE\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} jäänud sekundid\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} aega jäänud\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"jäänud mõni sekund\"] }, Add: { msgid: \"Add\", msgstr: [\"Lisa\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Tühista üleslaadimine\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"hinnanguline järelejäänud aeg\"] }, paused: { msgid: \"paused\", msgstr: [\"pausil\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Lae failid üles\"] } } } } }, { locale: \"eu\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Unai Tolosa Pontesta , 2022\", \"Language-Team\": \"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"eu\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nUnai Tolosa Pontesta , 2022\n` }, msgstr: [`Last-Translator: Unai Tolosa Pontesta , 2022\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundo geratzen dira\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} geratzen da\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"segundo batzuk geratzen dira\"] }, Add: { msgid: \"Add\", msgstr: [\"Gehitu\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Ezeztatu igoerak\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"kalkulatutako geratzen den denbora\"] }, paused: { msgid: \"paused\", msgstr: [\"geldituta\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Igo fitxategiak\"] } } } } }, { locale: \"fa\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Fatemeh Komeily, 2023\", \"Language-Team\": \"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fa\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nFatemeh Komeily, 2023\n` }, msgstr: [`Last-Translator: Fatemeh Komeily, 2023\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fa\nPlural-Forms: nplurals=2; plural=(n > 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"ثانیه های باقی مانده\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"باقی مانده\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"چند ثانیه مانده\"] }, Add: { msgid: \"Add\", msgstr: [\"اضافه کردن\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"کنسل کردن فایل های اپلود شده\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"تخمین زمان باقی مانده\"] }, paused: { msgid: \"paused\", msgstr: [\"مکث کردن\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"بارگذاری فایل ها\"] } } } } }, { locale: \"fi_FI\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Jiri Grönroos , 2022\", \"Language-Team\": \"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fi_FI\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJiri Grönroos , 2022\n` }, msgstr: [`Last-Translator: Jiri Grönroos , 2022\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} sekuntia jäljellä\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} jäljellä\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"muutama sekunti jäljellä\"] }, Add: { msgid: \"Add\", msgstr: [\"Lisää\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Peruuta lähetykset\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"arvioidaan jäljellä olevaa aikaa\"] }, paused: { msgid: \"paused\", msgstr: [\"keskeytetty\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Lähetä tiedostoja\"] } } } } }, { locale: \"fo\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fo\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fo\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"fr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"jed boulahya, 2024\", \"Language-Team\": \"French (https://app.transifex.com/nextcloud/teams/64236/fr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fr\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nBenoit Pruneau, 2024\njed boulahya, 2024\n` }, msgstr: [`Last-Translator: jed boulahya, 2024\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} fichier en conflit\", \"{count} fichiers en conflit\", \"{count} fichiers en conflit\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} fichier en conflit dans {dirname}\", \"{count} fichiers en conflit dans {dirname}\", \"{count} fichiers en conflit dans {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} secondes restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} restant\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"quelques secondes restantes\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Annuler\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Annuler l'opération entière\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Annuler les envois\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continuer\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimation du temps restant\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Version existante\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Si vous sélectionnez les deux versions, le fichier copié aura un numéro ajouté àname.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Date de la dernière modification est inconnue\"] }, New: { msgid: \"New\", msgstr: [\"Nouveau\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nouvelle version\"] }, paused: { msgid: \"paused\", msgstr: [\"en pause\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Aperçu de l'image\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Sélectionner toutes les cases à cocher\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Sélectionner tous les fichiers existants\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Sélectionner tous les nouveaux fichiers\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Ignorer ce fichier\", \"Ignorer {count} fichiers\", \"Ignorer {count} fichiers\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Taille inconnue\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\" annulé\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Téléchargement des fichiers\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Progression du téléchargement\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Lorsqu'un dossier entrant est sélectionné, tous les fichiers en conflit qu'il contient seront également écrasés.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Quels fichiers souhaitez-vous conserver ?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Vous devez sélectionner au moins une version de chaque fichier pour continuer.\"] } } } } }, { locale: \"gd\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"gd\", \"Plural-Forms\": \"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gd\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"gl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Miguel Anxo Bouzada , 2023\", \"Language-Team\": \"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"gl\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nNacho , 2023\nMiguel Anxo Bouzada , 2023\n` }, msgstr: [`Last-Translator: Miguel Anxo Bouzada , 2023\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} conflito de ficheiros\", \"{count} conflitos de ficheiros\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} conflito de ficheiros en {dirname}\", \"{count} conflitos de ficheiros en {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"faltan {seconds} segundos\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"falta {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"faltan uns segundos\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar envíos\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continuar\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"calculando canto tempo falta\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versión existente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Se selecciona ambas as versións, o ficheiro copiado terá un número engadido ao seu nome.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Data da última modificación descoñecida\"] }, New: { msgid: \"New\", msgstr: [\"Nova\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nova versión\"] }, paused: { msgid: \"paused\", msgstr: [\"detido\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Vista previa da imaxe\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Marcar todas as caixas de selección\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Seleccionar todos os ficheiros existentes\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Seleccionar todos os ficheiros novos\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Omita este ficheiro\", \"Omitir {count} ficheiros\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Tamaño descoñecido\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Envío cancelado\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Enviar ficheiros\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Progreso do envío\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Que ficheiros quere conservar?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Debe seleccionar polo menos unha versión de cada ficheiro para continuar.\"] } } } } }, { locale: \"he\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"he\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"hi_IN\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hi_IN\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hi_IN\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"hr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hr\", \"Plural-Forms\": \"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hr\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"hsb\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hsb\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hsb\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"hu\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hu\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"hu_HU\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Balázs Úr, 2022\", \"Language-Team\": \"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hu_HU\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nBalázs Meskó , 2022\nBalázs Úr, 2022\n` }, msgstr: [`Last-Translator: Balázs Úr, 2022\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{} másodperc van hátra\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} van hátra\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"pár másodperc van hátra\"] }, Add: { msgid: \"Add\", msgstr: [\"Hozzáadás\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Feltöltések megszakítása\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"hátralévő idő becslése\"] }, paused: { msgid: \"paused\", msgstr: [\"szüneteltetve\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Fájlok feltöltése\"] } } } } }, { locale: \"hy\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hy\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hy\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ia\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ia\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ia\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"id\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Linerly , 2023\", \"Language-Team\": \"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"id\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nEmpty Slot Filler, 2023\nLinerly , 2023\n` }, msgstr: [`Last-Translator: Linerly , 2023\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: id\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} berkas berkonflik\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} berkas berkonflik dalam {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} detik tersisa\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} tersisa\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"tinggal sebentar lagi\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Batalkan unggahan\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Lanjutkan\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"memperkirakan waktu yang tersisa\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versi yang ada\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Jika Anda memilih kedua versi, nama berkas yang disalin akan ditambahi angka.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Tanggal perubahan terakhir tidak diketahui\"] }, New: { msgid: \"New\", msgstr: [\"Baru\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Versi baru\"] }, paused: { msgid: \"paused\", msgstr: [\"dijeda\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Gambar pratinjau\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Pilih semua kotak centang\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Pilih semua berkas yang ada\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Pilih semua berkas baru\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Lewati {count} berkas\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Ukuran tidak diketahui\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Unggahan dibatalkan\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Unggah berkas\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Berkas mana yang Anda ingin tetap simpan?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Anda harus memilih setidaknya satu versi dari masing-masing berkas untuk melanjutkan.\"] } } } } }, { locale: \"ig\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ig\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ig\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"is\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Sveinn í Felli , 2023\", \"Language-Team\": \"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"is\", \"Plural-Forms\": \"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nSveinn í Felli , 2023\n` }, msgstr: [`Last-Translator: Sveinn í Felli , 2023\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} árekstur skráa\", \"{count} árekstrar skráa\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} árekstur skráa í {dirname}\", \"{count} árekstrar skráa í {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} sekúndur eftir\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} eftir\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"nokkrar sekúndur eftir\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Hætta við innsendingar\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Halda áfram\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"áætla tíma sem eftir er\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Fyrirliggjandi útgáfa\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Ef þú velur báðar útgáfur, þá mun verða bætt tölustaf aftan við heiti afrituðu skrárinnar.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Síðasta breytingadagsetning er óþekkt\"] }, New: { msgid: \"New\", msgstr: [\"Nýtt\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Ný útgáfa\"] }, paused: { msgid: \"paused\", msgstr: [\"í bið\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Forskoðun myndar\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Velja gátreiti\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Velja allar fyrirliggjandi skrár\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Velja allar nýjar skrár\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Sleppa þessari skrá\", \"Sleppa {count} skrám\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Óþekkt stærð\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Hætt við innsendingu\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Senda inn skrár\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Hvaða skrám vilt þú vilt halda eftir?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Þú verður að velja að minnsta kosti eina útgáfu af hverri skrá til að halda áfram.\"] } } } } }, { locale: \"it\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Random_R, 2023\", \"Language-Team\": \"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"it\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nLep Lep, 2023\nRandom_R, 2023\n` }, msgstr: [`Last-Translator: Random_R, 2023\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} file in conflitto\", \"{count} file in conflitto\", \"{count} file in conflitto\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} file in conflitto in {dirname}\", \"{count} file in conflitto in {dirname}\", \"{count} file in conflitto in {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} secondi rimanenti \"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} rimanente\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"alcuni secondi rimanenti\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Annulla i caricamenti\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continua\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"calcolo il tempo rimanente\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versione esistente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Se selezioni entrambe le versioni, nel nome del file copiato verrà aggiunto un numero \"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Ultima modifica sconosciuta\"] }, New: { msgid: \"New\", msgstr: [\"Nuovo\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nuova versione\"] }, paused: { msgid: \"paused\", msgstr: [\"pausa\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Anteprima immagine\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Seleziona tutte le caselle\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Seleziona tutti i file esistenti\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Seleziona tutti i nuovi file\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Salta questo file\", \"Salta {count} file\", \"Salta {count} file\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Dimensione sconosciuta\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Caricamento cancellato\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Carica i file\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Quali file vuoi mantenere?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Devi selezionare almeno una versione di ogni file per continuare\"] } } } } }, { locale: \"it_IT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"it_IT\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it_IT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ja_JP\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"かたかめ, 2022\", \"Language-Team\": \"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ja_JP\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nT.S, 2022\nかたかめ, 2022\n` }, msgstr: [`Last-Translator: かたかめ, 2022\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"残り {seconds} 秒\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"残り {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"残り数秒\"] }, Add: { msgid: \"Add\", msgstr: [\"追加\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"アップロードをキャンセル\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"概算残り時間\"] }, paused: { msgid: \"paused\", msgstr: [\"一時停止中\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"ファイルをアップデート\"] } } } } }, { locale: \"ka\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ka\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka\nPlural-Forms: nplurals=2; plural=(n!=1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ka_GE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ka_GE\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka_GE\nPlural-Forms: nplurals=2; plural=(n!=1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"kab\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"ZiriSut, 2023\", \"Language-Team\": \"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"kab\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nZiriSut, 2023\n` }, msgstr: [`Last-Translator: ZiriSut, 2023\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kab\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} tesdatin i d-yeqqimen\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} i d-yeqqimen\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"qqiment-d kra n tesdatin kan\"] }, Add: { msgid: \"Add\", msgstr: [\"Rnu\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Sefsex asali\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"asizel n wakud i d-yeqqimen\"] }, paused: { msgid: \"paused\", msgstr: [\"yeḥbes\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Sali-d ifuyla\"] } } } } }, { locale: \"kk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"kk\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kk\nPlural-Forms: nplurals=2; plural=(n!=1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"km\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"km\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: km\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"kn\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"kn\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kn\nPlural-Forms: nplurals=2; plural=(n > 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ko\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Brandon Han, 2024\", \"Language-Team\": \"Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ko\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nhosun Lee, 2023\nBrandon Han, 2024\n` }, msgstr: [`Last-Translator: Brandon Han, 2024\nLanguage-Team: Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ko\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count}개의 파일이 충돌함\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{dirname}에서 {count}개의 파일이 충돌함\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} 남음\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} 남음\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"곧 완료\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"업로드 취소\"] }, Continue: { msgid: \"Continue\", msgstr: [\"확인\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"남은 시간 계산\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"현재 버전\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"두 버전을 모두 선택할 경우, 복제된 파일 이름에 숫자가 추가됩니다.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"최근 수정일 알 수 없음\"] }, New: { msgid: \"New\", msgstr: [\"새로 만들기\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"새 버전\"] }, paused: { msgid: \"paused\", msgstr: [\"일시정지됨\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"미리보기 이미지\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"모든 체크박스 선택\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"모든 파일 선택\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"모든 새 파일 선택\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"{count}개의 파일 넘기기\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"크기를 알 수 없음\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"업로드 취소됨\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"파일 업로드\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"업로드 진행도\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"어떤 파일을 보존하시겠습니까?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"계속하기 위해서는 한 파일에 최소 하나의 버전을 선택해야 합니다.\"] } } } } }, { locale: \"la\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"la\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: la\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"lb\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lb\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lb\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"lo\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lo\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lo\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"lt_LT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lt_LT\", \"Plural-Forms\": \"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"lv\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lv\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"mk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Сашко Тодоров , 2022\", \"Language-Team\": \"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"mk\", \"Plural-Forms\": \"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nСашко Тодоров , 2022\n` }, msgstr: [`Last-Translator: Сашко Тодоров , 2022\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"преостануваат {seconds} секунди\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"преостанува {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"уште неколку секунди\"] }, Add: { msgid: \"Add\", msgstr: [\"Додади\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Прекини прикачување\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"приближно преостанато време\"] }, paused: { msgid: \"paused\", msgstr: [\"паузирано\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Прикачување датотеки\"] } } } } }, { locale: \"mn\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"BATKHUYAG Ganbold, 2023\", \"Language-Team\": \"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"mn\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nBATKHUYAG Ganbold, 2023\n` }, msgstr: [`Last-Translator: BATKHUYAG Ganbold, 2023\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mn\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} секунд үлдсэн\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} үлдсэн\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"хэдхэн секунд үлдсэн\"] }, Add: { msgid: \"Add\", msgstr: [\"Нэмэх\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Илгээлтийг цуцлах\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Үлдсэн хугацааг тооцоолж байна\"] }, paused: { msgid: \"paused\", msgstr: [\"түр зогсоосон\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Файл илгээх\"] } } } } }, { locale: \"mr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"mr\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mr\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ms_MY\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ms_MY\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ms_MY\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"my\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"my\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: my\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"nb_NO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Syvert Fossdal, 2024\", \"Language-Team\": \"Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nb_NO\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nSyvert Fossdal, 2024\n` }, msgstr: [`Last-Translator: Syvert Fossdal, 2024\nLanguage-Team: Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} file conflict\", \"{count} filkonflikter\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} file conflict in {dirname}\", \"{count} filkonflikter i {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} sekunder igjen\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} igjen\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"noen få sekunder igjen\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Avbryt opplastninger\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Fortsett\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Estimerer tid igjen\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Gjeldende versjon\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Hvis du velger begge versjoner, vil den kopierte filen få et tall lagt til navnet.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Siste gang redigert ukjent\"] }, New: { msgid: \"New\", msgstr: [\"Ny\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Ny versjon\"] }, paused: { msgid: \"paused\", msgstr: [\"pauset\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Forhåndsvis bilde\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Velg alle\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Velg alle eksisterende filer\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Velg alle nye filer\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Skip this file\", \"Hopp over {count} filer\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Ukjent størrelse\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Opplasting avbrutt\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Last opp filer\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Fremdrift, opplasting\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Hvilke filer vil du beholde?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Du må velge minst en versjon av hver fil for å fortsette.\"] } } } } }, { locale: \"ne\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ne\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ne\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"nl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Rico , 2023\", \"Language-Team\": \"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nl\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nRico , 2023\n` }, msgstr: [`Last-Translator: Rico , 2023\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Nog {seconds} seconden\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{seconds} over\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"Nog een paar seconden\"] }, Add: { msgid: \"Add\", msgstr: [\"Voeg toe\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Uploads annuleren\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Schatting van de resterende tijd\"] }, paused: { msgid: \"paused\", msgstr: [\"Gepauzeerd\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Upload bestanden\"] } } } } }, { locale: \"nn\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nn\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"nn_NO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nn_NO\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"oc\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"oc\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"pl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Valdnet, 2024\", \"Language-Team\": \"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"pl\", \"Plural-Forms\": \"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nM H , 2023\nValdnet, 2024\n` }, msgstr: [`Last-Translator: Valdnet, 2024\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"konflikt 1 pliku\", \"{count} konfliktów plików\", \"{count} konfliktów plików\", \"{count} konfliktów plików\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} konfliktowy plik w {dirname}\", \"{count} konfliktowych plików w {dirname}\", \"{count} konfliktowych plików w {dirname}\", \"{count} konfliktowych plików w {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Pozostało {seconds} sekund\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"Pozostało {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"Pozostało kilka sekund\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Anuluj wysyłanie\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Kontynuuj\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Szacowanie pozostałego czasu\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Istniejąca wersja\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Jeżeli wybierzesz obie wersje to do nazw skopiowanych plików zostanie dodany numer\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Nieznana data ostatniej modyfikacji\"] }, New: { msgid: \"New\", msgstr: [\"Nowy\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nowa wersja\"] }, paused: { msgid: \"paused\", msgstr: [\"Wstrzymane\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Podgląd obrazu\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Zaznacz wszystkie boxy\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Zaznacz wszystkie istniejące pliki\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Zaznacz wszystkie nowe pliki\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Pomiń 1 plik\", \"Pomiń {count} plików\", \"Pomiń {count} plików\", \"Pomiń {count} plików\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Nieznany rozmiar\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Anulowano wysyłanie\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Wyślij pliki\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Postęp wysyłania\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Które pliki chcesz zachować\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku.\"] } } } } }, { locale: \"ps\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ps\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ps\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"pt_BR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Leonardo Colman Lopes , 2024\", \"Language-Team\": \"Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"pt_BR\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nLeonardo Colman Lopes , 2024\n` }, msgstr: [`Last-Translator: Leonardo Colman Lopes , 2024\nLanguage-Team: Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} arquivos em conflito\", \"{count} arquivos em conflito\", \"{count} arquivos em conflito\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} conflitos de arquivo em {dirname}\", \"{count} conflitos de arquivo em {dirname}\", \"{count} conflitos de arquivo em {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundos restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} restante\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"alguns segundos restantes\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Cancelar\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Cancelar a operação inteira\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar uploads\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continuar\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando tempo restante\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versão existente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Se você selecionar ambas as versões, o arquivo copiado terá um número adicionado ao seu nome.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Data da última modificação desconhecida\"] }, New: { msgid: \"New\", msgstr: [\"Novo\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nova versão\"] }, paused: { msgid: \"paused\", msgstr: [\"pausado\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Visualizar imagem\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Marque todas as caixas de seleção\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Selecione todos os arquivos existentes\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Selecione todos os novos arquivos\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Ignorar {count} arquivos\", \"Ignorar {count} arquivos\", \"Ignorar {count} arquivos\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Tamanho desconhecido\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Envio cancelado\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Enviar arquivos\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Envio em progresso\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Quando uma pasta é selecionada, quaisquer arquivos dentro dela também serão sobrescritos.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Quais arquivos você deseja manter?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Você precisa selecionar pelo menos uma versão de cada arquivo para continuar.\"] } } } } }, { locale: \"pt_PT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Manuela Silva , 2022\", \"Language-Team\": \"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"pt_PT\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nManuela Silva , 2022\n` }, msgstr: [`Last-Translator: Manuela Silva , 2022\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"faltam {seconds} segundo(s)\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"faltam {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"faltam uns segundos\"] }, Add: { msgid: \"Add\", msgstr: [\"Adicionar\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar envios\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"tempo em falta estimado\"] }, paused: { msgid: \"paused\", msgstr: [\"pausado\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Enviar ficheiros\"] } } } } }, { locale: \"ro\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Mădălin Vasiliu , 2022\", \"Language-Team\": \"Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ro\", \"Plural-Forms\": \"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nMădălin Vasiliu , 2022\n` }, msgstr: [`Last-Translator: Mădălin Vasiliu , 2022\nLanguage-Team: Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ro\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} secunde rămase\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} rămas\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"câteva secunde rămase\"] }, Add: { msgid: \"Add\", msgstr: [\"Adaugă\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Anulați încărcările\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimarea timpului rămas\"] }, paused: { msgid: \"paused\", msgstr: [\"pus pe pauză\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Încarcă fișiere\"] } } } } }, { locale: \"ru\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Александр, 2023\", \"Language-Team\": \"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ru\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nMax Smith , 2023\nАлександр, 2023\n` }, msgstr: [`Last-Translator: Александр, 2023\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"конфликт {count} файла\", \"конфликт {count} файлов\", \"конфликт {count} файлов\", \"конфликт {count} файлов\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"конфликт {count} файла в {dirname}\", \"конфликт {count} файлов в {dirname}\", \"конфликт {count} файлов в {dirname}\", \"конфликт {count} файлов в {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"осталось {seconds} секунд\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"осталось {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"осталось несколько секунд\"] }, Add: { msgid: \"Add\", msgstr: [\"Добавить\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Отменить загрузки\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Продолжить\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"оценка оставшегося времени\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Текущая версия\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Если вы выберете обе версии, к имени скопированного файла будет добавлен номер.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Дата последнего изменения неизвестна\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Новая версия\"] }, paused: { msgid: \"paused\", msgstr: [\"приостановлено\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Предварительный просмотр\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Установить все флажки\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Выбрать все существующие файлы\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Выбрать все новые файлы\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Пропустить файл\", \"Пропустить {count} файла\", \"Пропустить {count} файлов\", \"Пропустить {count} файлов\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Неизвестный размер\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Загрузка отменена\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Загрузка файлов\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Какие файлы вы хотите сохранить?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Для продолжения вам нужно выбрать по крайней мере одну версию каждого файла.\"] } } } } }, { locale: \"ru_RU\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ru_RU\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru_RU\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sc\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sc\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sc\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"si\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"si\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"si_LK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"si_LK\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sk_SK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sk_SK\", \"Plural-Forms\": \"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Matej Urbančič <>, 2022\", \"Language-Team\": \"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sl\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nMatej Urbančič <>, 2022\n` }, msgstr: [`Last-Translator: Matej Urbančič <>, 2022\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"še {seconds} sekund\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"še {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"še nekaj sekund\"] }, Add: { msgid: \"Add\", msgstr: [\"Dodaj\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Prekliči pošiljanje\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"ocenjen čas do konca\"] }, paused: { msgid: \"paused\", msgstr: [\"v premoru\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Pošlji datoteke\"] } } } } }, { locale: \"sl_SI\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sl_SI\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl_SI\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sq\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sq\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sq\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Иван Пешић, 2023\", \"Language-Team\": \"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sr\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nИван Пешић, 2023\n` }, msgstr: [`Last-Translator: Иван Пешић, 2023\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} фајл конфликт\", \"{count} фајл конфликта\", \"{count} фајл конфликта\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} фајл конфликт у {dirname}\", \"{count} фајл конфликта у {dirname}\", \"{count} фајл конфликта у {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"преостало је {seconds} секунди\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} преостало\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"преостало је неколико секунди\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Обустави отпремања\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Настави\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"процена преосталог времена\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Постојећа верзија\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Ако изаберете обе верзије, на име копираног фајла ће се додати број.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Није познат датум последње измене\"] }, New: { msgid: \"New\", msgstr: [\"Ново\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Нова верзија\"] }, paused: { msgid: \"paused\", msgstr: [\"паузирано\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Слика прегледа\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Штиклирај сва поља за штиклирање\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Изабери све постојеће фајлове\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Изабери све нове фајлове\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Прескочи овај фајл\", \"Прескочи {count} фајла\", \"Прескочи {count} фајлова\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Непозната величина\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Отпремање је отказано\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Отпреми фајлове\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Напредак отпремања\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Које фајлове желите да задржите?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Морате да изаберете барем једну верзију сваког фајла да наставите.\"] } } } } }, { locale: \"sr@latin\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sr@latin\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr@latin\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sv\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Magnus Höglund, 2024\", \"Language-Team\": \"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sv\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nMagnus Höglund, 2024\n` }, msgstr: [`Last-Translator: Magnus Höglund, 2024\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} filkonflikt\", \"{count} filkonflikter\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} filkonflikt i {dirname}\", \"{count} filkonflikter i {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} sekunder kvarstår\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} kvarstår\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"några sekunder kvar\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Avbryt\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Avbryt hela operationen\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Avbryt uppladdningar\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Fortsätt\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"uppskattar kvarstående tid\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Nuvarande version\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Om du väljer båda versionerna kommer den kopierade filen att få ett nummer tillagt i namnet.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Senaste ändringsdatum okänt\"] }, New: { msgid: \"New\", msgstr: [\"Ny\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Ny version\"] }, paused: { msgid: \"paused\", msgstr: [\"pausad\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Förhandsgranska bild\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Markera alla kryssrutor\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Välj alla befintliga filer\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Välj alla nya filer\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Hoppa över denna fil\", \"Hoppa över {count} filer\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Okänd storlek\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Uppladdningen avbröts\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Ladda upp filer\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Uppladdningsförlopp\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"När en inkommande mapp väljs skrivs även alla konfliktande filer i den över.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Vilka filer vill du behålla?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Du måste välja minst en version av varje fil för att fortsätta.\"] } } } } }, { locale: \"sw\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sw\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sw\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ta\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ta\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ta_LK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ta_LK\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"th\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Thai (https://www.transifex.com/nextcloud/teams/64236/th/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"th\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Thai (https://www.transifex.com/nextcloud/teams/64236/th/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"th_TH\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Phongpanot Phairat , 2022\", \"Language-Team\": \"Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"th_TH\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nPhongpanot Phairat , 2022\n` }, msgstr: [`Last-Translator: Phongpanot Phairat , 2022\nLanguage-Team: Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th_TH\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"เหลืออีก {seconds} วินาที\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"เหลืออีก {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"เหลืออีกไม่กี่วินาที\"] }, Add: { msgid: \"Add\", msgstr: [\"เพิ่ม\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"ยกเลิกการอัปโหลด\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"กำลังคำนวณเวลาที่เหลือ\"] }, paused: { msgid: \"paused\", msgstr: [\"หยุดชั่วคราว\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"อัปโหลดไฟล์\"] } } } } }, { locale: \"tk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"tk\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tk\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"tr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Kaya Zeren , 2024\", \"Language-Team\": \"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"tr\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nKaya Zeren , 2024\n` }, msgstr: [`Last-Translator: Kaya Zeren , 2024\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} dosya çakışması var\", \"{count} dosya çakışması var\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{dirname} klasöründe {count} dosya çakışması var\", \"{dirname} klasöründe {count} dosya çakışması var\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} saniye kaldı\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} kaldı\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"bir kaç saniye kaldı\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"İptal\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Tüm işlemi iptal et\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Yüklemeleri iptal et\"] }, Continue: { msgid: \"Continue\", msgstr: [\"İlerle\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"öngörülen kalan süre\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Var olan sürüm\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"İki sürümü de seçerseniz, kopyalanan dosyanın adına bir sayı eklenir.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Son değiştirilme tarihi bilinmiyor\"] }, New: { msgid: \"New\", msgstr: [\"Yeni\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Yeni sürüm\"] }, paused: { msgid: \"paused\", msgstr: [\"duraklatıldı\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Görsel ön izlemesi\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Tüm kutuları işaretle\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Tüm var olan dosyaları seç\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Tüm yeni dosyaları seç\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Bu dosyayı atla\", \"{count} dosyayı atla\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Boyut bilinmiyor\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Yükleme iptal edildi\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Dosyaları yükle\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Yükleme ilerlemesi\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Hangi dosyaları tutmak istiyorsunuz?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"İlerlemek için her dosyanın en az bir sürümünü seçmelisiniz.\"] } } } } }, { locale: \"ug\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ug\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ug\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"uk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"O St , 2024\", \"Language-Team\": \"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"uk\", \"Plural-Forms\": \"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nO St , 2024\n` }, msgstr: [`Last-Translator: O St , 2024\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} конфліктний файл\", \"{count} конфліктних файли\", \"{count} конфліктних файлів\", \"{count} конфліктних файлів\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} конфліктний файл у каталозі {dirname}\", \"{count} конфліктних файли у каталозі {dirname}\", \"{count} конфліктних файлів у каталозі {dirname}\", \"{count} конфліктних файлів у каталозі {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Залишилося {seconds} секунд\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"Залишилося {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"залишилося кілька секунд\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Скасувати\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Скасувати операцію повністю\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Скасувати завантаження\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Продовжити\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"оцінка часу, що залишився\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Присутня версія\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Якщо ви виберете обидві версії, то буде створено копію файлу, до назви якої буде додано цифру.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Дата останньої зміни невідома\"] }, New: { msgid: \"New\", msgstr: [\"Нове\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Нова версія\"] }, paused: { msgid: \"paused\", msgstr: [\"призупинено\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Попередній перегляд\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Вибрати все\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Вибрати усі присутні файли\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Вибрати усі нові файли\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Пропустити файл\", \"Пропустити {count} файли\", \"Пропустити {count} файлів\", \"Пропустити {count} файлів\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Невідомий розмір\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Завантаження скасовано\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Завантажити файли\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Поступ завантаження\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Усі конфліктні файли у вибраному каталозі призначення буде перезаписано поверх.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Які файли залишити?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Для продовження потрібно вибрати принаймні одну версію для кожного файлу.\"] } } } } }, { locale: \"ur_PK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ur_PK\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ur_PK\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"uz\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"uz\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uz\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"vi\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Tung DangQuang, 2023\", \"Language-Team\": \"Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"vi\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nTung DangQuang, 2023\n` }, msgstr: [`Last-Translator: Tung DangQuang, 2023\nLanguage-Team: Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: vi\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} Tập tin xung đột\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} tập tin lỗi trong {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Còn {second} giây\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"Còn lại {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"Còn lại một vài giây\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Huỷ tải lên\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Tiếp Tục\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Thời gian còn lại dự kiến\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Phiên Bản Hiện Tại\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Nếu bạn chọn cả hai phiên bản, tệp được sao chép sẽ có thêm một số vào tên của nó.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Ngày sửa dổi lần cuối không xác định\"] }, New: { msgid: \"New\", msgstr: [\"Tạo Mới\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Phiên Bản Mới\"] }, paused: { msgid: \"paused\", msgstr: [\"đã tạm dừng\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Xem Trước Ảnh\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Chọn tất cả hộp checkbox\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Chọn tất cả các tập tin có sẵn\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Chọn tất cả các tập tin mới\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Bỏ Qua {count} tập tin\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Không rõ dung lượng\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Dừng Tải Lên\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Tập tin tải lên\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Đang Tải Lên\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Bạn muốn giữ tập tin nào?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Bạn cần chọn ít nhất một phiên bản tập tin mới có thể tiếp tục\"] } } } } }, { locale: \"zh_CN\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Hongbo Chen, 2023\", \"Language-Team\": \"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"zh_CN\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nHongbo Chen, 2023\n` }, msgstr: [`Last-Translator: Hongbo Chen, 2023\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count}文件冲突\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"在{dirname}目录下有{count}个文件冲突\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"剩余 {seconds} 秒\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"剩余 {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"还剩几秒\"] }, Add: { msgid: \"Add\", msgstr: [\"添加\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"取消上传\"] }, Continue: { msgid: \"Continue\", msgstr: [\"继续\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"估计剩余时间\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"版本已存在\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"如果选择所有的版本,新增版本的文件名为原文件名加数字\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"文件最后修改日期未知\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"新版本\"] }, paused: { msgid: \"paused\", msgstr: [\"已暂停\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"图片预览\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"选择所有的选择框\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"选择所有存在的文件\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"选择所有的新文件\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"跳过{count}个文件\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"文件大小未知\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"取消上传\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"上传文件\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"你要保留哪些文件?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"每个文件至少选择一个版本\"] } } } } }, { locale: \"zh_HK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Café Tango, 2023\", \"Language-Team\": \"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"zh_HK\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nCafé Tango, 2023\n` }, msgstr: [`Last-Translator: Café Tango, 2023\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} 個檔案衝突\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{dirname} 中有 {count} 個檔案衝突\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"剩餘 {seconds} 秒\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"剩餘 {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"還剩幾秒\"] }, Add: { msgid: \"Add\", msgstr: [\"添加\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"取消上傳\"] }, Continue: { msgid: \"Continue\", msgstr: [\"繼續\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"估計剩餘時間\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"既有版本\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"若您選取兩個版本,複製的檔案的名稱將會新增編號。\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"最後修改日期不詳\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"新版本 \"] }, paused: { msgid: \"paused\", msgstr: [\"已暫停\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"預覽圖片\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"選取所有核取方塊\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"選取所有既有檔案\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"選取所有新檔案\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"略過 {count} 個檔案\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"大小不詳\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"已取消上傳\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"上傳檔案\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"您想保留哪些檔案?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"您必須為每個檔案都至少選取一個版本以繼續。\"] } } } } }, { locale: \"zh_TW\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"黃柏諺 , 2024\", \"Language-Team\": \"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"zh_TW\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\n黃柏諺 , 2024\n` }, msgstr: [`Last-Translator: 黃柏諺 , 2024\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} 個檔案衝突\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{dirname} 中有 {count} 個檔案衝突\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"剩餘 {seconds} 秒\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"剩餘 {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"還剩幾秒\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"取消\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"取消整個操作\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"取消上傳\"] }, Continue: { msgid: \"Continue\", msgstr: [\"繼續\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"估計剩餘時間\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"既有版本\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"若您選取兩個版本,複製的檔案的名稱將會新增編號。\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"最後修改日期未知\"] }, New: { msgid: \"New\", msgstr: [\"新增\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"新版本\"] }, paused: { msgid: \"paused\", msgstr: [\"已暫停\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"預覽圖片\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"選取所有核取方塊\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"選取所有既有檔案\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"選取所有新檔案\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"略過 {count} 檔案\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"未知大小\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"已取消上傳\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"上傳檔案\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"上傳進度\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"選取傳入資料夾後,其中任何的衝突檔案都會被覆寫。\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"您想保留哪些檔案?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"您必須為每個檔案都至少選取一個版本以繼續。\"] } } } } }].map((e) => R.addTranslation(e.locale, e.json));\nconst C = R.build(), Gs = C.ngettext.bind(C), u = C.gettext.bind(C), Ls = E.extend({\n name: \"UploadPicker\",\n components: {\n Cancel: ms,\n NcActionButton: J,\n NcActions: Q,\n NcButton: Z,\n NcIconSvgWrapper: X,\n NcProgressBar: ss,\n Plus: fs,\n Upload: xs\n },\n props: {\n accept: {\n type: Array,\n default: null\n },\n disabled: {\n type: Boolean,\n default: !1\n },\n multiple: {\n type: Boolean,\n default: !1\n },\n destination: {\n type: z,\n default: void 0\n },\n /**\n * List of file present in the destination folder\n */\n content: {\n type: Array,\n default: () => []\n },\n forbiddenCharacters: {\n type: Array,\n default: () => []\n }\n },\n data() {\n return {\n addLabel: u(\"New\"),\n cancelLabel: u(\"Cancel uploads\"),\n uploadLabel: u(\"Upload files\"),\n progressLabel: u(\"Upload progress\"),\n progressTimeId: `nc-uploader-progress-${Math.random().toString(36).slice(7)}`,\n eta: null,\n timeLeft: \"\",\n newFileMenuEntries: [],\n uploadManager: M()\n };\n },\n computed: {\n totalQueueSize() {\n return this.uploadManager.info?.size || 0;\n },\n uploadedQueueSize() {\n return this.uploadManager.info?.progress || 0;\n },\n progress() {\n return Math.round(this.uploadedQueueSize / this.totalQueueSize * 100) || 0;\n },\n queue() {\n return this.uploadManager.queue;\n },\n hasFailure() {\n return this.queue?.filter((e) => e.status === c.FAILED).length !== 0;\n },\n isUploading() {\n return this.queue?.length > 0;\n },\n isAssembling() {\n return this.queue?.filter((e) => e.status === c.ASSEMBLING).length !== 0;\n },\n isPaused() {\n return this.uploadManager.info?.status === I.PAUSED;\n },\n // Hide the button text if we're uploading\n buttonName() {\n if (!this.isUploading)\n return this.addLabel;\n }\n },\n watch: {\n destination(e) {\n this.setDestination(e);\n },\n totalQueueSize(e) {\n this.eta = K({ min: 0, max: e }), this.updateStatus();\n },\n uploadedQueueSize(e) {\n this.eta?.report?.(e), this.updateStatus();\n },\n isPaused(e) {\n e ? this.$emit(\"paused\", this.queue) : this.$emit(\"resumed\", this.queue);\n }\n },\n beforeMount() {\n this.destination && this.setDestination(this.destination), this.uploadManager.addNotifier(this.onUploadCompletion), g.debug(\"UploadPicker initialised\");\n },\n methods: {\n /**\n * Trigger file picker\n */\n onClick() {\n this.$refs.input.click();\n },\n /**\n * Start uploading\n */\n async onPick() {\n let e = [...this.$refs.input.files];\n if (Us(e, this.content)) {\n const s = e.filter((n) => this.content.find((i) => i.basename === n.name)).filter(Boolean), t = e.filter((n) => !s.includes(n));\n try {\n const { selected: n, renamed: i } = await ys(this.destination.basename, s, this.content);\n e = [...t, ...n, ...i];\n } catch {\n P(u(\"Upload cancelled\"));\n return;\n }\n }\n e.forEach((s) => {\n const n = (this.forbiddenCharacters || []).find((i) => s.name.includes(i));\n n ? P(u(`\"${n}\" is not allowed inside a file name.`)) : this.uploadManager.upload(s.name, s).catch(() => {\n });\n }), this.$refs.form.reset();\n },\n /**\n * Cancel ongoing queue\n */\n onCancel() {\n this.uploadManager.queue.forEach((e) => {\n e.cancel();\n }), this.$refs.form.reset();\n },\n updateStatus() {\n if (this.isPaused) {\n this.timeLeft = u(\"paused\");\n return;\n }\n const e = Math.round(this.eta.estimate());\n if (e === 1 / 0) {\n this.timeLeft = u(\"estimating time left\");\n return;\n }\n if (e < 10) {\n this.timeLeft = u(\"a few seconds left\");\n return;\n }\n if (e > 60) {\n const s = /* @__PURE__ */ new Date(0);\n s.setSeconds(e);\n const t = s.toISOString().slice(11, 19);\n this.timeLeft = u(\"{time} left\", { time: t });\n return;\n }\n this.timeLeft = u(\"{seconds} seconds left\", { seconds: e });\n },\n setDestination(e) {\n if (!this.destination) {\n g.debug(\"Invalid destination\");\n return;\n }\n this.uploadManager.destination = e, this.newFileMenuEntries = G(e);\n },\n onUploadCompletion(e) {\n e.status === c.FAILED ? this.$emit(\"failed\", e) : this.$emit(\"uploaded\", e);\n }\n }\n});\nvar ks = function() {\n var s = this, t = s._self._c;\n return s._self._setupProxy, s.destination ? t(\"form\", { ref: \"form\", staticClass: \"upload-picker\", class: { \"upload-picker--uploading\": s.isUploading, \"upload-picker--paused\": s.isPaused }, attrs: { \"data-cy-upload-picker\": \"\" } }, [s.newFileMenuEntries && s.newFileMenuEntries.length === 0 ? t(\"NcButton\", { attrs: { disabled: s.disabled, \"data-cy-upload-picker-add\": \"\", type: \"secondary\" }, on: { click: s.onClick }, scopedSlots: s._u([{ key: \"icon\", fn: function() {\n return [t(\"Plus\", { attrs: { title: \"\", size: 20, decorative: \"\" } })];\n }, proxy: !0 }], null, !1, 2954875042) }, [s._v(\" \" + s._s(s.buttonName) + \" \")]) : t(\"NcActions\", { attrs: { \"menu-name\": s.buttonName, \"menu-title\": s.addLabel, type: \"secondary\" }, scopedSlots: s._u([{ key: \"icon\", fn: function() {\n return [t(\"Plus\", { attrs: { title: \"\", size: 20, decorative: \"\" } })];\n }, proxy: !0 }], null, !1, 2954875042) }, [t(\"NcActionButton\", { attrs: { \"data-cy-upload-picker-add\": \"\", \"close-after-click\": !0 }, on: { click: s.onClick }, scopedSlots: s._u([{ key: \"icon\", fn: function() {\n return [t(\"Upload\", { attrs: { title: \"\", size: 20, decorative: \"\" } })];\n }, proxy: !0 }], null, !1, 3606034491) }, [s._v(\" \" + s._s(s.uploadLabel) + \" \")]), s._l(s.newFileMenuEntries, function(n) {\n return t(\"NcActionButton\", { key: n.id, staticClass: \"upload-picker__menu-entry\", attrs: { icon: n.iconClass, \"close-after-click\": !0 }, on: { click: function(i) {\n return n.handler(s.destination, s.content);\n } }, scopedSlots: s._u([n.iconSvgInline ? { key: \"icon\", fn: function() {\n return [t(\"NcIconSvgWrapper\", { attrs: { svg: n.iconSvgInline } })];\n }, proxy: !0 } : null], null, !0) }, [s._v(\" \" + s._s(n.displayName) + \" \")]);\n })], 2), t(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: s.isUploading, expression: \"isUploading\" }], staticClass: \"upload-picker__progress\" }, [t(\"NcProgressBar\", { attrs: { \"aria-label\": s.progressLabel, \"aria-describedby\": s.progressTimeId, error: s.hasFailure, value: s.progress, size: \"medium\" } }), t(\"p\", { attrs: { id: s.progressTimeId } }, [s._v(\" \" + s._s(s.timeLeft) + \" \")])], 1), s.isUploading ? t(\"NcButton\", { staticClass: \"upload-picker__cancel\", attrs: { type: \"tertiary\", \"aria-label\": s.cancelLabel, \"data-cy-upload-picker-cancel\": \"\" }, on: { click: s.onCancel }, scopedSlots: s._u([{ key: \"icon\", fn: function() {\n return [t(\"Cancel\", { attrs: { title: \"\", size: 20 } })];\n }, proxy: !0 }], null, !1, 4076886712) }) : s._e(), t(\"input\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !1, expression: \"false\" }], ref: \"input\", attrs: { type: \"file\", accept: s.accept?.join?.(\", \"), multiple: s.multiple, \"data-cy-upload-picker-input\": \"\" }, on: { change: s.onPick } })], 1) : s._e();\n}, vs = [], Cs = /* @__PURE__ */ y(\n Ls,\n ks,\n vs,\n !1,\n null,\n \"eca9500a\",\n null,\n null\n);\nconst Ys = Cs.exports;\nlet k = null;\nfunction M() {\n const e = document.querySelector('input[name=\"isPublic\"][value=\"1\"]') !== null;\n return k instanceof N || (k = new N(e)), k;\n}\nfunction Vs(e, s) {\n const t = M();\n return t.upload(e, s), t;\n}\nasync function ys(e, s, t) {\n const n = $(() => import(\"./ConflictPicker-Bif6rCp6.mjs\"));\n return new Promise((i, o) => {\n const l = new E({\n name: \"ConflictPickerRoot\",\n render: (f) => f(n, {\n props: {\n dirname: e,\n conflicts: s,\n content: t\n },\n on: {\n submit(r) {\n i(r), l.$destroy(), l.$el?.parentNode?.removeChild(l.$el);\n },\n cancel(r) {\n o(r ?? new Error(\"Canceled\")), l.$destroy(), l.$el?.parentNode?.removeChild(l.$el);\n }\n }\n })\n });\n l.$mount(), document.body.appendChild(l.$el);\n });\n}\nfunction Us(e, s) {\n const t = s.map((i) => i.basename);\n return e.filter((i) => {\n const o = i instanceof File ? i.name : i.basename;\n return t.indexOf(o) !== -1;\n }).length > 0;\n}\nexport {\n I as S,\n Ys as U,\n Gs as a,\n ns as b,\n c,\n M as g,\n Us as h,\n g as l,\n y as n,\n ys as o,\n u as t,\n Vs as u\n};\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4065\":\"9661e9d1e1b32699b74a\",\"4254\":\"96661b9f421b07ce7189\",\"6075\":\"d640b65b03c7259e0129\",\"9558\":\"8c4576358f0dfcd0dc8e\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1171;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1171: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(94979)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","has","Object","prototype","hasOwnProperty","prefix","Events","EE","fn","context","once","this","addListener","emitter","event","TypeError","listener","evt","_events","push","_eventsCount","clearEvent","EventEmitter","create","__proto__","eventNames","events","name","names","call","slice","getOwnPropertySymbols","concat","listeners","handlers","i","l","length","ee","Array","listenerCount","emit","a1","a2","a3","a4","a5","args","len","arguments","removeListener","undefined","apply","j","on","removeAllListeners","off","prefixed","module","exports","getLoggerBuilder","setApp","detectUser","build","canUnshareOnly","nodes","every","node","attributes","canDisconnectOnly","displayName","view","id","t","hasSharedItems","some","hasDeleteItems","isMixedUnshareAndDelete","type","FileType","File","isAllFiles","Folder","isAllFolders","queue","PQueue","concurrency","action","FileAction","iconSvgInline","enabled","map","permissions","permission","Permission","DELETE","exec","dir","axios","delete","encodedSource","error","logger","source","execBatch","Promise","resolve","window","OC","dialogs","confirmDestructive","count","YES_NO_BUTTONS","confirm","confirmClasses","cancel","decision","showInfo","all","promises","add","async","result","order","triggerDownload","url","hiddenElement","document","createElement","download","href","click","downloadNodes","secret","Math","random","toString","substring","generateUrl","files","JSON","stringify","basename","isDownloadable","READ","_node$attributes$shar","_shareAttributes$find","shareAttributes","parse","downloadAttribute","find","attribute","scope","key","_node$root","root","startsWith","fill","UPDATE","path","link","generateOcsUrl","_getCurrentUser","post","uid","getCurrentUser","location","host","encodePath","data","ocs","token","showError","openLocalClient","shouldFavorite","favorite","favoriteNode","willFavorite","tags","TAG_FAVORITE","dirname","Vue","StarSvg","_node$root$startsWith","NONE","MoveCopyAction","canMove","reduce","min","ALL","canCopy","_node$attributes","canDownload","rootPath","defaultRootUrl","generateRemoteUrl","getClient","rootUrl","client","createClient","setHeaders","requesttoken","onRequestTokenUpdate","getRequestToken","getPatcher","patch","options","headers","method","fetch","hashCode","str","hash","charCodeAt","resultToNode","userId","Error","props","davParsePermissions","owner","String","filename","nodeData","fileid","mtime","Date","lastmod","mime","size","hasPreview","failed","getContents","controller","AbortController","propfindPayload","davGetDefaultPropfind","CancelablePromise","reject","onCancel","abort","contentsResponse","getDirectoryContents","details","includeSelf","signal","contents","folder","filter","Boolean","getActionForNodes","MOVE_OR_COPY","MOVE","COPY","handleCopyMoveNodeTo","destination","overwrite","NodeStatus","LOADING","copySuffix","index","davGetClient","currentPath","join","davRootPath","destinationPath","target","otherNodes","getUniqueName","n","suffix","ignoreFileExtension","copyFile","stat","davResultToNode","hasConflict","selected","renamed","openConflictPicker","moveFile","AxiosError","_error$response","_error$response2","_error$response3","response","status","message","debug","openFilePickerForAction","fileIDs","filePicker","getFilePickerBuilder","allowDirectories","setFilter","includes","setMimeTypeFilter","setMultiSelect","startAt","setButtonFactory","selection","buttons","dirnames","paths","label","escape","sanitize","icon","CopyIconSvg","callback","FolderMoveSvg","pick","catch","FilePickerClosed","e","displayname","FolderSvg","isDavRessource","OCP","Files","Router","goToRoute","default","DefaultType","HIDDEN","openfile","InformationSvg","_window","_ref","_nodes$0$root","OCA","Sidebar","open","query","defineComponent","components","NcButton","NcDialog","NcTextField","defaultName","otherNames","emits","close","localDefaultName","computed","errorMessage","isUniqueName","uniqueName","watch","$nextTick","focusInput","mounted","methods","_this$$refs$input","_this$$refs$input$foc","$refs","input","focus","onCreate","$emit","onClose","state","_vm","_c","_self","_setupProxy","attrs","scopedSlots","_u","_v","_s","proxy","$event","preventDefault","ref","newNodeName","folderContent","labels","contentNames","spawnDialog","NewNodeDialog","folderName","entry","CREATE","handler","content","_getCurrentUser2","_context$attributes","_context$attributes2","_context$attributes3","encodeURIComponent","Overwrite","parseInt","createNewFolder","showSuccess","templatesPath","loadState","directory","templatePath","copySystemTemplates","info","templates_path","initTemplatesFolder","removeNewFileMenuEntry","TemplatePickerVue","defineAsyncComponent","TemplatePicker","getTemplatePicker","mountingPoint","body","appendChild","render","h","parent","picker","el","_rootResponse","reportPayload","davGetFavoritesReport","rootResponse","generateFavoriteFolderView","View","generateIdFromPath","params","columns","userConfig","show_hidden","crop_image_previews","sort_favorites_first","sort_folders_first","grid_view","pinia","createPinia","lastTwoWeeksTimestamp","round","now","currUserID","isPersonalFile","mountType","registerFileAction","deleteAction","downloadAction","editLocallyAction","favoriteAction","moveOrCopyAction","openFolderAction","openInFilesAction","renameAction","sidebarAction","viewInFolderAction","addNewFileMenuEntry","newFolderEntry","newTemplatesFolder","forEach","provider","app","iconClass","templatePicker","extension","favoriteFolders","favoriteFoldersViews","Navigation","getNavigation","register","caption","emptyTitle","emptyCaption","subscribe","addToFavorites","_node$root2","removePathFromFavorites","updateNodeFromFavorites","updateAndSortViews","sort","a","b","localeCompare","getLanguage","ignorePunctuation","newFavoriteFolder","findIndex","splice","remove","favoriteFolder","registerFavoritesView","defaultSortKey","store","userConfigStore","defineStore","actions","onUpdate","value","update","put","_initialized","useUserConfigStore","davGetRecentSearch","deep","davRemoteURL","r","split","getFiles","then","c","navigator","addEventListener","noRewrite","registration","serviceWorker","registerDavProperty","nc","___CSS_LOADER_EXPORT___","def","x","d","RC","max","autostart","ignoreSameProgress","rate","lastTimestamp","lastProgress","historyTimeConstant","previousOutput","dt","start","report","progress","timestamp","deltaTimestamp","currentRate","reset","estimate","Infinity","estimatedTime","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","CancelError","constructor","reason","super","isCanceled","promiseState","freeze","pending","Symbol","canceled","resolved","rejected","PCancelable","userFunction","arguments_","executor","description","defineProperties","shouldReject","get","set","boolean","onFulfilled","onRejected","onFinally","finally","setPrototypeOf","TimeoutError","AbortError","getDOMException","globalThis","DOMException","getAbortedReason","PriorityQueue","enqueue","run","element","priority","array","comparator","first","step","trunc","it","lowerBound","dequeue","item","shift","timeout","carryoverConcurrencyCount","intervalCap","Number","POSITIVE_INFINITY","interval","autoStart","queueClass","isFinite","throwOnTimeout","delay","setTimeout","clearInterval","canInitializeInterval","job","setInterval","newConcurrency","_resolve","function_","throwIfAborted","operation","promise","milliseconds","fallback","customTimers","clearTimeout","timer","cancelablePromise","sign","aborted","timeoutError","clear","pTimeout","race","addAll","functions","pause","onEmpty","onSizeLessThan","limit","onIdle","sizeBy","isPaused","A","s","o","Blob","Destination","request","onUploadProgress","B","appConfig","max_chunk_size","ceil","INITIALIZED","UPLOADING","ASSEMBLING","FINISHED","CANCELLED","FAILED","ns","_source","_file","_isChunked","_chunks","_size","_uploaded","_startTime","_status","_controller","_response","file","isChunked","chunks","startTime","uploaded","getTime","g","setUid","I","IDLE","PAUSED","N","_destinationFolder","_isPublic","_uploadQueue","_jobQueue","_queueSize","_queueProgress","_queueStatus","_notifiers","isPublic","maxChunksSize","updateStats","addNotifier","upload","replace","origin","URL","f","T","U","p","L","m","bytes","lastModified","floor","ts","w","D","W","O","y","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","S","beforeCreate","ms","title","fillColor","_b","staticClass","role","$attrs","width","height","viewBox","_e","fs","xs","R","detectLocale","locale","json","charset","Language","translations","msgid","comments","translator","msgstr","Add","paused","msgid_plural","extracted","Cancel","Continue","New","addTranslation","C","Gs","ngettext","bind","u","gettext","Ls","extend","NcActionButton","NcActions","NcIconSvgWrapper","NcProgressBar","Plus","Upload","accept","disabled","multiple","forbiddenCharacters","addLabel","cancelLabel","uploadLabel","progressLabel","progressTimeId","eta","timeLeft","newFileMenuEntries","uploadManager","M","totalQueueSize","uploadedQueueSize","hasFailure","isUploading","isAssembling","buttonName","setDestination","updateStatus","beforeMount","onUploadCompletion","onClick","onPick","Us","ys","form","setSeconds","toISOString","time","seconds","class","decorative","_l","svg","directives","rawName","expression","change","k","querySelector","conflicts","submit","$destroy","$el","parentNode","removeChild","$mount","indexOf","Axios","CanceledError","isCancel","CancelToken","VERSION","isAxiosError","spread","toFormData","AxiosHeaders","HttpStatusCode","formToJSON","getAdapter","mergeConfig","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","chunkIds","notFulfilled","fulfilled","keys","getter","__esModule","definition","defineProperty","enumerable","chunkId","Function","obj","prop","done","script","needAttach","scripts","getElementsByTagName","getAttribute","setAttribute","src","onScriptComplete","prev","onerror","onload","doneFns","head","toStringTag","nmd","children","scriptUrl","importScripts","currentScript","test","baseURI","self","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"files-init.js?v=ddba5e84449f8c838bec","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/eventemitter3/index.js","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/actions/deleteAction.ts","webpack:///nextcloud/apps/files/src/actions/downloadAction.ts","webpack:///nextcloud/apps/files/src/actions/editLocallyAction.ts","webpack:///nextcloud/apps/files/src/actions/favoriteAction.ts","webpack:///nextcloud/apps/files/src/actions/moveOrCopyActionUtils.ts","webpack:///nextcloud/apps/files/src/services/WebdavClient.ts","webpack:///nextcloud/apps/files/src/utils/hashUtils.ts","webpack:///nextcloud/apps/files/src/services/Files.ts","webpack:///nextcloud/apps/files/src/actions/moveOrCopyAction.ts","webpack:///nextcloud/apps/files/src/actions/openFolderAction.ts","webpack:///nextcloud/apps/files/src/actions/openInFilesAction.ts","webpack:///nextcloud/apps/files/src/actions/renameAction.ts","webpack:///nextcloud/apps/files/src/actions/sidebarAction.ts","webpack:///nextcloud/apps/files/src/actions/viewInFolderAction.ts","webpack:///nextcloud/apps/files/src/components/NewNodeDialog.vue","webpack:///nextcloud/apps/files/src/components/NewNodeDialog.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/NewNodeDialog.vue?f920","webpack://nextcloud/./apps/files/src/components/NewNodeDialog.vue?1a36","webpack:///nextcloud/apps/files/src/utils/newNodeDialog.ts","webpack:///nextcloud/apps/files/src/newMenu/newFolder.ts","webpack:///nextcloud/apps/files/src/newMenu/newTemplatesFolder.ts","webpack:///nextcloud/apps/files/src/newMenu/newFromTemplate.ts","webpack:///nextcloud/apps/files/src/services/Favorites.ts","webpack:///nextcloud/apps/files/src/views/favorites.ts","webpack:///nextcloud/apps/files/src/store/userconfig.ts","webpack:///nextcloud/apps/files/src/store/index.ts","webpack:///nextcloud/apps/files/src/services/Recent.ts","webpack:///nextcloud/apps/files/src/services/PersonalFiles.ts","webpack:///nextcloud/apps/files/src/init.ts","webpack:///nextcloud/apps/files/src/views/files.ts","webpack:///nextcloud/apps/files/src/views/recent.ts","webpack:///nextcloud/apps/files/src/views/personal-files.ts","webpack:///nextcloud/apps/files/src/services/ServiceWorker.js","webpack:///nextcloud/apps/files/src/services/LivePhotos.ts","webpack:///nextcloud/node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css","webpack:///nextcloud/apps/files/src/components/NewNodeDialog.vue?vue&type=style&index=0&id=7edd79b1&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/simple-eta/index.js","webpack://nextcloud/./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css?40cd","webpack:///nextcloud/node_modules/p-cancelable/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-timeout/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/priority-queue.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/lower-bound.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/dist/chunks/index-DM2X1kc6.mjs","webpack:///nextcloud/node_modules/axios/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { Permission, Node, View, FileAction, FileType } from '@nextcloud/files';\nimport { showInfo } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport CloseSvg from '@mdi/svg/svg/close.svg?raw';\nimport NetworkOffSvg from '@mdi/svg/svg/network-off.svg?raw';\nimport TrashCanSvg from '@mdi/svg/svg/trash-can.svg?raw';\nimport logger from '../logger.js';\nimport PQueue from 'p-queue';\nconst canUnshareOnly = (nodes) => {\n return nodes.every(node => node.attributes['is-mount-root'] === true\n && node.attributes['mount-type'] === 'shared');\n};\nconst canDisconnectOnly = (nodes) => {\n return nodes.every(node => node.attributes['is-mount-root'] === true\n && node.attributes['mount-type'] === 'external');\n};\nconst isMixedUnshareAndDelete = (nodes) => {\n if (nodes.length === 1) {\n return false;\n }\n const hasSharedItems = nodes.some(node => canUnshareOnly([node]));\n const hasDeleteItems = nodes.some(node => !canUnshareOnly([node]));\n return hasSharedItems && hasDeleteItems;\n};\nconst isAllFiles = (nodes) => {\n return !nodes.some(node => node.type !== FileType.File);\n};\nconst isAllFolders = (nodes) => {\n return !nodes.some(node => node.type !== FileType.Folder);\n};\nconst displayName = (nodes, view) => {\n /**\n * If we're in the trashbin, we can only delete permanently\n */\n if (view.id === 'trashbin') {\n return t('files', 'Delete permanently');\n }\n /**\n * If we're in the sharing view, we can only unshare\n */\n if (isMixedUnshareAndDelete(nodes)) {\n return t('files', 'Delete and unshare');\n }\n /**\n * If those nodes are all the root node of a\n * share, we can only unshare them.\n */\n if (canUnshareOnly(nodes)) {\n if (nodes.length === 1) {\n return t('files', 'Leave this share');\n }\n return t('files', 'Leave these shares');\n }\n /**\n * If those nodes are all the root node of an\n * external storage, we can only disconnect it.\n */\n if (canDisconnectOnly(nodes)) {\n if (nodes.length === 1) {\n return t('files', 'Disconnect storage');\n }\n return t('files', 'Disconnect storages');\n }\n /**\n * If we're only selecting files, use proper wording\n */\n if (isAllFiles(nodes)) {\n if (nodes.length === 1) {\n return t('files', 'Delete file');\n }\n return t('files', 'Delete files');\n }\n /**\n * If we're only selecting folders, use proper wording\n */\n if (isAllFolders(nodes)) {\n if (nodes.length === 1) {\n return t('files', 'Delete folder');\n }\n return t('files', 'Delete folders');\n }\n return t('files', 'Delete');\n};\nconst queue = new PQueue({ concurrency: 5 });\nexport const action = new FileAction({\n id: 'delete',\n displayName,\n iconSvgInline: (nodes) => {\n if (canUnshareOnly(nodes)) {\n return CloseSvg;\n }\n if (canDisconnectOnly(nodes)) {\n return NetworkOffSvg;\n }\n return TrashCanSvg;\n },\n enabled(nodes) {\n return nodes.length > 0 && nodes\n .map(node => node.permissions)\n .every(permission => (permission & Permission.DELETE) !== 0);\n },\n async exec(node, view, dir) {\n try {\n await axios.delete(node.encodedSource);\n // Let's delete even if it's moved to the trashbin\n // since it has been removed from the current view\n // and changing the view will trigger a reload anyway.\n emit('files:node:deleted', node);\n return true;\n }\n catch (error) {\n logger.error('Error while deleting a file', { error, source: node.source, node });\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n const confirm = await new Promise(resolve => {\n if (nodes.length >= 5 && !canUnshareOnly(nodes) && !canDisconnectOnly(nodes)) {\n // TODO use a proper dialog from @nextcloud/dialogs when available\n window.OC.dialogs.confirmDestructive(t('files', 'You are about to delete {count} items.', { count: nodes.length }), t('files', 'Confirm deletion'), {\n type: window.OC.dialogs.YES_NO_BUTTONS,\n confirm: displayName(nodes, view),\n confirmClasses: 'error',\n cancel: t('files', 'Cancel'),\n }, (decision) => {\n resolve(decision);\n });\n return;\n }\n resolve(true);\n });\n // If the user cancels the deletion, we don't want to do anything\n if (confirm === false) {\n showInfo(t('files', 'Deletion cancelled'));\n return Promise.all(nodes.map(() => false));\n }\n // Map each node to a promise that resolves with the result of exec(node)\n const promises = nodes.map(node => {\n // Create a promise that resolves with the result of exec(node)\n const promise = new Promise(resolve => {\n queue.add(async () => {\n const result = await this.exec(node, view, dir);\n resolve(result !== null ? result : false);\n });\n });\n return promise;\n });\n return Promise.all(promises);\n },\n order: 100,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { generateUrl } from '@nextcloud/router';\nimport { FileAction, Permission, Node, FileType, View } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport ArrowDownSvg from '@mdi/svg/svg/arrow-down.svg?raw';\nconst triggerDownload = function (url) {\n const hiddenElement = document.createElement('a');\n hiddenElement.download = '';\n hiddenElement.href = url;\n hiddenElement.click();\n};\nconst downloadNodes = function (dir, nodes) {\n const secret = Math.random().toString(36).substring(2);\n const url = generateUrl('/apps/files/ajax/download.php?dir={dir}&files={files}&downloadStartSecret={secret}', {\n dir,\n secret,\n files: JSON.stringify(nodes.map(node => node.basename)),\n });\n triggerDownload(url);\n};\nconst isDownloadable = function (node) {\n if ((node.permissions & Permission.READ) === 0) {\n return false;\n }\n // If the mount type is a share, ensure it got download permissions.\n if (node.attributes['mount-type'] === 'shared') {\n const shareAttributes = JSON.parse(node.attributes['share-attributes'] ?? 'null');\n const downloadAttribute = shareAttributes?.find?.((attribute) => attribute.scope === 'permissions' && attribute.key === 'download');\n if (downloadAttribute !== undefined && downloadAttribute.enabled === false) {\n return false;\n }\n }\n return true;\n};\nexport const action = new FileAction({\n id: 'download',\n displayName: () => t('files', 'Download'),\n iconSvgInline: () => ArrowDownSvg,\n enabled(nodes) {\n if (nodes.length === 0) {\n return false;\n }\n // We can download direct dav files. But if we have\n // some folders, we need to use the /apps/files/ajax/download.php\n // endpoint, which only supports user root folder.\n if (nodes.some(node => node.type === FileType.Folder)\n && nodes.some(node => !node.root?.startsWith('/files'))) {\n return false;\n }\n return nodes.every(isDownloadable);\n },\n async exec(node, view, dir) {\n if (node.type === FileType.Folder) {\n downloadNodes(dir, [node]);\n return null;\n }\n triggerDownload(node.encodedSource);\n return null;\n },\n async execBatch(nodes, view, dir) {\n if (nodes.length === 1) {\n this.exec(nodes[0], view, dir);\n return [null];\n }\n downloadNodes(dir, nodes);\n return new Array(nodes.length).fill(null);\n },\n order: 30,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { encodePath } from '@nextcloud/paths';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { FileAction, Permission } from '@nextcloud/files';\nimport { showError } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport LaptopSvg from '@mdi/svg/svg/laptop.svg?raw';\nconst openLocalClient = async function (path) {\n const link = generateOcsUrl('apps/files/api/v1') + '/openlocaleditor?format=json';\n try {\n const result = await axios.post(link, { path });\n const uid = getCurrentUser()?.uid;\n let url = `nc://open/${uid}@` + window.location.host + encodePath(path);\n url += '?token=' + result.data.ocs.data.token;\n window.location.href = url;\n }\n catch (error) {\n showError(t('files', 'Failed to redirect to client'));\n }\n};\nexport const action = new FileAction({\n id: 'edit-locally',\n displayName: () => t('files', 'Edit locally'),\n iconSvgInline: () => LaptopSvg,\n // Only works on single files\n enabled(nodes) {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n return (nodes[0].permissions & Permission.UPDATE) !== 0;\n },\n async exec(node) {\n openLocalClient(node.path);\n return null;\n },\n order: 25,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { Permission, View, FileAction } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nimport StarOutlineSvg from '@mdi/svg/svg/star-outline.svg?raw';\nimport StarSvg from '@mdi/svg/svg/star.svg?raw';\nimport logger from '../logger.js';\nimport { encodePath } from '@nextcloud/paths';\n// If any of the nodes is not favorited, we display the favorite action.\nconst shouldFavorite = (nodes) => {\n return nodes.some(node => node.attributes.favorite !== 1);\n};\nexport const favoriteNode = async (node, view, willFavorite) => {\n try {\n // TODO: migrate to webdav tags plugin\n const url = generateUrl('/apps/files/api/v1/files') + encodePath(node.path);\n await axios.post(url, {\n tags: willFavorite\n ? [window.OC.TAG_FAVORITE]\n : [],\n });\n // Let's delete if we are in the favourites view\n // AND if it is removed from the user favorites\n // AND it's in the root of the favorites view\n if (view.id === 'favorites' && !willFavorite && node.dirname === '/') {\n emit('files:node:deleted', node);\n }\n // Update the node webdav attribute\n Vue.set(node.attributes, 'favorite', willFavorite ? 1 : 0);\n // Dispatch event to whoever is interested\n if (willFavorite) {\n emit('files:favorites:added', node);\n }\n else {\n emit('files:favorites:removed', node);\n }\n return true;\n }\n catch (error) {\n const action = willFavorite ? 'adding a file to favourites' : 'removing a file from favourites';\n logger.error('Error while ' + action, { error, source: node.source, node });\n return false;\n }\n};\nexport const action = new FileAction({\n id: 'favorite',\n displayName(nodes) {\n return shouldFavorite(nodes)\n ? t('files', 'Add to favorites')\n : t('files', 'Remove from favorites');\n },\n iconSvgInline: (nodes) => {\n return shouldFavorite(nodes)\n ? StarOutlineSvg\n : StarSvg;\n },\n enabled(nodes) {\n // We can only favorite nodes within files and with permissions\n return !nodes.some(node => !node.root?.startsWith?.('/files'))\n && nodes.every(node => node.permissions !== Permission.NONE);\n },\n async exec(node, view) {\n const willFavorite = shouldFavorite([node]);\n return await favoriteNode(node, view, willFavorite);\n },\n async execBatch(nodes, view) {\n const willFavorite = shouldFavorite(nodes);\n return Promise.all(nodes.map(async (node) => await favoriteNode(node, view, willFavorite)));\n },\n order: -50,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\nimport { Permission } from '@nextcloud/files';\nimport PQueue from 'p-queue';\n// This is the processing queue. We only want to allow 3 concurrent requests\nlet queue;\n// Maximum number of concurrent operations\nconst MAX_CONCURRENCY = 5;\n/**\n * Get the processing queue\n */\nexport const getQueue = () => {\n if (!queue) {\n queue = new PQueue({ concurrency: MAX_CONCURRENCY });\n }\n return queue;\n};\nexport var MoveCopyAction;\n(function (MoveCopyAction) {\n MoveCopyAction[\"MOVE\"] = \"Move\";\n MoveCopyAction[\"COPY\"] = \"Copy\";\n MoveCopyAction[\"MOVE_OR_COPY\"] = \"move-or-copy\";\n})(MoveCopyAction || (MoveCopyAction = {}));\nexport const canMove = (nodes) => {\n const minPermission = nodes.reduce((min, node) => Math.min(min, node.permissions), Permission.ALL);\n return (minPermission & Permission.UPDATE) !== 0;\n};\nexport const canDownload = (nodes) => {\n return nodes.every(node => {\n const shareAttributes = JSON.parse(node.attributes?.['share-attributes'] ?? '[]');\n return !shareAttributes.some(attribute => attribute.scope === 'permissions' && attribute.enabled === false && attribute.key === 'download');\n });\n};\nexport const canCopy = (nodes) => {\n // a shared file cannot be copied if the download is disabled\n // it can be copied if the user has at least read permissions\n return canDownload(nodes)\n && !nodes.some(node => node.permissions === Permission.NONE);\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { createClient, getPatcher } from 'webdav';\nimport { generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser, getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth';\nexport const rootPath = `/files/${getCurrentUser()?.uid}`;\nexport const defaultRootUrl = generateRemoteUrl('dav' + rootPath);\nexport const getClient = (rootUrl = defaultRootUrl) => {\n const client = createClient(rootUrl);\n // set CSRF token header\n const setHeaders = (token) => {\n client?.setHeaders({\n // Add this so the server knows it is an request from the browser\n 'X-Requested-With': 'XMLHttpRequest',\n // Inject user auth\n requesttoken: token ?? '',\n });\n };\n // refresh headers when request token changes\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n /**\n * Allow to override the METHOD to support dav REPORT\n *\n * @see https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/request.ts\n */\n const patcher = getPatcher();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // https://github.com/perry-mitchell/hot-patcher/issues/6\n patcher.patch('fetch', (url, options) => {\n const headers = options.headers;\n if (headers?.method) {\n options.method = headers.method;\n delete headers.method;\n }\n return fetch(url, options);\n });\n return client;\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport const hashCode = function (str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash + str.charCodeAt(i)) | 0;\n }\n return (hash >>> 0);\n};\n","import { CancelablePromise } from 'cancelable-promise';\nimport { File, Folder, davParsePermissions, davGetDefaultPropfind } from '@nextcloud/files';\nimport { generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { getClient, rootPath } from './WebdavClient';\nimport { hashCode } from '../utils/hashUtils';\nimport logger from '../logger';\nconst client = getClient();\nexport const resultToNode = function (node) {\n const userId = getCurrentUser()?.uid;\n if (!userId) {\n throw new Error('No user id found');\n }\n const props = node.props;\n const permissions = davParsePermissions(props?.permissions);\n const owner = String(props['owner-id'] || userId);\n const source = generateRemoteUrl('dav' + rootPath + node.filename);\n const id = props?.fileid < 0\n ? hashCode(source)\n : props?.fileid || 0;\n const nodeData = {\n id,\n source,\n mtime: new Date(node.lastmod),\n mime: node.mime || 'application/octet-stream',\n size: props?.size || 0,\n permissions,\n owner,\n root: rootPath,\n attributes: {\n ...node,\n ...props,\n 'owner-id': owner,\n 'owner-display-name': String(props['owner-display-name']),\n hasPreview: !!props?.['has-preview'],\n failed: props?.fileid < 0,\n },\n };\n delete nodeData.attributes.props;\n return node.type === 'file'\n ? new File(nodeData)\n : new Folder(nodeData);\n};\nexport const getContents = (path = '/') => {\n const controller = new AbortController();\n const propfindPayload = davGetDefaultPropfind();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const contentsResponse = await client.getDirectoryContents(path, {\n details: true,\n data: propfindPayload,\n includeSelf: true,\n signal: controller.signal,\n });\n const root = contentsResponse.data[0];\n const contents = contentsResponse.data.slice(1);\n if (root.filename !== path) {\n throw new Error('Root node does not match requested path');\n }\n resolve({\n folder: resultToNode(root),\n contents: contents.map(result => {\n try {\n return resultToNode(result);\n }\n catch (error) {\n logger.error(`Invalid node detected '${result.basename}'`, { error });\n return null;\n }\n }).filter(Boolean),\n });\n }\n catch (error) {\n reject(error);\n }\n });\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\n// eslint-disable-next-line n/no-extraneous-import\nimport { AxiosError } from 'axios';\nimport { basename, join } from 'path';\nimport { emit } from '@nextcloud/event-bus';\nimport { FilePickerClosed, getFilePickerBuilder, showError } from '@nextcloud/dialogs';\nimport { FileAction, FileType, NodeStatus, davGetClient, davRootPath, davResultToNode, davGetDefaultPropfind, getUniqueName } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { openConflictPicker, hasConflict } from '@nextcloud/upload';\nimport Vue from 'vue';\nimport CopyIconSvg from '@mdi/svg/svg/folder-multiple.svg?raw';\nimport FolderMoveSvg from '@mdi/svg/svg/folder-move.svg?raw';\nimport { MoveCopyAction, canCopy, canMove, getQueue } from './moveOrCopyActionUtils';\nimport { getContents } from '../services/Files';\nimport logger from '../logger';\n/**\n * Return the action that is possible for the given nodes\n * @param {Node[]} nodes The nodes to check against\n * @return {MoveCopyAction} The action that is possible for the given nodes\n */\nconst getActionForNodes = (nodes) => {\n if (canMove(nodes)) {\n if (canCopy(nodes)) {\n return MoveCopyAction.MOVE_OR_COPY;\n }\n return MoveCopyAction.MOVE;\n }\n // Assuming we can copy as the enabled checks for copy permissions\n return MoveCopyAction.COPY;\n};\n/**\n * Handle the copy/move of a node to a destination\n * This can be imported and used by other scripts/components on server\n * @param {Node} node The node to copy/move\n * @param {Folder} destination The destination to copy/move the node to\n * @param {MoveCopyAction} method The method to use for the copy/move\n * @param {boolean} overwrite Whether to overwrite the destination if it exists\n * @return {Promise} A promise that resolves when the copy/move is done\n */\nexport const handleCopyMoveNodeTo = async (node, destination, method, overwrite = false) => {\n if (!destination) {\n return;\n }\n if (destination.type !== FileType.Folder) {\n throw new Error(t('files', 'Destination is not a folder'));\n }\n // Do not allow to MOVE a node to the same folder it is already located\n if (method === MoveCopyAction.MOVE && node.dirname === destination.path) {\n throw new Error(t('files', 'This file/folder is already in that directory'));\n }\n /**\n * Example:\n * - node: /foo/bar/file.txt -> path = /foo/bar/file.txt, destination: /foo\n * Allow move of /foo does not start with /foo/bar/file.txt so allow\n * - node: /foo , destination: /foo/bar\n * Do not allow as it would copy foo within itself\n * - node: /foo/bar.txt, destination: /foo\n * Allow copy a file to the same directory\n * - node: \"/foo/bar\", destination: \"/foo/bar 1\"\n * Allow to move or copy but we need to check with trailing / otherwise it would report false positive\n */\n if (`${destination.path}/`.startsWith(`${node.path}/`)) {\n throw new Error(t('files', 'You cannot move a file/folder onto itself or into a subfolder of itself'));\n }\n // Set loading state\n Vue.set(node, 'status', NodeStatus.LOADING);\n const queue = getQueue();\n return await queue.add(async () => {\n const copySuffix = (index) => {\n if (index === 1) {\n return t('files', '(copy)'); // TRANSLATORS: Mark a file as a copy of another file\n }\n return t('files', '(copy %n)', undefined, index); // TRANSLATORS: Meaning it is the n'th copy of a file\n };\n try {\n const client = davGetClient();\n const currentPath = join(davRootPath, node.path);\n const destinationPath = join(davRootPath, destination.path);\n if (method === MoveCopyAction.COPY) {\n let target = node.basename;\n // If we do not allow overwriting then find an unique name\n if (!overwrite) {\n const otherNodes = await client.getDirectoryContents(destinationPath);\n target = getUniqueName(node.basename, otherNodes.map((n) => n.basename), {\n suffix: copySuffix,\n ignoreFileExtension: node.type === FileType.Folder,\n });\n }\n await client.copyFile(currentPath, join(destinationPath, target));\n // If the node is copied into current directory the view needs to be updated\n if (node.dirname === destination.path) {\n const { data } = await client.stat(join(destinationPath, target), {\n details: true,\n data: davGetDefaultPropfind(),\n });\n emit('files:node:created', davResultToNode(data));\n }\n }\n else {\n // show conflict file popup if we do not allow overwriting\n const otherNodes = await getContents(destination.path);\n if (hasConflict([node], otherNodes.contents)) {\n try {\n // Let the user choose what to do with the conflicting files\n const { selected, renamed } = await openConflictPicker(destination.path, [node], otherNodes.contents);\n // two empty arrays: either only old files or conflict skipped -> no action required\n if (!selected.length && !renamed.length) {\n return;\n }\n }\n catch (error) {\n // User cancelled\n showError(t('files', 'Move cancelled'));\n return;\n }\n }\n // getting here means either no conflict, file was renamed to keep both files\n // in a conflict, or the selected file was chosen to be kept during the conflict\n await client.moveFile(currentPath, join(destinationPath, node.basename));\n // Delete the node as it will be fetched again\n // when navigating to the destination folder\n emit('files:node:deleted', node);\n }\n }\n catch (error) {\n if (error instanceof AxiosError) {\n if (error?.response?.status === 412) {\n throw new Error(t('files', 'A file or folder with that name already exists in this folder'));\n }\n else if (error?.response?.status === 423) {\n throw new Error(t('files', 'The files are locked'));\n }\n else if (error?.response?.status === 404) {\n throw new Error(t('files', 'The file does not exist anymore'));\n }\n else if (error.message) {\n throw new Error(error.message);\n }\n }\n logger.debug(error);\n throw new Error();\n }\n finally {\n Vue.set(node, 'status', undefined);\n }\n });\n};\n/**\n * Open a file picker for the given action\n * @param {MoveCopyAction} action The action to open the file picker for\n * @param {string} dir The directory to start the file picker in\n * @param {Node[]} nodes The nodes to move/copy\n * @return {Promise} The picked destination\n */\nconst openFilePickerForAction = async (action, dir = '/', nodes) => {\n const fileIDs = nodes.map(node => node.fileid).filter(Boolean);\n const filePicker = getFilePickerBuilder(t('files', 'Choose destination'))\n .allowDirectories(true)\n .setFilter((n) => {\n // We don't want to show the current nodes in the file picker\n return !fileIDs.includes(n.fileid);\n })\n .setMimeTypeFilter([])\n .setMultiSelect(false)\n .startAt(dir);\n return new Promise((resolve, reject) => {\n filePicker.setButtonFactory((selection, path) => {\n const buttons = [];\n const target = basename(path);\n const dirnames = nodes.map(node => node.dirname);\n const paths = nodes.map(node => node.path);\n if (action === MoveCopyAction.COPY || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Copy to {target}', { target }, undefined, { escape: false, sanitize: false }) : t('files', 'Copy'),\n type: 'primary',\n icon: CopyIconSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.COPY,\n });\n },\n });\n }\n // Invalid MOVE targets (but valid copy targets)\n if (dirnames.includes(path)) {\n // This file/folder is already in that directory\n return buttons;\n }\n if (paths.includes(path)) {\n // You cannot move a file/folder onto itself\n return buttons;\n }\n if (action === MoveCopyAction.MOVE || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Move to {target}', { target }, undefined, { escape: false, sanitize: false }) : t('files', 'Move'),\n type: action === MoveCopyAction.MOVE ? 'primary' : 'secondary',\n icon: FolderMoveSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.MOVE,\n });\n },\n });\n }\n return buttons;\n });\n const picker = filePicker.build();\n picker.pick().catch((error) => {\n logger.debug(error);\n if (error instanceof FilePickerClosed) {\n reject(new Error(t('files', 'Cancelled move or copy operation')));\n }\n else {\n reject(new Error(t('files', 'Move or copy operation failed')));\n }\n });\n });\n};\nexport const action = new FileAction({\n id: 'move-copy',\n displayName(nodes) {\n switch (getActionForNodes(nodes)) {\n case MoveCopyAction.MOVE:\n return t('files', 'Move');\n case MoveCopyAction.COPY:\n return t('files', 'Copy');\n case MoveCopyAction.MOVE_OR_COPY:\n return t('files', 'Move or copy');\n }\n },\n iconSvgInline: () => FolderMoveSvg,\n enabled(nodes) {\n // We only support moving/copying files within the user folder\n if (!nodes.every(node => node.root?.startsWith('/files/'))) {\n return false;\n }\n return nodes.length > 0 && (canMove(nodes) || canCopy(nodes));\n },\n async exec(node, view, dir) {\n const action = getActionForNodes([node]);\n let result;\n try {\n result = await openFilePickerForAction(action, dir, [node]);\n }\n catch (e) {\n logger.error(e);\n return false;\n }\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n if (error instanceof Error && !!error.message) {\n showError(error.message);\n // Silent action as we handle the toast\n return null;\n }\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n const action = getActionForNodes(nodes);\n const result = await openFilePickerForAction(action, dir, nodes);\n const promises = nodes.map(async (node) => {\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n logger.error(`Failed to ${result.action} node`, { node, error });\n return false;\n }\n });\n // We need to keep the selection on error!\n // So we do not return null, and for batch action\n // we let the front handle the error.\n return await Promise.all(promises);\n },\n order: 15,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Permission, Node, FileType, View, FileAction, DefaultType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport FolderSvg from '@mdi/svg/svg/folder.svg?raw';\nexport const action = new FileAction({\n id: 'open-folder',\n displayName(files) {\n // Only works on single node\n const displayName = files[0].attributes.displayname || files[0].basename;\n return t('files', 'Open folder {displayName}', { displayName });\n },\n iconSvgInline: () => FolderSvg,\n enabled(nodes) {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n const node = nodes[0];\n if (!node.isDavRessource) {\n return false;\n }\n return node.type === FileType.Folder\n && (node.permissions & Permission.READ) !== 0;\n },\n async exec(node, view) {\n if (!node || node.type !== FileType.Folder) {\n return false;\n }\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { dir: node.path });\n return null;\n },\n // Main action if enabled, meaning folders only\n default: DefaultType.HIDDEN,\n order: -100,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport { FileType, FileAction, DefaultType } from '@nextcloud/files';\n/**\n * TODO: Move away from a redirect and handle\n * navigation straight out of the recent view\n */\nexport const action = new FileAction({\n id: 'open-in-files-recent',\n displayName: () => t('files', 'Open in Files'),\n iconSvgInline: () => '',\n enabled: (nodes, view) => view.id === 'recent',\n async exec(node) {\n let dir = node.dirname;\n if (node.type === FileType.Folder) {\n dir = dir + '/' + node.basename;\n }\n window.OCP.Files.Router.goToRoute(null, // use default route\n { view: 'files', fileid: node.fileid }, { dir, openfile: 'true' });\n return null;\n },\n // Before openFolderAction\n order: -1000,\n default: DefaultType.HIDDEN,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { Permission, FileAction } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport PencilSvg from '@mdi/svg/svg/pencil.svg?raw';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: 'rename',\n displayName: () => t('files', 'Rename'),\n iconSvgInline: () => PencilSvg,\n enabled: (nodes) => {\n return nodes.length > 0 && nodes\n .map(node => node.permissions)\n .every(permission => (permission & Permission.UPDATE) !== 0);\n },\n async exec(node) {\n // Renaming is a built-in feature of the files app\n emit('files:node:rename', node);\n return null;\n },\n order: 10,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Permission, View, FileAction, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Open details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (nodes) => {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n if (!nodes[0]) {\n return false;\n }\n // Only work if the sidebar is available\n if (!window?.OCA?.Files?.Sidebar) {\n return false;\n }\n return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n },\n async exec(node, view, dir) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n await window.OCA.Files.Sidebar.open(node.path);\n // Silently update current fileid\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { ...window.OCP.Files.Router.query, dir }, true);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n order: -50,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Node, FileType, Permission, View, FileAction } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport FolderMoveSvg from '@mdi/svg/svg/folder-move.svg?raw';\nexport const action = new FileAction({\n id: 'view-in-folder',\n displayName() {\n return t('files', 'View in folder');\n },\n iconSvgInline: () => FolderMoveSvg,\n enabled(nodes, view) {\n // Only works outside of the main files view\n if (view.id === 'files') {\n return false;\n }\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n const node = nodes[0];\n if (!node.isDavRessource) {\n return false;\n }\n if (node.permissions === Permission.NONE) {\n return false;\n }\n return node.type === FileType.File;\n },\n async exec(node) {\n if (!node || node.type !== FileType.File) {\n return false;\n }\n window.OCP.Files.Router.goToRoute(null, { view: 'files', fileid: node.fileid }, { dir: node.dirname });\n return null;\n },\n order: 80,\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcDialog',{attrs:{\"name\":_vm.name,\"open\":_vm.open,\"close-on-click-outside\":\"\",\"out-transition\":\"\"},on:{\"update:open\":_vm.onClose},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.isUniqueName},on:{\"click\":_vm.onCreate}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Create'))+\"\\n\\t\\t\")])]},proxy:true}])},[_vm._v(\" \"),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onCreate.apply(null, arguments)}}},[_c('NcTextField',{ref:\"input\",staticClass:\"dialog__input\",attrs:{\"error\":!_vm.isUniqueName,\"helper-text\":_vm.errorMessage,\"label\":_vm.label,\"value\":_vm.localDefaultName},on:{\"update:value\":function($event){_vm.localDefaultName=$event},\"keyup\":_vm.checkInputValidity}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewNodeDialog.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewNodeDialog.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewNodeDialog.vue?vue&type=style&index=0&id=7edd79b1&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewNodeDialog.vue?vue&type=style&index=0&id=7edd79b1&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NewNodeDialog.vue?vue&type=template&id=7edd79b1&scoped=true\"\nimport script from \"./NewNodeDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./NewNodeDialog.vue?vue&type=script&lang=ts\"\nimport style0 from \"./NewNodeDialog.vue?vue&type=style&index=0&id=7edd79b1&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7edd79b1\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { spawnDialog } from '@nextcloud/dialogs';\nimport NewNodeDialog from '../components/NewNodeDialog.vue';\n/**\n * Ask user for file or folder name\n * @param defaultName Default name to use\n * @param folderContent Nodes with in the current folder to check for unique name\n * @param labels Labels to set on the dialog\n * @return string if successfull otherwise null if aborted\n */\nexport function newNodeName(defaultName, folderContent, labels = {}) {\n const contentNames = folderContent.map((node) => node.basename);\n return new Promise((resolve) => {\n spawnDialog(NewNodeDialog, {\n ...labels,\n defaultName,\n otherNames: contentNames,\n }, (folderName) => {\n resolve(folderName);\n });\n });\n}\n","import { basename } from 'path';\nimport { emit } from '@nextcloud/event-bus';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { Permission, Folder } from '@nextcloud/files';\nimport { showSuccess } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport FolderPlusSvg from '@mdi/svg/svg/folder-plus.svg?raw';\nimport { newNodeName } from '../utils/newNodeDialog';\nimport logger from '../logger';\nconst createNewFolder = async (root, name) => {\n const source = root.source + '/' + name;\n const encodedSource = root.encodedSource + '/' + encodeURIComponent(name);\n const response = await axios({\n method: 'MKCOL',\n url: encodedSource,\n headers: {\n Overwrite: 'F',\n },\n });\n return {\n fileid: parseInt(response.headers['oc-fileid']),\n source,\n };\n};\nexport const entry = {\n id: 'newFolder',\n displayName: t('files', 'New folder'),\n enabled: (context) => (context.permissions & Permission.CREATE) !== 0,\n iconSvgInline: FolderPlusSvg,\n order: 0,\n async handler(context, content) {\n const name = await newNodeName(t('files', 'New folder'), content);\n if (name !== null) {\n const { fileid, source } = await createNewFolder(context, name);\n // Create the folder in the store\n const folder = new Folder({\n source,\n id: fileid,\n mtime: new Date(),\n owner: getCurrentUser()?.uid || null,\n permissions: Permission.ALL,\n root: context?.root || '/files/' + getCurrentUser()?.uid,\n // Include mount-type from parent folder as this is inherited\n attributes: {\n 'mount-type': context.attributes?.['mount-type'],\n 'owner-id': context.attributes?.['owner-id'],\n 'owner-display-name': context.attributes?.['owner-display-name'],\n },\n });\n showSuccess(t('files', 'Created new folder \"{name}\"', { name: basename(source) }));\n logger.debug('Created new folder', { folder, source });\n emit('files:node:created', folder);\n window.OCP.Files.Router.goToRoute(null, // use default route\n { view: 'files', fileid: folder.fileid }, { dir: context.path });\n }\n },\n};\n","import { getCurrentUser } from '@nextcloud/auth';\nimport { showError } from '@nextcloud/dialogs';\nimport { Permission, removeNewFileMenuEntry } from '@nextcloud/files';\nimport { loadState } from '@nextcloud/initial-state';\nimport { translate as t } from '@nextcloud/l10n';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { join } from 'path';\nimport { newNodeName } from '../utils/newNodeDialog';\nimport PlusSvg from '@mdi/svg/svg/plus.svg?raw';\nimport axios from '@nextcloud/axios';\nimport logger from '../logger.js';\nlet templatesPath = loadState('files', 'templates_path', false);\nlogger.debug('Initial templates folder', { templatesPath });\n/**\n * Init template folder\n * @param directory Folder where to create the templates folder\n * @param name Name to use or the templates folder\n */\nconst initTemplatesFolder = async function (directory, name) {\n const templatePath = join(directory.path, name);\n try {\n logger.debug('Initializing the templates directory', { templatePath });\n const { data } = await axios.post(generateOcsUrl('apps/files/api/v1/templates/path'), {\n templatePath,\n copySystemTemplates: true,\n });\n // Go to template directory\n window.OCP.Files.Router.goToRoute(null, // use default route\n { view: 'files', fileid: undefined }, { dir: templatePath });\n logger.info('Created new templates folder', {\n ...data.ocs.data,\n });\n templatesPath = data.ocs.data.templates_path;\n }\n catch (error) {\n logger.error('Unable to initialize the templates directory');\n showError(t('files', 'Unable to initialize the templates directory'));\n }\n};\nexport const entry = {\n id: 'template-picker',\n displayName: t('files', 'Create new templates folder'),\n iconSvgInline: PlusSvg,\n order: 10,\n enabled(context) {\n // Templates folder already initialized\n if (templatesPath) {\n return false;\n }\n // Allow creation on your own folders only\n if (context.owner !== getCurrentUser()?.uid) {\n return false;\n }\n return (context.permissions & Permission.CREATE) !== 0;\n },\n async handler(context, content) {\n const name = await newNodeName(t('files', 'Templates'), content, { name: t('files', 'New template folder') });\n if (name !== null) {\n // Create the template folder\n initTemplatesFolder(context, name);\n // Remove the menu entry\n removeNewFileMenuEntry('template-picker');\n }\n },\n};\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Folder, Node, Permission, addNewFileMenuEntry } from '@nextcloud/files';\nimport { loadState } from '@nextcloud/initial-state';\nimport { newNodeName } from '../utils/newNodeDialog';\nimport { translate as t } from '@nextcloud/l10n';\nimport Vue, { defineAsyncComponent } from 'vue';\n// async to reduce bundle size\nconst TemplatePickerVue = defineAsyncComponent(() => import('../views/TemplatePicker.vue'));\nlet TemplatePicker = null;\nconst getTemplatePicker = async (context) => {\n if (TemplatePicker === null) {\n // Create document root\n const mountingPoint = document.createElement('div');\n mountingPoint.id = 'template-picker';\n document.body.appendChild(mountingPoint);\n // Init vue app\n TemplatePicker = new Vue({\n render: (h) => h(TemplatePickerVue, {\n ref: 'picker',\n props: {\n parent: context,\n },\n }),\n methods: { open(...args) { this.$refs.picker.open(...args); } },\n el: mountingPoint,\n });\n }\n return TemplatePicker;\n};\n/**\n * Register all new-file-menu entries for all template providers\n */\nexport function registerTemplateEntries() {\n const templates = loadState('files', 'templates', []);\n // Init template files menu\n templates.forEach((provider, index) => {\n addNewFileMenuEntry({\n id: `template-new-${provider.app}-${index}`,\n displayName: provider.label,\n iconClass: provider.iconClass || 'icon-file',\n iconSvgInline: provider.iconSvgInline,\n enabled(context) {\n return (context.permissions & Permission.CREATE) !== 0;\n },\n order: 11,\n async handler(context, content) {\n const templatePicker = getTemplatePicker(context);\n const name = await newNodeName(`${provider.label}${provider.extension}`, content, {\n label: t('files', 'Filename'),\n name: provider.label,\n });\n if (name !== null) {\n // Create the file\n const picker = await templatePicker;\n picker.open(name, provider);\n }\n },\n });\n });\n}\n","import { Folder, davGetDefaultPropfind, davGetFavoritesReport } from '@nextcloud/files';\nimport { getClient } from './WebdavClient';\nimport { resultToNode } from './Files';\nconst client = getClient();\nexport const getContents = async (path = '/') => {\n const propfindPayload = davGetDefaultPropfind();\n const reportPayload = davGetFavoritesReport();\n // Get root folder\n let rootResponse;\n if (path === '/') {\n rootResponse = await client.stat(path, {\n details: true,\n data: propfindPayload,\n });\n }\n const contentsResponse = await client.getDirectoryContents(path, {\n details: true,\n // Only filter favorites if we're at the root\n data: path === '/' ? reportPayload : propfindPayload,\n headers: {\n // Patched in WebdavClient.ts\n method: path === '/' ? 'REPORT' : 'PROPFIND',\n },\n includeSelf: true,\n });\n const root = rootResponse?.data || contentsResponse.data[0];\n const contents = contentsResponse.data.filter(node => node.filename !== path);\n return {\n folder: resultToNode(root),\n contents: contents.map(resultToNode),\n };\n};\n","import { subscribe } from '@nextcloud/event-bus';\nimport { FileType, View, getNavigation } from '@nextcloud/files';\nimport { loadState } from '@nextcloud/initial-state';\nimport { getLanguage, translate as t } from '@nextcloud/l10n';\nimport { basename } from 'path';\nimport FolderSvg from '@mdi/svg/svg/folder.svg?raw';\nimport StarSvg from '@mdi/svg/svg/star.svg?raw';\nimport { getContents } from '../services/Favorites';\nimport { hashCode } from '../utils/hashUtils';\nimport logger from '../logger';\nexport const generateFavoriteFolderView = function (folder, index = 0) {\n return new View({\n id: generateIdFromPath(folder.path),\n name: basename(folder.path),\n icon: FolderSvg,\n order: index,\n params: {\n dir: folder.path,\n fileid: folder.fileid.toString(),\n view: 'favorites',\n },\n parent: 'favorites',\n columns: [],\n getContents,\n });\n};\nexport const generateIdFromPath = function (path) {\n return `favorite-${hashCode(path)}`;\n};\nexport default () => {\n // Load state in function for mock testing purposes\n const favoriteFolders = loadState('files', 'favoriteFolders', []);\n const favoriteFoldersViews = favoriteFolders.map((folder, index) => generateFavoriteFolderView(folder, index));\n logger.debug('Generating favorites view', { favoriteFolders });\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: 'favorites',\n name: t('files', 'Favorites'),\n caption: t('files', 'List of favorites files and folders.'),\n emptyTitle: t('files', 'No favorites yet'),\n emptyCaption: t('files', 'Files and folders you mark as favorite will show up here'),\n icon: StarSvg,\n order: 15,\n columns: [],\n getContents,\n }));\n favoriteFoldersViews.forEach(view => Navigation.register(view));\n /**\n * Update favourites navigation when a new folder is added\n */\n subscribe('files:favorites:added', (node) => {\n if (node.type !== FileType.Folder) {\n return;\n }\n // Sanity check\n if (node.path === null || !node.root?.startsWith('/files')) {\n logger.error('Favorite folder is not within user files root', { node });\n return;\n }\n addToFavorites(node);\n });\n /**\n * Remove favourites navigation when a folder is removed\n */\n subscribe('files:favorites:removed', (node) => {\n if (node.type !== FileType.Folder) {\n return;\n }\n // Sanity check\n if (node.path === null || !node.root?.startsWith('/files')) {\n logger.error('Favorite folder is not within user files root', { node });\n return;\n }\n removePathFromFavorites(node.path);\n });\n /**\n * Update favourites navigation when a folder is renamed\n */\n subscribe('files:node:renamed', (node) => {\n if (node.type !== FileType.Folder) {\n return;\n }\n if (node.attributes.favorite !== 1) {\n return;\n }\n updateNodeFromFavorites(node);\n });\n /**\n * Sort the favorites paths array and\n * update the order property of the existing views\n */\n const updateAndSortViews = function () {\n favoriteFolders.sort((a, b) => a.path.localeCompare(b.path, getLanguage(), { ignorePunctuation: true }));\n favoriteFolders.forEach((folder, index) => {\n const view = favoriteFoldersViews.find((view) => view.id === generateIdFromPath(folder.path));\n if (view) {\n view.order = index;\n }\n });\n };\n // Add a folder to the favorites paths array and update the views\n const addToFavorites = function (node) {\n const newFavoriteFolder = { path: node.path, fileid: node.fileid };\n const view = generateFavoriteFolderView(newFavoriteFolder);\n // Skip if already exists\n if (favoriteFolders.find((folder) => folder.path === node.path)) {\n return;\n }\n // Update arrays\n favoriteFolders.push(newFavoriteFolder);\n favoriteFoldersViews.push(view);\n // Update and sort views\n updateAndSortViews();\n Navigation.register(view);\n };\n // Remove a folder from the favorites paths array and update the views\n const removePathFromFavorites = function (path) {\n const id = generateIdFromPath(path);\n const index = favoriteFolders.findIndex((folder) => folder.path === path);\n // Skip if not exists\n if (index === -1) {\n return;\n }\n // Update arrays\n favoriteFolders.splice(index, 1);\n favoriteFoldersViews.splice(index, 1);\n // Update and sort views\n Navigation.remove(id);\n updateAndSortViews();\n };\n // Update a folder from the favorites paths array and update the views\n const updateNodeFromFavorites = function (node) {\n const favoriteFolder = favoriteFolders.find((folder) => folder.fileid === node.fileid);\n // Skip if it does not exists\n if (favoriteFolder === undefined) {\n return;\n }\n removePathFromFavorites(favoriteFolder.path);\n addToFavorites(node);\n };\n};\n","import { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst userConfig = loadState('files', 'config', {\n show_hidden: false,\n crop_image_previews: true,\n sort_favorites_first: true,\n sort_folders_first: true,\n grid_view: false,\n});\nexport const useUserConfigStore = function (...args) {\n const store = defineStore('userconfig', {\n state: () => ({\n userConfig,\n }),\n actions: {\n /**\n * Update the user config local store\n */\n onUpdate(key, value) {\n Vue.set(this.userConfig, key, value);\n },\n /**\n * Update the user config local store AND on server side\n */\n async update(key, value) {\n await axios.put(generateUrl('/apps/files/api/v1/config/' + key), {\n value,\n });\n emit('files:config:updated', { key, value });\n },\n },\n });\n const userConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!userConfigStore._initialized) {\n subscribe('files:config:updated', function ({ key, value }) {\n userConfigStore.onUpdate(key, value);\n });\n userConfigStore._initialized = true;\n }\n return userConfigStore;\n};\n","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { createPinia } from 'pinia';\nexport const pinia = createPinia();\n","import { getCurrentUser } from '@nextcloud/auth';\nimport { Folder, Permission, davGetRecentSearch, davGetClient, davResultToNode, davRootPath, davRemoteURL } from '@nextcloud/files';\nimport { useUserConfigStore } from '../store/userconfig.ts';\nimport { pinia } from '../store/index.ts';\nconst client = davGetClient();\nconst lastTwoWeeksTimestamp = Math.round((Date.now() / 1000) - (60 * 60 * 24 * 14));\n/**\n * Get recently changed nodes\n *\n * This takes the users preference about hidden files into account.\n * If hidden files are not shown, then also recently changed files *in* hidden directories are filtered.\n *\n * @param path Path to search for recent changes\n */\nexport const getContents = async (path = '/') => {\n const store = useUserConfigStore(pinia);\n /**\n * Filter function that returns only the visible nodes - or hidden if explicitly configured\n * @param node The node to check\n */\n const filterHidden = (node) => path !== '/' // We need to hide files from hidden directories in the root if not configured to show\n || store.userConfig.show_hidden // If configured to show hidden files we can early return\n || !node.dirname.split('/').some((dir) => dir.startsWith('.')); // otherwise only include the file if non of the parent directories is hidden\n const contentsResponse = await client.getDirectoryContents(path, {\n details: true,\n data: davGetRecentSearch(lastTwoWeeksTimestamp),\n headers: {\n // Patched in WebdavClient.ts\n method: 'SEARCH',\n // Somehow it's needed to get the correct response\n 'Content-Type': 'application/xml; charset=utf-8',\n },\n deep: true,\n });\n const contents = contentsResponse.data;\n return {\n folder: new Folder({\n id: 0,\n source: `${davRemoteURL}${davRootPath}`,\n root: davRootPath,\n owner: getCurrentUser()?.uid || null,\n permissions: Permission.READ,\n }),\n contents: contents.map((r) => davResultToNode(r)).filter(filterHidden),\n };\n};\n","/**\n * @copyright Copyright (c) 2024 Eduardo Morales \n *\n * @author Eduardo Morales \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { File } from '@nextcloud/files';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { getContents as getFiles } from './Files';\nconst currUserID = getCurrentUser()?.uid;\n/**\n * NOTE MOVE TO @nextcloud/files\n * @brief filters each file/folder on its shared status\n * \tA personal file is considered a file that has all of the following properties:\n * \t\ta.) the current user owns\n * \t\tb.) the file is not shared with anyone\n * \t\tc.) the file is not a group folder\n * @param {FileStat} node that contains\n * @return {Boolean}\n */\nexport const isPersonalFile = function (node) {\n // the type of mounts that determine whether the file is shared\n const sharedMountTypes = [\"group\", \"shared\"];\n const mountType = node.attributes['mount-type'];\n // the check to determine whether the current logged in user is the owner / creator of the node\n const currUserCreated = currUserID ? node.owner === currUserID : true;\n return currUserCreated && !sharedMountTypes.includes(mountType);\n};\nexport const getContents = (path = \"/\") => {\n // get all the files from the current path as a cancellable promise\n // then filter the files that the user does not own, or has shared / is a group folder\n return getFiles(path)\n .then(c => {\n c.contents = c.contents.filter(isPersonalFile);\n return c;\n });\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { addNewFileMenuEntry, registerDavProperty, registerFileAction } from '@nextcloud/files';\nimport { action as deleteAction } from './actions/deleteAction';\nimport { action as downloadAction } from './actions/downloadAction';\nimport { action as editLocallyAction } from './actions/editLocallyAction';\nimport { action as favoriteAction } from './actions/favoriteAction';\nimport { action as moveOrCopyAction } from './actions/moveOrCopyAction';\nimport { action as openFolderAction } from './actions/openFolderAction';\nimport { action as openInFilesAction } from './actions/openInFilesAction';\nimport { action as renameAction } from './actions/renameAction';\nimport { action as sidebarAction } from './actions/sidebarAction';\nimport { action as viewInFolderAction } from './actions/viewInFolderAction';\nimport { entry as newFolderEntry } from './newMenu/newFolder.ts';\nimport { entry as newTemplatesFolder } from './newMenu/newTemplatesFolder.ts';\nimport { registerTemplateEntries } from './newMenu/newFromTemplate.ts';\nimport registerFavoritesView from './views/favorites';\nimport registerRecentView from './views/recent';\nimport registerPersonalFilesView from './views/personal-files';\nimport registerFilesView from './views/files';\nimport registerPreviewServiceWorker from './services/ServiceWorker.js';\nimport { initLivePhotos } from './services/LivePhotos';\n// Register file actions\nregisterFileAction(deleteAction);\nregisterFileAction(downloadAction);\nregisterFileAction(editLocallyAction);\nregisterFileAction(favoriteAction);\nregisterFileAction(moveOrCopyAction);\nregisterFileAction(openFolderAction);\nregisterFileAction(openInFilesAction);\nregisterFileAction(renameAction);\nregisterFileAction(sidebarAction);\nregisterFileAction(viewInFolderAction);\n// Register new menu entry\naddNewFileMenuEntry(newFolderEntry);\naddNewFileMenuEntry(newTemplatesFolder);\nregisterTemplateEntries();\n// Register files views\nregisterFavoritesView();\nregisterFilesView();\nregisterRecentView();\nregisterPersonalFilesView();\n// Register preview service worker\nregisterPreviewServiceWorker();\nregisterDavProperty('nc:hidden', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('nc:is-mount-root', { nc: 'http://nextcloud.org/ns' });\ninitLivePhotos();\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport FolderSvg from '@mdi/svg/svg/folder.svg?raw';\nimport { getContents } from '../services/Files';\nimport { View, getNavigation } from '@nextcloud/files';\nexport default () => {\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: 'files',\n name: t('files', 'All files'),\n caption: t('files', 'List of your files and folders.'),\n icon: FolderSvg,\n order: 0,\n getContents,\n }));\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { View, getNavigation } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport HistorySvg from '@mdi/svg/svg/history.svg?raw';\nimport { getContents } from '../services/Recent';\nexport default () => {\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: 'recent',\n name: t('files', 'Recent'),\n caption: t('files', 'List of recently modified files and folders.'),\n emptyTitle: t('files', 'No recently modified files'),\n emptyCaption: t('files', 'Files and folders you recently modified will show up here.'),\n icon: HistorySvg,\n order: 10,\n defaultSortKey: 'mtime',\n getContents,\n }));\n};\n","/**\n * @copyright Copyright (c) 2024 Eduardo Morales \n *\n * @author Eduardo Morales \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport { View, getNavigation } from '@nextcloud/files';\nimport { getContents } from '../services/PersonalFiles';\nimport AccountIcon from '@mdi/svg/svg/account.svg?raw';\nexport default () => {\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: 'personal',\n name: t('files', 'Personal Files'),\n caption: t('files', 'List of your files and folders that are not shared.'),\n emptyTitle: t('files', 'No personal files found'),\n emptyCaption: t('files', 'Files that are not shared will show up here.'),\n icon: AccountIcon,\n order: 5,\n getContents,\n }));\n};\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { generateUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\nexport default () => {\n\tif ('serviceWorker' in navigator) {\n\t\t// Use the window load event to keep the page load performant\n\t\twindow.addEventListener('load', async () => {\n\t\t\ttry {\n\t\t\t\tconst url = generateUrl('/apps/files/preview-service-worker.js', {}, { noRewrite: true })\n\t\t\t\tconst registration = await navigator.serviceWorker.register(url, { scope: '/' })\n\t\t\t\tlogger.debug('SW registered: ', { registration })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('SW registration failed: ', { error })\n\t\t\t}\n\t\t})\n\t} else {\n\t\tlogger.debug('Service Worker is not enabled on this browser.')\n\t}\n}\n","/**\n * @copyright Copyright (c) 2023 Louis Chmn \n *\n * @author Louis Chmn \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Node, registerDavProperty } from '@nextcloud/files';\nexport function initLivePhotos() {\n registerDavProperty('nc:metadata-files-live-photo', { nc: 'http://nextcloud.org/ns' });\n}\n/**\n * @param {Node} node - The node\n */\nexport function isLivePhoto(node) {\n return node.attributes['metadata-files-live-photo'] !== undefined;\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF\",\"sourcesContent\":[\".upload-picker[data-v-eca9500a] {\\n display: inline-flex;\\n align-items: center;\\n height: 44px;\\n}\\n.upload-picker__progress[data-v-eca9500a] {\\n width: 200px;\\n max-width: 0;\\n transition: max-width var(--animation-quick) ease-in-out;\\n margin-top: 8px;\\n}\\n.upload-picker__progress p[data-v-eca9500a] {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\\n max-width: 200px;\\n margin-right: 20px;\\n margin-left: 8px;\\n}\\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\\n animation: breathing-eca9500a 3s ease-out infinite normal;\\n}\\n@keyframes breathing-eca9500a {\\n 0% {\\n opacity: .5;\\n }\\n 25% {\\n opacity: 1;\\n }\\n 60% {\\n opacity: .5;\\n }\\n to {\\n opacity: .5;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dialog__input[data-v-7edd79b1] input:invalid{border-color:var(--color-error);color:red}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/NewNodeDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,8CAEC,+BAAA,CACA,SAAA\",\"sourcesContent\":[\"\\n.dialog__input {\\n\\t:deep(input:invalid) {\\n\\t\\t// Show red border on invalid input\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tcolor: red;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// @flow\n\n/*::\ntype Options = {\n max?: number,\n min?: number,\n historyTimeConstant?: number,\n autostart?: boolean,\n ignoreSameProgress?: boolean,\n}\n*/\n\nfunction makeLowPassFilter(RC/*: number*/) {\n return function (previousOutput, input, dt) {\n const alpha = dt / (dt + RC);\n return previousOutput + alpha * (input - previousOutput);\n }\n}\n\nfunction def/*:: */(x/*: ?T*/, d/*: T*/)/*: T*/ {\n return (x === undefined || x === null) ? d : x;\n}\n\nfunction makeEta(options/*::?: Options */) {\n options = options || {};\n var max = def(options.max, 1);\n var min = def(options.min, 0);\n var autostart = def(options.autostart, true);\n var ignoreSameProgress = def(options.ignoreSameProgress, false);\n\n var rate/*: number | null */ = null;\n var lastTimestamp/*: number | null */ = null;\n var lastProgress/*: number | null */ = null;\n\n var filter = makeLowPassFilter(def(options.historyTimeConstant, 2.5));\n\n function start() {\n report(min);\n }\n\n function reset() {\n rate = null;\n lastTimestamp = null;\n lastProgress = null;\n if (autostart) {\n start();\n }\n }\n\n function report(progress /*: number */, timestamp/*::?: number */) {\n if (typeof timestamp !== 'number') {\n timestamp = Date.now();\n }\n\n if (lastTimestamp === timestamp) { return; }\n if (ignoreSameProgress && lastProgress === progress) { return; }\n\n if (lastTimestamp === null || lastProgress === null) {\n lastProgress = progress;\n lastTimestamp = timestamp;\n return;\n }\n\n var deltaProgress = progress - lastProgress;\n var deltaTimestamp = 0.001 * (timestamp - lastTimestamp);\n var currentRate = deltaProgress / deltaTimestamp;\n\n rate = rate === null\n ? currentRate\n : filter(rate, currentRate, deltaTimestamp);\n lastProgress = progress;\n lastTimestamp = timestamp;\n }\n\n function estimate(timestamp/*::?: number*/) {\n if (lastProgress === null) { return Infinity; }\n if (lastProgress >= max) { return 0; }\n if (rate === null) { return Infinity; }\n\n var estimatedTime = (max - lastProgress) / rate;\n if (typeof timestamp === 'number' && typeof lastTimestamp === 'number') {\n estimatedTime -= (timestamp - lastTimestamp) * 0.001;\n }\n return Math.max(0, estimatedTime);\n }\n\n function getRate() {\n return rate === null ? 0 : rate;\n }\n\n return {\n start: start,\n reset: reset,\n report: report,\n estimate: estimate,\n rate: getRate,\n }\n}\n\nmodule.exports = makeEta;\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./index-Ussc_ol3.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./index-Ussc_ol3.css\";\n export default content && content.locals ? content.locals : undefined;\n","export class CancelError extends Error {\n\tconstructor(reason) {\n\t\tsuper(reason || 'Promise was canceled');\n\t\tthis.name = 'CancelError';\n\t}\n\n\tget isCanceled() {\n\t\treturn true;\n\t}\n}\n\nconst promiseState = Object.freeze({\n\tpending: Symbol('pending'),\n\tcanceled: Symbol('canceled'),\n\tresolved: Symbol('resolved'),\n\trejected: Symbol('rejected'),\n});\n\nexport default class PCancelable {\n\tstatic fn(userFunction) {\n\t\treturn (...arguments_) => new PCancelable((resolve, reject, onCancel) => {\n\t\t\targuments_.push(onCancel);\n\t\t\tuserFunction(...arguments_).then(resolve, reject);\n\t\t});\n\t}\n\n\t#cancelHandlers = [];\n\t#rejectOnCancel = true;\n\t#state = promiseState.pending;\n\t#promise;\n\t#reject;\n\n\tconstructor(executor) {\n\t\tthis.#promise = new Promise((resolve, reject) => {\n\t\t\tthis.#reject = reject;\n\n\t\t\tconst onResolve = value => {\n\t\t\t\tif (this.#state !== promiseState.canceled || !onCancel.shouldReject) {\n\t\t\t\t\tresolve(value);\n\t\t\t\t\tthis.#setState(promiseState.resolved);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst onReject = error => {\n\t\t\t\tif (this.#state !== promiseState.canceled || !onCancel.shouldReject) {\n\t\t\t\t\treject(error);\n\t\t\t\t\tthis.#setState(promiseState.rejected);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst onCancel = handler => {\n\t\t\t\tif (this.#state !== promiseState.pending) {\n\t\t\t\t\tthrow new Error(`The \\`onCancel\\` handler was attached after the promise ${this.#state.description}.`);\n\t\t\t\t}\n\n\t\t\t\tthis.#cancelHandlers.push(handler);\n\t\t\t};\n\n\t\t\tObject.defineProperties(onCancel, {\n\t\t\t\tshouldReject: {\n\t\t\t\t\tget: () => this.#rejectOnCancel,\n\t\t\t\t\tset: boolean => {\n\t\t\t\t\t\tthis.#rejectOnCancel = boolean;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\n\t\t\texecutor(onResolve, onReject, onCancel);\n\t\t});\n\t}\n\n\t// eslint-disable-next-line unicorn/no-thenable\n\tthen(onFulfilled, onRejected) {\n\t\treturn this.#promise.then(onFulfilled, onRejected);\n\t}\n\n\tcatch(onRejected) {\n\t\treturn this.#promise.catch(onRejected);\n\t}\n\n\tfinally(onFinally) {\n\t\treturn this.#promise.finally(onFinally);\n\t}\n\n\tcancel(reason) {\n\t\tif (this.#state !== promiseState.pending) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#setState(promiseState.canceled);\n\n\t\tif (this.#cancelHandlers.length > 0) {\n\t\t\ttry {\n\t\t\t\tfor (const handler of this.#cancelHandlers) {\n\t\t\t\t\thandler();\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tthis.#reject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (this.#rejectOnCancel) {\n\t\t\tthis.#reject(new CancelError(reason));\n\t\t}\n\t}\n\n\tget isCanceled() {\n\t\treturn this.#state === promiseState.canceled;\n\t}\n\n\t#setState(state) {\n\t\tif (this.#state === promiseState.pending) {\n\t\t\tthis.#state = state;\n\t\t}\n\t}\n}\n\nObject.setPrototypeOf(PCancelable.prototype, Promise.prototype);\n","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\n/**\nAn error to be thrown when the request is aborted by AbortController.\nDOMException is thrown instead of this Error when DOMException is available.\n*/\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\n/**\nTODO: Remove AbortError and just throw DOMException when targeting Node 18.\n*/\nconst getDOMException = errorMessage => globalThis.DOMException === undefined\n\t? new AbortError(errorMessage)\n\t: new DOMException(errorMessage);\n\n/**\nTODO: Remove below function and just 'reject(signal.reason)' when targeting Node 18.\n*/\nconst getAbortedReason = signal => {\n\tconst reason = signal.reason === undefined\n\t\t? getDOMException('This operation was aborted.')\n\t\t: signal.reason;\n\n\treturn reason instanceof Error ? reason : getDOMException(reason);\n};\n\nexport default function pTimeout(promise, options) {\n\tconst {\n\t\tmilliseconds,\n\t\tfallback,\n\t\tmessage,\n\t\tcustomTimers = {setTimeout, clearTimeout},\n\t} = options;\n\n\tlet timer;\n\n\tconst wrappedPromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || Math.sign(milliseconds) !== 1) {\n\t\t\tthrow new TypeError(`Expected \\`milliseconds\\` to be a positive number, got \\`${milliseconds}\\``);\n\t\t}\n\n\t\tif (options.signal) {\n\t\t\tconst {signal} = options;\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t}\n\n\t\t\tsignal.addEventListener('abort', () => {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t});\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tpromise.then(resolve, reject);\n\t\t\treturn;\n\t\t}\n\n\t\t// We create the error outside of `setTimeout` to preserve the stack trace.\n\t\tconst timeoutError = new TimeoutError();\n\n\t\ttimer = customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (fallback) {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\tif (message === false) {\n\t\t\t\tresolve();\n\t\t\t} else if (message instanceof Error) {\n\t\t\t\treject(message);\n\t\t\t} else {\n\t\t\t\ttimeoutError.message = message ?? `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\t\treject(timeoutError);\n\t\t\t}\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t})();\n\t});\n\n\tconst cancelablePromise = wrappedPromise.finally(() => {\n\t\tcancelablePromise.clear();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tcustomTimers.clearTimeout.call(undefined, timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import lowerBound from './lower-bound.js';\nexport default class PriorityQueue {\n #queue = [];\n enqueue(run, options) {\n options = {\n priority: 0,\n ...options,\n };\n const element = {\n priority: options.priority,\n run,\n };\n if (this.size && this.#queue[this.size - 1].priority >= options.priority) {\n this.#queue.push(element);\n return;\n }\n const index = lowerBound(this.#queue, element, (a, b) => b.priority - a.priority);\n this.#queue.splice(index, 0, element);\n }\n dequeue() {\n const item = this.#queue.shift();\n return item?.run;\n }\n filter(options) {\n return this.#queue.filter((element) => element.priority === options.priority).map((element) => element.run);\n }\n get size() {\n return this.#queue.length;\n }\n}\n","// Port of lower_bound from https://en.cppreference.com/w/cpp/algorithm/lower_bound\n// Used to compute insertion index to keep queue sorted after insertion\nexport default function lowerBound(array, value, comparator) {\n let first = 0;\n let count = array.length;\n while (count > 0) {\n const step = Math.trunc(count / 2);\n let it = first + step;\n if (comparator(array[it], value) <= 0) {\n first = ++it;\n count -= step + 1;\n }\n else {\n count = step;\n }\n }\n return first;\n}\n","import { EventEmitter } from 'eventemitter3';\nimport pTimeout, { TimeoutError } from 'p-timeout';\nimport PriorityQueue from './priority-queue.js';\n/**\nPromise queue with concurrency control.\n*/\nexport default class PQueue extends EventEmitter {\n #carryoverConcurrencyCount;\n #isIntervalIgnored;\n #intervalCount = 0;\n #intervalCap;\n #interval;\n #intervalEnd = 0;\n #intervalId;\n #timeoutId;\n #queue;\n #queueClass;\n #pending = 0;\n // The `!` is needed because of https://github.com/microsoft/TypeScript/issues/32194\n #concurrency;\n #isPaused;\n #throwOnTimeout;\n /**\n Per-operation timeout in milliseconds. Operations fulfill once `timeout` elapses if they haven't already.\n\n Applies to each future operation.\n */\n timeout;\n // TODO: The `throwOnTimeout` option should affect the return types of `add()` and `addAll()`\n constructor(options) {\n super();\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n options = {\n carryoverConcurrencyCount: false,\n intervalCap: Number.POSITIVE_INFINITY,\n interval: 0,\n concurrency: Number.POSITIVE_INFINITY,\n autoStart: true,\n queueClass: PriorityQueue,\n ...options,\n };\n if (!(typeof options.intervalCap === 'number' && options.intervalCap >= 1)) {\n throw new TypeError(`Expected \\`intervalCap\\` to be a number from 1 and up, got \\`${options.intervalCap?.toString() ?? ''}\\` (${typeof options.intervalCap})`);\n }\n if (options.interval === undefined || !(Number.isFinite(options.interval) && options.interval >= 0)) {\n throw new TypeError(`Expected \\`interval\\` to be a finite number >= 0, got \\`${options.interval?.toString() ?? ''}\\` (${typeof options.interval})`);\n }\n this.#carryoverConcurrencyCount = options.carryoverConcurrencyCount;\n this.#isIntervalIgnored = options.intervalCap === Number.POSITIVE_INFINITY || options.interval === 0;\n this.#intervalCap = options.intervalCap;\n this.#interval = options.interval;\n this.#queue = new options.queueClass();\n this.#queueClass = options.queueClass;\n this.concurrency = options.concurrency;\n this.timeout = options.timeout;\n this.#throwOnTimeout = options.throwOnTimeout === true;\n this.#isPaused = options.autoStart === false;\n }\n get #doesIntervalAllowAnother() {\n return this.#isIntervalIgnored || this.#intervalCount < this.#intervalCap;\n }\n get #doesConcurrentAllowAnother() {\n return this.#pending < this.#concurrency;\n }\n #next() {\n this.#pending--;\n this.#tryToStartAnother();\n this.emit('next');\n }\n #onResumeInterval() {\n this.#onInterval();\n this.#initializeIntervalIfNeeded();\n this.#timeoutId = undefined;\n }\n get #isIntervalPaused() {\n const now = Date.now();\n if (this.#intervalId === undefined) {\n const delay = this.#intervalEnd - now;\n if (delay < 0) {\n // Act as the interval was done\n // We don't need to resume it here because it will be resumed on line 160\n this.#intervalCount = (this.#carryoverConcurrencyCount) ? this.#pending : 0;\n }\n else {\n // Act as the interval is pending\n if (this.#timeoutId === undefined) {\n this.#timeoutId = setTimeout(() => {\n this.#onResumeInterval();\n }, delay);\n }\n return true;\n }\n }\n return false;\n }\n #tryToStartAnother() {\n if (this.#queue.size === 0) {\n // We can clear the interval (\"pause\")\n // Because we can redo it later (\"resume\")\n if (this.#intervalId) {\n clearInterval(this.#intervalId);\n }\n this.#intervalId = undefined;\n this.emit('empty');\n if (this.#pending === 0) {\n this.emit('idle');\n }\n return false;\n }\n if (!this.#isPaused) {\n const canInitializeInterval = !this.#isIntervalPaused;\n if (this.#doesIntervalAllowAnother && this.#doesConcurrentAllowAnother) {\n const job = this.#queue.dequeue();\n if (!job) {\n return false;\n }\n this.emit('active');\n job();\n if (canInitializeInterval) {\n this.#initializeIntervalIfNeeded();\n }\n return true;\n }\n }\n return false;\n }\n #initializeIntervalIfNeeded() {\n if (this.#isIntervalIgnored || this.#intervalId !== undefined) {\n return;\n }\n this.#intervalId = setInterval(() => {\n this.#onInterval();\n }, this.#interval);\n this.#intervalEnd = Date.now() + this.#interval;\n }\n #onInterval() {\n if (this.#intervalCount === 0 && this.#pending === 0 && this.#intervalId) {\n clearInterval(this.#intervalId);\n this.#intervalId = undefined;\n }\n this.#intervalCount = this.#carryoverConcurrencyCount ? this.#pending : 0;\n this.#processQueue();\n }\n /**\n Executes all queued functions until it reaches the limit.\n */\n #processQueue() {\n // eslint-disable-next-line no-empty\n while (this.#tryToStartAnother()) { }\n }\n get concurrency() {\n return this.#concurrency;\n }\n set concurrency(newConcurrency) {\n if (!(typeof newConcurrency === 'number' && newConcurrency >= 1)) {\n throw new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${newConcurrency}\\` (${typeof newConcurrency})`);\n }\n this.#concurrency = newConcurrency;\n this.#processQueue();\n }\n async #throwOnAbort(signal) {\n return new Promise((_resolve, reject) => {\n signal.addEventListener('abort', () => {\n reject(signal.reason);\n }, { once: true });\n });\n }\n async add(function_, options = {}) {\n options = {\n timeout: this.timeout,\n throwOnTimeout: this.#throwOnTimeout,\n ...options,\n };\n return new Promise((resolve, reject) => {\n this.#queue.enqueue(async () => {\n this.#pending++;\n this.#intervalCount++;\n try {\n options.signal?.throwIfAborted();\n let operation = function_({ signal: options.signal });\n if (options.timeout) {\n operation = pTimeout(Promise.resolve(operation), { milliseconds: options.timeout });\n }\n if (options.signal) {\n operation = Promise.race([operation, this.#throwOnAbort(options.signal)]);\n }\n const result = await operation;\n resolve(result);\n this.emit('completed', result);\n }\n catch (error) {\n if (error instanceof TimeoutError && !options.throwOnTimeout) {\n resolve();\n return;\n }\n reject(error);\n this.emit('error', error);\n }\n finally {\n this.#next();\n }\n }, options);\n this.emit('add');\n this.#tryToStartAnother();\n });\n }\n async addAll(functions, options) {\n return Promise.all(functions.map(async (function_) => this.add(function_, options)));\n }\n /**\n Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.)\n */\n start() {\n if (!this.#isPaused) {\n return this;\n }\n this.#isPaused = false;\n this.#processQueue();\n return this;\n }\n /**\n Put queue execution on hold.\n */\n pause() {\n this.#isPaused = true;\n }\n /**\n Clear the queue.\n */\n clear() {\n this.#queue = new this.#queueClass();\n }\n /**\n Can be called multiple times. Useful if you for example add additional items at a later time.\n\n @returns A promise that settles when the queue becomes empty.\n */\n async onEmpty() {\n // Instantly resolve if the queue is empty\n if (this.#queue.size === 0) {\n return;\n }\n await this.#onEvent('empty');\n }\n /**\n @returns A promise that settles when the queue size is less than the given limit: `queue.size < limit`.\n\n If you want to avoid having the queue grow beyond a certain size you can `await queue.onSizeLessThan()` before adding a new item.\n\n Note that this only limits the number of items waiting to start. There could still be up to `concurrency` jobs already running that this call does not include in its calculation.\n */\n async onSizeLessThan(limit) {\n // Instantly resolve if the queue is empty.\n if (this.#queue.size < limit) {\n return;\n }\n await this.#onEvent('next', () => this.#queue.size < limit);\n }\n /**\n The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.\n\n @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.\n */\n async onIdle() {\n // Instantly resolve if none pending and if nothing else is queued\n if (this.#pending === 0 && this.#queue.size === 0) {\n return;\n }\n await this.#onEvent('idle');\n }\n async #onEvent(event, filter) {\n return new Promise(resolve => {\n const listener = () => {\n if (filter && !filter()) {\n return;\n }\n this.off(event, listener);\n resolve();\n };\n this.on(event, listener);\n });\n }\n /**\n Size of the queue, the number of queued items waiting to run.\n */\n get size() {\n return this.#queue.size;\n }\n /**\n Size of the queue, filtered by the given options.\n\n For example, this can be used to find the number of items remaining in the queue with a specific priority level.\n */\n sizeBy(options) {\n // eslint-disable-next-line unicorn/no-array-callback-reference\n return this.#queue.filter(options).length;\n }\n /**\n Number of running items (no longer in the queue).\n */\n get pending() {\n return this.#pending;\n }\n /**\n Whether the queue is currently paused.\n */\n get isPaused() {\n return this.#isPaused;\n }\n}\n","import '../assets/index-Ussc_ol3.css';\nimport { CanceledError as b } from \"axios\";\nimport { encodePath as q } from \"@nextcloud/paths\";\nimport { Folder as z, Permission as H, getNewFileMenuEntries as G } from \"@nextcloud/files\";\nimport { generateRemoteUrl as j } from \"@nextcloud/router\";\nimport { getCurrentUser as F } from \"@nextcloud/auth\";\nimport v from \"@nextcloud/axios\";\nimport Y from \"p-cancelable\";\nimport V from \"p-queue\";\nimport { getLoggerBuilder as _ } from \"@nextcloud/logger\";\nimport { showError as P } from \"@nextcloud/dialogs\";\nimport K from \"simple-eta\";\nimport E, { defineAsyncComponent as $ } from \"vue\";\nimport J from \"@nextcloud/vue/dist/Components/NcActionButton.js\";\nimport Q from \"@nextcloud/vue/dist/Components/NcActions.js\";\nimport Z from \"@nextcloud/vue/dist/Components/NcButton.js\";\nimport X from \"@nextcloud/vue/dist/Components/NcIconSvgWrapper.js\";\nimport ss from \"@nextcloud/vue/dist/Components/NcProgressBar.js\";\nimport { getGettextBuilder as es } from \"@nextcloud/l10n/gettext\";\nconst A = async function(e, s, t, n = () => {\n}, i = void 0, o = {}) {\n let l;\n return s instanceof Blob ? l = s : l = await s(), i && (o.Destination = i), o[\"Content-Type\"] || (o[\"Content-Type\"] = \"application/octet-stream\"), await v.request({\n method: \"PUT\",\n url: e,\n data: l,\n signal: t,\n onUploadProgress: n,\n headers: o\n });\n}, B = function(e, s, t) {\n return s === 0 && e.size <= t ? Promise.resolve(new Blob([e], { type: e.type || \"application/octet-stream\" })) : Promise.resolve(new Blob([e.slice(s, s + t)], { type: \"application/octet-stream\" }));\n}, ts = async function(e = void 0) {\n const s = j(`dav/uploads/${F()?.uid}`), n = `web-file-upload-${[...Array(16)].map(() => Math.floor(Math.random() * 16).toString(16)).join(\"\")}`, i = `${s}/${n}`, o = e ? { Destination: e } : void 0;\n return await v.request({\n method: \"MKCOL\",\n url: i,\n headers: o\n }), i;\n}, x = function(e = void 0) {\n const s = window.OC?.appConfig?.files?.max_chunk_size;\n if (s <= 0)\n return 0;\n if (!Number(s))\n return 10 * 1024 * 1024;\n const t = Math.max(Number(s), 5 * 1024 * 1024);\n return e === void 0 ? t : Math.max(t, Math.ceil(e / 1e4));\n};\nvar c = /* @__PURE__ */ ((e) => (e[e.INITIALIZED = 0] = \"INITIALIZED\", e[e.UPLOADING = 1] = \"UPLOADING\", e[e.ASSEMBLING = 2] = \"ASSEMBLING\", e[e.FINISHED = 3] = \"FINISHED\", e[e.CANCELLED = 4] = \"CANCELLED\", e[e.FAILED = 5] = \"FAILED\", e))(c || {});\nlet ns = class {\n _source;\n _file;\n _isChunked;\n _chunks;\n _size;\n _uploaded = 0;\n _startTime = 0;\n _status = 0;\n _controller;\n _response = null;\n constructor(s, t = !1, n, i) {\n const o = Math.min(x() > 0 ? Math.ceil(n / x()) : 1, 1e4);\n this._source = s, this._isChunked = t && x() > 0 && o > 1, this._chunks = this._isChunked ? o : 1, this._size = n, this._file = i, this._controller = new AbortController();\n }\n get source() {\n return this._source;\n }\n get file() {\n return this._file;\n }\n get isChunked() {\n return this._isChunked;\n }\n get chunks() {\n return this._chunks;\n }\n get size() {\n return this._size;\n }\n get startTime() {\n return this._startTime;\n }\n set response(s) {\n this._response = s;\n }\n get response() {\n return this._response;\n }\n get uploaded() {\n return this._uploaded;\n }\n /**\n * Update the uploaded bytes of this upload\n */\n set uploaded(s) {\n if (s >= this._size) {\n this._status = this._isChunked ? 2 : 3, this._uploaded = this._size;\n return;\n }\n this._status = 1, this._uploaded = s, this._startTime === 0 && (this._startTime = (/* @__PURE__ */ new Date()).getTime());\n }\n get status() {\n return this._status;\n }\n /**\n * Update this upload status\n */\n set status(s) {\n this._status = s;\n }\n /**\n * Returns the axios cancel token source\n */\n get signal() {\n return this._controller.signal;\n }\n /**\n * Cancel any ongoing requests linked to this upload\n */\n cancel() {\n this._controller.abort(), this._status = 4;\n }\n};\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst as = (e) => e === null ? _().setApp(\"uploader\").build() : _().setApp(\"uploader\").setUid(e.uid).build(), g = as(F());\nvar I = /* @__PURE__ */ ((e) => (e[e.IDLE = 0] = \"IDLE\", e[e.UPLOADING = 1] = \"UPLOADING\", e[e.PAUSED = 2] = \"PAUSED\", e))(I || {});\nclass N {\n // Initialized via setter in the constructor\n _destinationFolder;\n _isPublic;\n // Global upload queue\n _uploadQueue = [];\n _jobQueue = new V({ concurrency: 3 });\n _queueSize = 0;\n _queueProgress = 0;\n _queueStatus = 0;\n _notifiers = [];\n /**\n * Initialize uploader\n *\n * @param {boolean} isPublic are we in public mode ?\n * @param {Folder} destinationFolder the context folder to operate, relative to the root folder\n */\n constructor(s = !1, t) {\n if (this._isPublic = s, !t) {\n const n = F()?.uid, i = j(`dav/files/${n}`);\n if (!n)\n throw new Error(\"User is not logged in\");\n t = new z({\n id: 0,\n owner: n,\n permissions: H.ALL,\n root: `/files/${n}`,\n source: i\n });\n }\n this.destination = t, g.debug(\"Upload workspace initialized\", {\n destination: this.destination,\n root: this.root,\n isPublic: s,\n maxChunksSize: x()\n });\n }\n /**\n * Get the upload destination path relative to the root folder\n */\n get destination() {\n return this._destinationFolder;\n }\n /**\n * Set the upload destination path relative to the root folder\n */\n set destination(s) {\n if (!s)\n throw new Error(\"Invalid destination folder\");\n g.debug(\"Destination set\", { folder: s }), this._destinationFolder = s;\n }\n /**\n * Get the root folder\n */\n get root() {\n return this._destinationFolder.source;\n }\n /**\n * Get the upload queue\n */\n get queue() {\n return this._uploadQueue;\n }\n reset() {\n this._uploadQueue.splice(0, this._uploadQueue.length), this._jobQueue.clear(), this._queueSize = 0, this._queueProgress = 0, this._queueStatus = 0;\n }\n /**\n * Pause any ongoing upload(s)\n */\n pause() {\n this._jobQueue.pause(), this._queueStatus = 2;\n }\n /**\n * Resume any pending upload(s)\n */\n start() {\n this._jobQueue.start(), this._queueStatus = 1, this.updateStats();\n }\n /**\n * Get the upload queue stats\n */\n get info() {\n return {\n size: this._queueSize,\n progress: this._queueProgress,\n status: this._queueStatus\n };\n }\n updateStats() {\n const s = this._uploadQueue.map((n) => n.size).reduce((n, i) => n + i, 0), t = this._uploadQueue.map((n) => n.uploaded).reduce((n, i) => n + i, 0);\n this._queueSize = s, this._queueProgress = t, this._queueStatus !== 2 && (this._queueStatus = this._jobQueue.size > 0 ? 1 : 0);\n }\n addNotifier(s) {\n this._notifiers.push(s);\n }\n /**\n * Upload a file to the given path\n * @param {string} destinationPath the destination path relative to the root folder. e.g. /foo/bar.txt\n * @param {File} file the file to upload\n * @param {string} root the root folder to upload to\n */\n upload(s, t, n) {\n const i = `${n || this.root}/${s.replace(/^\\//, \"\")}`, { origin: o } = new URL(i), l = o + q(i.slice(o.length));\n g.debug(`Uploading ${t.name} to ${l}`);\n const f = x(t.size), r = f === 0 || t.size < f || this._isPublic, a = new ns(i, !r, t.size, t);\n return this._uploadQueue.push(a), this.updateStats(), new Y(async (T, d, U) => {\n if (U(a.cancel), r) {\n g.debug(\"Initializing regular upload\", { file: t, upload: a });\n const p = await B(t, 0, a.size), L = async () => {\n try {\n a.response = await A(\n l,\n p,\n a.signal,\n (m) => {\n a.uploaded = a.uploaded + m.bytes, this.updateStats();\n },\n void 0,\n {\n \"X-OC-Mtime\": t.lastModified / 1e3,\n \"Content-Type\": t.type\n }\n ), a.uploaded = a.size, this.updateStats(), g.debug(`Successfully uploaded ${t.name}`, { file: t, upload: a }), T(a);\n } catch (m) {\n if (m instanceof b) {\n a.status = c.FAILED, d(\"Upload has been cancelled\");\n return;\n }\n m?.response && (a.response = m.response), a.status = c.FAILED, g.error(`Failed uploading ${t.name}`, { error: m, file: t, upload: a }), d(\"Failed uploading the file\");\n }\n this._notifiers.forEach((m) => {\n try {\n m(a);\n } catch {\n }\n });\n };\n this._jobQueue.add(L), this.updateStats();\n } else {\n g.debug(\"Initializing chunked upload\", { file: t, upload: a });\n const p = await ts(l), L = [];\n for (let m = 0; m < a.chunks; m++) {\n const w = m * f, D = Math.min(w + f, a.size), W = () => B(t, w, f), O = () => A(\n `${p}/${m + 1}`,\n W,\n a.signal,\n () => this.updateStats(),\n l,\n {\n \"X-OC-Mtime\": t.lastModified / 1e3,\n \"OC-Total-Length\": t.size,\n \"Content-Type\": \"application/octet-stream\"\n }\n ).then(() => {\n a.uploaded = a.uploaded + f;\n }).catch((h) => {\n throw h?.response?.status === 507 ? (g.error(\"Upload failed, not enough space on the server or quota exceeded. Cancelling the remaining chunks\", { error: h, upload: a }), a.cancel(), a.status = c.FAILED, h) : (h instanceof b || (g.error(`Chunk ${m + 1} ${w} - ${D} uploading failed`, { error: h, upload: a }), a.cancel(), a.status = c.FAILED), h);\n });\n L.push(this._jobQueue.add(O));\n }\n try {\n await Promise.all(L), this.updateStats(), a.response = await v.request({\n method: \"MOVE\",\n url: `${p}/.file`,\n headers: {\n \"X-OC-Mtime\": t.lastModified / 1e3,\n \"OC-Total-Length\": t.size,\n Destination: l\n }\n }), this.updateStats(), a.status = c.FINISHED, g.debug(`Successfully uploaded ${t.name}`, { file: t, upload: a }), T(a);\n } catch (m) {\n m instanceof b ? (a.status = c.FAILED, d(\"Upload has been cancelled\")) : (a.status = c.FAILED, d(\"Failed assembling the chunks together\")), v.request({\n method: \"DELETE\",\n url: `${p}`\n });\n }\n this._notifiers.forEach((m) => {\n try {\n m(a);\n } catch {\n }\n });\n }\n return this._jobQueue.onIdle().then(() => this.reset()), a;\n });\n }\n}\nfunction y(e, s, t, n, i, o, l, f) {\n var r = typeof e == \"function\" ? e.options : e;\n s && (r.render = s, r.staticRenderFns = t, r._compiled = !0), n && (r.functional = !0), o && (r._scopeId = \"data-v-\" + o);\n var a;\n if (l ? (a = function(d) {\n d = d || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !d && typeof __VUE_SSR_CONTEXT__ < \"u\" && (d = __VUE_SSR_CONTEXT__), i && i.call(this, d), d && d._registeredComponents && d._registeredComponents.add(l);\n }, r._ssrRegister = a) : i && (a = f ? function() {\n i.call(\n this,\n (r.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : i), a)\n if (r.functional) {\n r._injectStyles = a;\n var S = r.render;\n r.render = function(U, p) {\n return a.call(p), S(U, p);\n };\n } else {\n var T = r.beforeCreate;\n r.beforeCreate = T ? [].concat(T, a) : [a];\n }\n return {\n exports: e,\n options: r\n };\n}\nconst is = {\n name: \"CancelIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar ls = function() {\n var s = this, t = s._self._c;\n return t(\"span\", s._b({ staticClass: \"material-design-icon cancel-icon\", attrs: { \"aria-hidden\": s.title ? null : !0, \"aria-label\": s.title, role: \"img\" }, on: { click: function(n) {\n return s.$emit(\"click\", n);\n } } }, \"span\", s.$attrs, !1), [t(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: s.fillColor, width: s.size, height: s.size, viewBox: \"0 0 24 24\" } }, [t(\"path\", { attrs: { d: \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z\" } }, [s.title ? t(\"title\", [s._v(s._s(s.title))]) : s._e()])])]);\n}, rs = [], os = /* @__PURE__ */ y(\n is,\n ls,\n rs,\n !1,\n null,\n null,\n null,\n null\n);\nconst ms = os.exports, ds = {\n name: \"PlusIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar gs = function() {\n var s = this, t = s._self._c;\n return t(\"span\", s._b({ staticClass: \"material-design-icon plus-icon\", attrs: { \"aria-hidden\": s.title ? null : !0, \"aria-label\": s.title, role: \"img\" }, on: { click: function(n) {\n return s.$emit(\"click\", n);\n } } }, \"span\", s.$attrs, !1), [t(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: s.fillColor, width: s.size, height: s.size, viewBox: \"0 0 24 24\" } }, [t(\"path\", { attrs: { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" } }, [s.title ? t(\"title\", [s._v(s._s(s.title))]) : s._e()])])]);\n}, us = [], cs = /* @__PURE__ */ y(\n ds,\n gs,\n us,\n !1,\n null,\n null,\n null,\n null\n);\nconst fs = cs.exports, ps = {\n name: \"UploadIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar hs = function() {\n var s = this, t = s._self._c;\n return t(\"span\", s._b({ staticClass: \"material-design-icon upload-icon\", attrs: { \"aria-hidden\": s.title ? null : !0, \"aria-label\": s.title, role: \"img\" }, on: { click: function(n) {\n return s.$emit(\"click\", n);\n } } }, \"span\", s.$attrs, !1), [t(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: s.fillColor, width: s.size, height: s.size, viewBox: \"0 0 24 24\" } }, [t(\"path\", { attrs: { d: \"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\" } }, [s.title ? t(\"title\", [s._v(s._s(s.title))]) : s._e()])])]);\n}, Ts = [], ws = /* @__PURE__ */ y(\n ps,\n hs,\n Ts,\n !1,\n null,\n null,\n null,\n null\n);\nconst xs = ws.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst R = es().detectLocale();\n[{ locale: \"af\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"af\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: af\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ar\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Ali , 2024\", \"Language-Team\": \"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ar\", \"Plural-Forms\": \"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nAli , 2024\n` }, msgstr: [`Last-Translator: Ali , 2024\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} ملف متعارض\", \"{count} ملف متعارض\", \"{count} ملفان متعارضان\", \"{count} ملف متعارض\", \"{count} ملفات متعارضة\", \"{count} ملفات متعارضة\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} ملف متعارض في n {dirname}\", \"{count} ملف متعارض في n {dirname}\", \"{count} ملفان متعارضان في n {dirname}\", \"{count} ملف متعارض في n {dirname}\", \"{count} ملفات متعارضة في n {dirname}\", \"{count} ملفات متعارضة في n {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} ثانية متبقية\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} متبقية\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"باقٍ بضعُ ثوانٍ\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"إلغاء\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"إلغِ العملية بالكامل\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"إلغاء عمليات رفع الملفات\"] }, Continue: { msgid: \"Continue\", msgstr: [\"إستمر\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"تقدير الوقت المتبقي\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"الإصدار الحالي\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"إذا اخترت الإبقاء على النسختين معاً، فإن الملف المنسوخ سيتم إلحاق رقم تسلسلي في نهاية اسمه.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"تاريخ آخر تعديل غير معلوم\"] }, New: { msgid: \"New\", msgstr: [\"جديد\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"نسخة جديدة\"] }, paused: { msgid: \"paused\", msgstr: [\"مُجمَّد\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"معاينة الصورة\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"حدِّد كل صناديق الخيارات\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"حدِّد كل الملفات الموجودة\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"حدِّد كل الملفات الجديدة\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"حجم غير معلوم\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"تمَّ إلغاء الرفع\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"رفع ملفات\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"تقدُّم الرفع \"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"عند تحديد مجلد وارد، أي ملفات متعارضة بداخله ستتم الكتابة فوقها.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"أيُّ الملفات ترغب في الإبقاء عليها؟\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"يجب أن تختار نسخة واحدة على الأقل من كل ملف للاستمرار.\"] } } } } }, { locale: \"ar_SA\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ar_SA\", \"Plural-Forms\": \"nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar_SA\nPlural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ast\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"enolp , 2023\", \"Language-Team\": \"Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ast\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nenolp , 2023\n` }, msgstr: [`Last-Translator: enolp , 2023\nLanguage-Team: Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ast\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} ficheru en coflictu\", \"{count} ficheros en coflictu\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} ficheru en coflictu en {dirname}\", \"{count} ficheros en coflictu en {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Queden {seconds} segundos\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"Tiempu que queda: {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"queden unos segundos\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Encaboxar les xubes\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Siguir\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando'l tiempu que falta\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versión esistente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Si seleiciones dambes versiones, el ficheru copiáu va tener un númberu amestáu al so nome.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"La data de la última modificación ye desconocida\"] }, New: { msgid: \"New\", msgstr: [\"Nuevu\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Versión nueva\"] }, paused: { msgid: \"paused\", msgstr: [\"en posa\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Previsualizar la imaxe\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Marcar toles caxelles\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Seleicionar tolos ficheros esistentes\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Seleicionar tolos ficheros nuevos\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Saltar esti ficheru\", \"Saltar {count} ficheros\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Tamañu desconocíu\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Encaboxóse la xuba\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Xubir ficheros\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Xuba en cursu\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"¿Qué ficheros quies caltener?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Tienes de seleicionar polo menos una versión de cada ficheru pa siguir.\"] } } } } }, { locale: \"az\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Rashad Aliyev , 2023\", \"Language-Team\": \"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"az\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nRashad Aliyev , 2023\n` }, msgstr: [`Last-Translator: Rashad Aliyev , 2023\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: az\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} saniyə qalıb\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} qalıb\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"bir neçə saniyə qalıb\"] }, Add: { msgid: \"Add\", msgstr: [\"Əlavə et\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Yükləməni imtina et\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Təxmini qalan vaxt\"] }, paused: { msgid: \"paused\", msgstr: [\"pauzadadır\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Faylları yüklə\"] } } } } }, { locale: \"be\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"be\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: be\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"bg_BG\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"bg_BG\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bg_BG\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"bn_BD\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"bn_BD\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bn_BD\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"br\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"br\", \"Plural-Forms\": \"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"bs\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"bs\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bs\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ca\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Toni Hermoso Pulido , 2022\", \"Language-Team\": \"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ca\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nMarc Riera , 2022\nToni Hermoso Pulido , 2022\n` }, msgstr: [`Last-Translator: Toni Hermoso Pulido , 2022\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Queden {seconds} segons\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"Queden {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"Queden uns segons\"] }, Add: { msgid: \"Add\", msgstr: [\"Afegeix\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancel·la les pujades\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"S'està estimant el temps restant\"] }, paused: { msgid: \"paused\", msgstr: [\"En pausa\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Puja els fitxers\"] } } } } }, { locale: \"cs\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Pavel Borecki , 2022\", \"Language-Team\": \"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"cs\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nPavel Borecki , 2022\n` }, msgstr: [`Last-Translator: Pavel Borecki , 2022\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"zbývá {seconds}\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"zbývá {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"zbývá několik sekund\"] }, Add: { msgid: \"Add\", msgstr: [\"Přidat\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Zrušit nahrávání\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"odhadovaný zbývající čas\"] }, paused: { msgid: \"paused\", msgstr: [\"pozastaveno\"] } } } } }, { locale: \"cs_CZ\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Michal Šmahel , 2024\", \"Language-Team\": \"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"cs_CZ\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nMichal Šmahel , 2024\n` }, msgstr: [`Last-Translator: Michal Šmahel , 2024\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} kolize souborů\", \"{count} kolize souborů\", \"{count} kolizí souborů\", \"{count} kolize souborů\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} kolize souboru v {dirname}\", \"{count} kolize souboru v {dirname}\", \"{count} kolizí souborů v {dirname}\", \"{count} kolize souboru v {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"zbývá {seconds}\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"zbývá {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"zbývá několik sekund\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Zrušit\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Zrušit celou operaci\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Zrušit nahrávání\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Pokračovat\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"odhaduje se zbývající čas\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Existující verze\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Pokud vyberete obě verze, zkopírovaný soubor bude mít k názvu přidáno číslo.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Neznámé datum poslední úpravy\"] }, New: { msgid: \"New\", msgstr: [\"Nové\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nová verze\"] }, paused: { msgid: \"paused\", msgstr: [\"pozastaveno\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Náhled obrázku\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Označit všechny zaškrtávací kolonky\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Vybrat veškeré stávající soubory\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Vybrat veškeré nové soubory\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Přeskočit tento soubor\", \"Přeskočit {count} soubory\", \"Přeskočit {count} souborů\", \"Přeskočit {count} soubory\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Neznámá velikost\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Nahrávání zrušeno\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Nahrát soubory\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Postup v nahrávání\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Po výběru příchozí složky budou rovněž přepsány všechny v ní obsažené konfliktní soubory\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Které soubory si přejete ponechat?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru.\"] } } } } }, { locale: \"cy_GB\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"cy_GB\", \"Plural-Forms\": \"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cy_GB\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"da\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Martin Bonde , 2024\", \"Language-Team\": \"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"da\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nMartin Bonde , 2024\n` }, msgstr: [`Last-Translator: Martin Bonde , 2024\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} fil konflikt\", \"{count} filer i konflikt\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} fil konflikt i {dirname}\", \"{count} filer i konflikt i {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{sekunder} sekunder tilbage\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{tid} tilbage\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"et par sekunder tilbage\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Annuller\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Annuller hele handlingen\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Annuller uploads\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Fortsæt\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimering af resterende tid\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Eksisterende version\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Hvis du vælger begge versioner vil den kopierede fil få et nummer tilføjet til sit navn.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Sidste modifikationsdato ukendt\"] }, New: { msgid: \"New\", msgstr: [\"Ny\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Ny version\"] }, paused: { msgid: \"paused\", msgstr: [\"pauset\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Forhåndsvisning af billede\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Vælg alle felter\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Vælg alle eksisterende filer\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Vælg alle nye filer\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Spring denne fil over\", \"Spring {count} filer over\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Ukendt størrelse\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Upload annulleret\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Upload filer\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Upload fremskridt\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Når en indgående mappe er valgt, vil alle modstridende filer i den også blive overskrevet.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Hvilke filer ønsker du at beholde?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Du skal vælge mindst én version af hver fil for at fortsætte.\"] } } } } }, { locale: \"de\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Mario Siegmann , 2024\", \"Language-Team\": \"German (https://app.transifex.com/nextcloud/teams/64236/de/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"de\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n` }, msgstr: [`Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} Datei-Konflikt\", \"{count} Datei-Konflikte\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} Datei-Konflikt in {dirname}\", \"{count} Datei-Konflikte in {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} Sekunden verbleibend\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} verbleibend\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"noch ein paar Sekunden\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Abbrechen\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Den gesamten Vorgang abbrechen\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Hochladen abbrechen\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Fortsetzen\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Geschätzte verbleibende Zeit\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Vorhandene Version\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Wenn du beide Versionen auswählst, wird der kopierten Datei eine Nummer zum Namen hinzugefügt.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Datum der letzten Änderung unbekannt\"] }, New: { msgid: \"New\", msgstr: [\"Neu\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Neue Version\"] }, paused: { msgid: \"paused\", msgstr: [\"Pausiert\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Vorschaubild\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Alle Kontrollkästchen aktivieren\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Alle vorhandenen Dateien auswählen\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Alle neuen Dateien auswählen\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Diese Datei überspringen\", \"{count} Dateien überspringen\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Unbekannte Größe\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Hochladen abgebrochen\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Dateien hochladen\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Fortschritt beim Hochladen\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Welche Dateien möchtest du behalten?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Du musst mindestens eine Version jeder Datei auswählen, um fortzufahren.\"] } } } } }, { locale: \"de_DE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Mario Siegmann , 2024\", \"Language-Team\": \"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"de_DE\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n` }, msgstr: [`Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} Datei-Konflikt\", \"{count} Datei-Konflikte\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} Datei-Konflikt in {dirname}\", \"{count} Datei-Konflikte in {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} Sekunden verbleiben\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} verbleibend\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"ein paar Sekunden verbleiben\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Abbrechen\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Den gesamten Vorgang abbrechen\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Hochladen abbrechen\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Fortsetzen\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Geschätzte verbleibende Zeit\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Vorhandene Version\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Wenn Sie beide Versionen auswählen, wird der kopierten Datei eine Nummer zum Namen hinzugefügt.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Datum der letzten Änderung unbekannt\"] }, New: { msgid: \"New\", msgstr: [\"Neu\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Neue Version\"] }, paused: { msgid: \"paused\", msgstr: [\"Pausiert\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Vorschaubild\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Alle Kontrollkästchen aktivieren\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Alle vorhandenen Dateien auswählen\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Alle neuen Dateien auswählen\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"{count} Datei überspringen\", \"{count} Dateien überspringen\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Unbekannte Größe\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Hochladen abgebrochen\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Dateien hochladen\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Fortschritt beim Hochladen\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Welche Dateien möchten Sie behalten?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Sie müssen mindestens eine Version jeder Datei auswählen, um fortzufahren.\"] } } } } }, { locale: \"el\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Nik Pap, 2022\", \"Language-Team\": \"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"el\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nNik Pap, 2022\n` }, msgstr: [`Last-Translator: Nik Pap, 2022\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"απομένουν {seconds} δευτερόλεπτα\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"απομένουν {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"απομένουν λίγα δευτερόλεπτα\"] }, Add: { msgid: \"Add\", msgstr: [\"Προσθήκη\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Ακύρωση μεταφορτώσεων\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"εκτίμηση του χρόνου που απομένει\"] }, paused: { msgid: \"paused\", msgstr: [\"σε παύση\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Μεταφόρτωση αρχείων\"] } } } } }, { locale: \"el_GR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"el_GR\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el_GR\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"en_GB\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Andi Chandler , 2023\", \"Language-Team\": \"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"en_GB\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nAndi Chandler , 2023\n` }, msgstr: [`Last-Translator: Andi Chandler , 2023\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: en_GB\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} file conflict\", \"{count} files conflict\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} file conflict in {dirname}\", \"{count} file conflicts in {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} seconds left\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} left\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"a few seconds left\"] }, Add: { msgid: \"Add\", msgstr: [\"Add\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancel uploads\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continue\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimating time left\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Existing version\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"If you select both versions, the copied file will have a number added to its name.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Last modified date unknown\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"New version\"] }, paused: { msgid: \"paused\", msgstr: [\"paused\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Preview image\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Select all checkboxes\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Select all existing files\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Select all new files\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Skip this file\", \"Skip {count} files\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Unknown size\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Upload cancelled\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Upload files\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Which files do you want to keep?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"You need to select at least one version of each file to continue.\"] } } } } }, { locale: \"eo\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"eo\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Julio C. Ortega, 2024\", \"Language-Team\": \"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nFranciscoFJ , 2023\nNext Cloud , 2023\nJulio C. Ortega, 2024\n` }, msgstr: [`Last-Translator: Julio C. Ortega, 2024\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} archivo en conflicto\", \"{count} archivos en conflicto\", \"{count} archivos en conflicto\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} archivo en conflicto en {dirname}\", \"{count} archivos en conflicto en {dirname}\", \"{count} archivos en conflicto en {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundos restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} restante\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"quedan unos segundos\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar subidas\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continuar\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando tiempo restante\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versión existente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Si selecciona ambas versiones, al archivo copiado se le añadirá un número en el nombre.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Última fecha de modificación desconocida\"] }, New: { msgid: \"New\", msgstr: [\"Nuevo\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nueva versión\"] }, paused: { msgid: \"paused\", msgstr: [\"pausado\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Previsualizar imagen\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Seleccionar todas las casillas de verificación\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Seleccionar todos los archivos existentes\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Seleccionar todos los archivos nuevos\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Saltar este archivo\", \"Saltar {count} archivos\", \"Saltar {count} archivos\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Tamaño desconocido\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Subida cancelada\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Subir archivos\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Progreso de la subida\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"¿Qué archivos desea conservar?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Debe seleccionar al menos una versión de cada archivo para continuar.\"] } } } } }, { locale: \"es_419\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"ALEJANDRO CASTRO, 2022\", \"Language-Team\": \"Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_419\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nALEJANDRO CASTRO, 2022\n` }, msgstr: [`Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_419\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundos restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{tiempo} restante\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"quedan pocos segundos\"] }, Add: { msgid: \"Add\", msgstr: [\"agregar\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar subidas\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando tiempo restante\"] }, paused: { msgid: \"paused\", msgstr: [\"pausado\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Subir archivos\"] } } } } }, { locale: \"es_AR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Matias Iglesias, 2022\", \"Language-Team\": \"Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_AR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nMatias Iglesias, 2022\n` }, msgstr: [`Last-Translator: Matias Iglesias, 2022\nLanguage-Team: Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_AR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundos restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} restante\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"quedan unos segundos\"] }, Add: { msgid: \"Add\", msgstr: [\"Añadir\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar subidas\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando tiempo restante\"] }, paused: { msgid: \"paused\", msgstr: [\"pausado\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Subir archivos\"] } } } } }, { locale: \"es_CL\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_CL\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CL\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_CO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_CO\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_CR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_CR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_DO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_DO\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_DO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_EC\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_EC\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_EC\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_GT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_GT\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_GT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_HN\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_HN\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_HN\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_MX\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"ALEJANDRO CASTRO, 2022\", \"Language-Team\": \"Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_MX\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nLuis Francisco Castro, 2022\nALEJANDRO CASTRO, 2022\n` }, msgstr: [`Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_MX\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundos restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{tiempo} restante\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"quedan pocos segundos\"] }, Add: { msgid: \"Add\", msgstr: [\"agregar\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"cancelar las cargas\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando tiempo restante\"] }, paused: { msgid: \"paused\", msgstr: [\"en pausa\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"cargar archivos\"] } } } } }, { locale: \"es_NI\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_NI\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_NI\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_PA\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PA\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PA\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_PE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PE\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PE\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_PR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_PY\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PY\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_SV\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_SV\", \"Plural-Forms\": \"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_SV\nPlural-Forms: nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"es_UY\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_UY\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_UY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"et_EE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Taavo Roos, 2023\", \"Language-Team\": \"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"et_EE\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nMait R, 2022\nTaavo Roos, 2023\n` }, msgstr: [`Last-Translator: Taavo Roos, 2023\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: et_EE\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} jäänud sekundid\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} aega jäänud\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"jäänud mõni sekund\"] }, Add: { msgid: \"Add\", msgstr: [\"Lisa\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Tühista üleslaadimine\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"hinnanguline järelejäänud aeg\"] }, paused: { msgid: \"paused\", msgstr: [\"pausil\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Lae failid üles\"] } } } } }, { locale: \"eu\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Unai Tolosa Pontesta , 2022\", \"Language-Team\": \"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"eu\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nUnai Tolosa Pontesta , 2022\n` }, msgstr: [`Last-Translator: Unai Tolosa Pontesta , 2022\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundo geratzen dira\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} geratzen da\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"segundo batzuk geratzen dira\"] }, Add: { msgid: \"Add\", msgstr: [\"Gehitu\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Ezeztatu igoerak\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"kalkulatutako geratzen den denbora\"] }, paused: { msgid: \"paused\", msgstr: [\"geldituta\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Igo fitxategiak\"] } } } } }, { locale: \"fa\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Fatemeh Komeily, 2023\", \"Language-Team\": \"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fa\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nFatemeh Komeily, 2023\n` }, msgstr: [`Last-Translator: Fatemeh Komeily, 2023\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fa\nPlural-Forms: nplurals=2; plural=(n > 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"ثانیه های باقی مانده\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"باقی مانده\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"چند ثانیه مانده\"] }, Add: { msgid: \"Add\", msgstr: [\"اضافه کردن\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"کنسل کردن فایل های اپلود شده\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"تخمین زمان باقی مانده\"] }, paused: { msgid: \"paused\", msgstr: [\"مکث کردن\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"بارگذاری فایل ها\"] } } } } }, { locale: \"fi_FI\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Jiri Grönroos , 2022\", \"Language-Team\": \"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fi_FI\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJiri Grönroos , 2022\n` }, msgstr: [`Last-Translator: Jiri Grönroos , 2022\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} sekuntia jäljellä\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} jäljellä\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"muutama sekunti jäljellä\"] }, Add: { msgid: \"Add\", msgstr: [\"Lisää\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Peruuta lähetykset\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"arvioidaan jäljellä olevaa aikaa\"] }, paused: { msgid: \"paused\", msgstr: [\"keskeytetty\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Lähetä tiedostoja\"] } } } } }, { locale: \"fo\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fo\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fo\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"fr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"jed boulahya, 2024\", \"Language-Team\": \"French (https://app.transifex.com/nextcloud/teams/64236/fr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fr\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nBenoit Pruneau, 2024\njed boulahya, 2024\n` }, msgstr: [`Last-Translator: jed boulahya, 2024\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} fichier en conflit\", \"{count} fichiers en conflit\", \"{count} fichiers en conflit\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} fichier en conflit dans {dirname}\", \"{count} fichiers en conflit dans {dirname}\", \"{count} fichiers en conflit dans {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} secondes restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} restant\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"quelques secondes restantes\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Annuler\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Annuler l'opération entière\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Annuler les envois\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continuer\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimation du temps restant\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Version existante\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Si vous sélectionnez les deux versions, le fichier copié aura un numéro ajouté àname.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Date de la dernière modification est inconnue\"] }, New: { msgid: \"New\", msgstr: [\"Nouveau\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nouvelle version\"] }, paused: { msgid: \"paused\", msgstr: [\"en pause\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Aperçu de l'image\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Sélectionner toutes les cases à cocher\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Sélectionner tous les fichiers existants\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Sélectionner tous les nouveaux fichiers\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Ignorer ce fichier\", \"Ignorer {count} fichiers\", \"Ignorer {count} fichiers\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Taille inconnue\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\" annulé\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Téléchargement des fichiers\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Progression du téléchargement\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Lorsqu'un dossier entrant est sélectionné, tous les fichiers en conflit qu'il contient seront également écrasés.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Quels fichiers souhaitez-vous conserver ?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Vous devez sélectionner au moins une version de chaque fichier pour continuer.\"] } } } } }, { locale: \"gd\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"gd\", \"Plural-Forms\": \"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gd\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"gl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Miguel Anxo Bouzada , 2023\", \"Language-Team\": \"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"gl\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nNacho , 2023\nMiguel Anxo Bouzada , 2023\n` }, msgstr: [`Last-Translator: Miguel Anxo Bouzada , 2023\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} conflito de ficheiros\", \"{count} conflitos de ficheiros\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} conflito de ficheiros en {dirname}\", \"{count} conflitos de ficheiros en {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"faltan {seconds} segundos\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"falta {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"faltan uns segundos\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar envíos\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continuar\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"calculando canto tempo falta\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versión existente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Se selecciona ambas as versións, o ficheiro copiado terá un número engadido ao seu nome.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Data da última modificación descoñecida\"] }, New: { msgid: \"New\", msgstr: [\"Nova\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nova versión\"] }, paused: { msgid: \"paused\", msgstr: [\"detido\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Vista previa da imaxe\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Marcar todas as caixas de selección\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Seleccionar todos os ficheiros existentes\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Seleccionar todos os ficheiros novos\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Omita este ficheiro\", \"Omitir {count} ficheiros\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Tamaño descoñecido\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Envío cancelado\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Enviar ficheiros\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Progreso do envío\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Que ficheiros quere conservar?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Debe seleccionar polo menos unha versión de cada ficheiro para continuar.\"] } } } } }, { locale: \"he\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"he\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"hi_IN\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hi_IN\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hi_IN\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"hr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hr\", \"Plural-Forms\": \"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hr\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"hsb\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hsb\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hsb\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"hu\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hu\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"hu_HU\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Balázs Úr, 2022\", \"Language-Team\": \"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hu_HU\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nBalázs Meskó , 2022\nBalázs Úr, 2022\n` }, msgstr: [`Last-Translator: Balázs Úr, 2022\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{} másodperc van hátra\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} van hátra\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"pár másodperc van hátra\"] }, Add: { msgid: \"Add\", msgstr: [\"Hozzáadás\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Feltöltések megszakítása\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"hátralévő idő becslése\"] }, paused: { msgid: \"paused\", msgstr: [\"szüneteltetve\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Fájlok feltöltése\"] } } } } }, { locale: \"hy\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hy\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hy\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ia\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ia\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ia\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"id\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Linerly , 2023\", \"Language-Team\": \"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"id\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nEmpty Slot Filler, 2023\nLinerly , 2023\n` }, msgstr: [`Last-Translator: Linerly , 2023\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: id\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} berkas berkonflik\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} berkas berkonflik dalam {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} detik tersisa\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} tersisa\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"tinggal sebentar lagi\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Batalkan unggahan\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Lanjutkan\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"memperkirakan waktu yang tersisa\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versi yang ada\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Jika Anda memilih kedua versi, nama berkas yang disalin akan ditambahi angka.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Tanggal perubahan terakhir tidak diketahui\"] }, New: { msgid: \"New\", msgstr: [\"Baru\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Versi baru\"] }, paused: { msgid: \"paused\", msgstr: [\"dijeda\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Gambar pratinjau\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Pilih semua kotak centang\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Pilih semua berkas yang ada\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Pilih semua berkas baru\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Lewati {count} berkas\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Ukuran tidak diketahui\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Unggahan dibatalkan\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Unggah berkas\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Berkas mana yang Anda ingin tetap simpan?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Anda harus memilih setidaknya satu versi dari masing-masing berkas untuk melanjutkan.\"] } } } } }, { locale: \"ig\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ig\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ig\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"is\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Sveinn í Felli , 2023\", \"Language-Team\": \"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"is\", \"Plural-Forms\": \"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nSveinn í Felli , 2023\n` }, msgstr: [`Last-Translator: Sveinn í Felli , 2023\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} árekstur skráa\", \"{count} árekstrar skráa\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} árekstur skráa í {dirname}\", \"{count} árekstrar skráa í {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} sekúndur eftir\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} eftir\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"nokkrar sekúndur eftir\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Hætta við innsendingar\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Halda áfram\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"áætla tíma sem eftir er\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Fyrirliggjandi útgáfa\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Ef þú velur báðar útgáfur, þá mun verða bætt tölustaf aftan við heiti afrituðu skrárinnar.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Síðasta breytingadagsetning er óþekkt\"] }, New: { msgid: \"New\", msgstr: [\"Nýtt\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Ný útgáfa\"] }, paused: { msgid: \"paused\", msgstr: [\"í bið\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Forskoðun myndar\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Velja gátreiti\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Velja allar fyrirliggjandi skrár\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Velja allar nýjar skrár\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Sleppa þessari skrá\", \"Sleppa {count} skrám\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Óþekkt stærð\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Hætt við innsendingu\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Senda inn skrár\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Hvaða skrám vilt þú vilt halda eftir?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Þú verður að velja að minnsta kosti eina útgáfu af hverri skrá til að halda áfram.\"] } } } } }, { locale: \"it\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Random_R, 2023\", \"Language-Team\": \"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"it\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nLep Lep, 2023\nRandom_R, 2023\n` }, msgstr: [`Last-Translator: Random_R, 2023\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} file in conflitto\", \"{count} file in conflitto\", \"{count} file in conflitto\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} file in conflitto in {dirname}\", \"{count} file in conflitto in {dirname}\", \"{count} file in conflitto in {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} secondi rimanenti \"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} rimanente\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"alcuni secondi rimanenti\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Annulla i caricamenti\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continua\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"calcolo il tempo rimanente\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versione esistente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Se selezioni entrambe le versioni, nel nome del file copiato verrà aggiunto un numero \"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Ultima modifica sconosciuta\"] }, New: { msgid: \"New\", msgstr: [\"Nuovo\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nuova versione\"] }, paused: { msgid: \"paused\", msgstr: [\"pausa\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Anteprima immagine\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Seleziona tutte le caselle\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Seleziona tutti i file esistenti\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Seleziona tutti i nuovi file\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Salta questo file\", \"Salta {count} file\", \"Salta {count} file\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Dimensione sconosciuta\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Caricamento cancellato\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Carica i file\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Quali file vuoi mantenere?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Devi selezionare almeno una versione di ogni file per continuare\"] } } } } }, { locale: \"it_IT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"it_IT\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it_IT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ja_JP\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"かたかめ, 2022\", \"Language-Team\": \"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ja_JP\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nT.S, 2022\nかたかめ, 2022\n` }, msgstr: [`Last-Translator: かたかめ, 2022\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"残り {seconds} 秒\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"残り {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"残り数秒\"] }, Add: { msgid: \"Add\", msgstr: [\"追加\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"アップロードをキャンセル\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"概算残り時間\"] }, paused: { msgid: \"paused\", msgstr: [\"一時停止中\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"ファイルをアップデート\"] } } } } }, { locale: \"ka\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ka\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka\nPlural-Forms: nplurals=2; plural=(n!=1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ka_GE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ka_GE\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka_GE\nPlural-Forms: nplurals=2; plural=(n!=1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"kab\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"ZiriSut, 2023\", \"Language-Team\": \"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"kab\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nZiriSut, 2023\n` }, msgstr: [`Last-Translator: ZiriSut, 2023\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kab\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} tesdatin i d-yeqqimen\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} i d-yeqqimen\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"qqiment-d kra n tesdatin kan\"] }, Add: { msgid: \"Add\", msgstr: [\"Rnu\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Sefsex asali\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"asizel n wakud i d-yeqqimen\"] }, paused: { msgid: \"paused\", msgstr: [\"yeḥbes\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Sali-d ifuyla\"] } } } } }, { locale: \"kk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"kk\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kk\nPlural-Forms: nplurals=2; plural=(n!=1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"km\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"km\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: km\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"kn\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"kn\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kn\nPlural-Forms: nplurals=2; plural=(n > 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ko\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Brandon Han, 2024\", \"Language-Team\": \"Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ko\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nhosun Lee, 2023\nBrandon Han, 2024\n` }, msgstr: [`Last-Translator: Brandon Han, 2024\nLanguage-Team: Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ko\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count}개의 파일이 충돌함\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{dirname}에서 {count}개의 파일이 충돌함\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} 남음\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} 남음\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"곧 완료\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"업로드 취소\"] }, Continue: { msgid: \"Continue\", msgstr: [\"확인\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"남은 시간 계산\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"현재 버전\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"두 버전을 모두 선택할 경우, 복제된 파일 이름에 숫자가 추가됩니다.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"최근 수정일 알 수 없음\"] }, New: { msgid: \"New\", msgstr: [\"새로 만들기\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"새 버전\"] }, paused: { msgid: \"paused\", msgstr: [\"일시정지됨\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"미리보기 이미지\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"모든 체크박스 선택\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"모든 파일 선택\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"모든 새 파일 선택\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"{count}개의 파일 넘기기\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"크기를 알 수 없음\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"업로드 취소됨\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"파일 업로드\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"업로드 진행도\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"어떤 파일을 보존하시겠습니까?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"계속하기 위해서는 한 파일에 최소 하나의 버전을 선택해야 합니다.\"] } } } } }, { locale: \"la\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"la\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: la\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"lb\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lb\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lb\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"lo\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lo\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lo\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"lt_LT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lt_LT\", \"Plural-Forms\": \"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"lv\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lv\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"mk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Сашко Тодоров , 2022\", \"Language-Team\": \"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"mk\", \"Plural-Forms\": \"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nСашко Тодоров , 2022\n` }, msgstr: [`Last-Translator: Сашко Тодоров , 2022\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"преостануваат {seconds} секунди\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"преостанува {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"уште неколку секунди\"] }, Add: { msgid: \"Add\", msgstr: [\"Додади\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Прекини прикачување\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"приближно преостанато време\"] }, paused: { msgid: \"paused\", msgstr: [\"паузирано\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Прикачување датотеки\"] } } } } }, { locale: \"mn\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"BATKHUYAG Ganbold, 2023\", \"Language-Team\": \"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"mn\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nBATKHUYAG Ganbold, 2023\n` }, msgstr: [`Last-Translator: BATKHUYAG Ganbold, 2023\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mn\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} секунд үлдсэн\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} үлдсэн\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"хэдхэн секунд үлдсэн\"] }, Add: { msgid: \"Add\", msgstr: [\"Нэмэх\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Илгээлтийг цуцлах\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Үлдсэн хугацааг тооцоолж байна\"] }, paused: { msgid: \"paused\", msgstr: [\"түр зогсоосон\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Файл илгээх\"] } } } } }, { locale: \"mr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"mr\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mr\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ms_MY\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ms_MY\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ms_MY\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"my\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"my\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: my\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"nb_NO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Syvert Fossdal, 2024\", \"Language-Team\": \"Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nb_NO\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nSyvert Fossdal, 2024\n` }, msgstr: [`Last-Translator: Syvert Fossdal, 2024\nLanguage-Team: Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} file conflict\", \"{count} filkonflikter\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} file conflict in {dirname}\", \"{count} filkonflikter i {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} sekunder igjen\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} igjen\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"noen få sekunder igjen\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Avbryt opplastninger\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Fortsett\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Estimerer tid igjen\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Gjeldende versjon\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Hvis du velger begge versjoner, vil den kopierte filen få et tall lagt til navnet.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Siste gang redigert ukjent\"] }, New: { msgid: \"New\", msgstr: [\"Ny\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Ny versjon\"] }, paused: { msgid: \"paused\", msgstr: [\"pauset\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Forhåndsvis bilde\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Velg alle\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Velg alle eksisterende filer\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Velg alle nye filer\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Skip this file\", \"Hopp over {count} filer\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Ukjent størrelse\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Opplasting avbrutt\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Last opp filer\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Fremdrift, opplasting\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Hvilke filer vil du beholde?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Du må velge minst en versjon av hver fil for å fortsette.\"] } } } } }, { locale: \"ne\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ne\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ne\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"nl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Rico , 2023\", \"Language-Team\": \"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nl\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nRico , 2023\n` }, msgstr: [`Last-Translator: Rico , 2023\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Nog {seconds} seconden\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{seconds} over\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"Nog een paar seconden\"] }, Add: { msgid: \"Add\", msgstr: [\"Voeg toe\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Uploads annuleren\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Schatting van de resterende tijd\"] }, paused: { msgid: \"paused\", msgstr: [\"Gepauzeerd\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Upload bestanden\"] } } } } }, { locale: \"nn\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nn\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"nn_NO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nn_NO\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"oc\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"oc\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"pl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Valdnet, 2024\", \"Language-Team\": \"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"pl\", \"Plural-Forms\": \"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nM H , 2023\nValdnet, 2024\n` }, msgstr: [`Last-Translator: Valdnet, 2024\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"konflikt 1 pliku\", \"{count} konfliktów plików\", \"{count} konfliktów plików\", \"{count} konfliktów plików\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} konfliktowy plik w {dirname}\", \"{count} konfliktowych plików w {dirname}\", \"{count} konfliktowych plików w {dirname}\", \"{count} konfliktowych plików w {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Pozostało {seconds} sekund\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"Pozostało {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"Pozostało kilka sekund\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Anuluj wysyłanie\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Kontynuuj\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Szacowanie pozostałego czasu\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Istniejąca wersja\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Jeżeli wybierzesz obie wersje to do nazw skopiowanych plików zostanie dodany numer\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Nieznana data ostatniej modyfikacji\"] }, New: { msgid: \"New\", msgstr: [\"Nowy\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nowa wersja\"] }, paused: { msgid: \"paused\", msgstr: [\"Wstrzymane\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Podgląd obrazu\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Zaznacz wszystkie boxy\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Zaznacz wszystkie istniejące pliki\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Zaznacz wszystkie nowe pliki\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Pomiń 1 plik\", \"Pomiń {count} plików\", \"Pomiń {count} plików\", \"Pomiń {count} plików\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Nieznany rozmiar\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Anulowano wysyłanie\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Wyślij pliki\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Postęp wysyłania\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Które pliki chcesz zachować\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku.\"] } } } } }, { locale: \"ps\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ps\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ps\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"pt_BR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Leonardo Colman Lopes , 2024\", \"Language-Team\": \"Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"pt_BR\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nLeonardo Colman Lopes , 2024\n` }, msgstr: [`Last-Translator: Leonardo Colman Lopes , 2024\nLanguage-Team: Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} arquivos em conflito\", \"{count} arquivos em conflito\", \"{count} arquivos em conflito\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} conflitos de arquivo em {dirname}\", \"{count} conflitos de arquivo em {dirname}\", \"{count} conflitos de arquivo em {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} segundos restantes\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} restante\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"alguns segundos restantes\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Cancelar\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Cancelar a operação inteira\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar uploads\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Continuar\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimando tempo restante\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Versão existente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Se você selecionar ambas as versões, o arquivo copiado terá um número adicionado ao seu nome.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Data da última modificação desconhecida\"] }, New: { msgid: \"New\", msgstr: [\"Novo\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Nova versão\"] }, paused: { msgid: \"paused\", msgstr: [\"pausado\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Visualizar imagem\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Marque todas as caixas de seleção\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Selecione todos os arquivos existentes\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Selecione todos os novos arquivos\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Ignorar {count} arquivos\", \"Ignorar {count} arquivos\", \"Ignorar {count} arquivos\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Tamanho desconhecido\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Envio cancelado\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Enviar arquivos\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Envio em progresso\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Quando uma pasta é selecionada, quaisquer arquivos dentro dela também serão sobrescritos.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Quais arquivos você deseja manter?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Você precisa selecionar pelo menos uma versão de cada arquivo para continuar.\"] } } } } }, { locale: \"pt_PT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Manuela Silva , 2022\", \"Language-Team\": \"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"pt_PT\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nManuela Silva , 2022\n` }, msgstr: [`Last-Translator: Manuela Silva , 2022\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"faltam {seconds} segundo(s)\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"faltam {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"faltam uns segundos\"] }, Add: { msgid: \"Add\", msgstr: [\"Adicionar\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Cancelar envios\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"tempo em falta estimado\"] }, paused: { msgid: \"paused\", msgstr: [\"pausado\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Enviar ficheiros\"] } } } } }, { locale: \"ro\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Mădălin Vasiliu , 2022\", \"Language-Team\": \"Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ro\", \"Plural-Forms\": \"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nMădălin Vasiliu , 2022\n` }, msgstr: [`Last-Translator: Mădălin Vasiliu , 2022\nLanguage-Team: Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ro\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} secunde rămase\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"{time} rămas\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"câteva secunde rămase\"] }, Add: { msgid: \"Add\", msgstr: [\"Adaugă\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Anulați încărcările\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"estimarea timpului rămas\"] }, paused: { msgid: \"paused\", msgstr: [\"pus pe pauză\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Încarcă fișiere\"] } } } } }, { locale: \"ru\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Александр, 2023\", \"Language-Team\": \"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ru\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nMax Smith , 2023\nАлександр, 2023\n` }, msgstr: [`Last-Translator: Александр, 2023\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"конфликт {count} файла\", \"конфликт {count} файлов\", \"конфликт {count} файлов\", \"конфликт {count} файлов\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"конфликт {count} файла в {dirname}\", \"конфликт {count} файлов в {dirname}\", \"конфликт {count} файлов в {dirname}\", \"конфликт {count} файлов в {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"осталось {seconds} секунд\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"осталось {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"осталось несколько секунд\"] }, Add: { msgid: \"Add\", msgstr: [\"Добавить\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Отменить загрузки\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Продолжить\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"оценка оставшегося времени\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Текущая версия\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Если вы выберете обе версии, к имени скопированного файла будет добавлен номер.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Дата последнего изменения неизвестна\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Новая версия\"] }, paused: { msgid: \"paused\", msgstr: [\"приостановлено\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Предварительный просмотр\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Установить все флажки\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Выбрать все существующие файлы\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Выбрать все новые файлы\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Пропустить файл\", \"Пропустить {count} файла\", \"Пропустить {count} файлов\", \"Пропустить {count} файлов\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Неизвестный размер\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Загрузка отменена\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Загрузка файлов\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Какие файлы вы хотите сохранить?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Для продолжения вам нужно выбрать по крайней мере одну версию каждого файла.\"] } } } } }, { locale: \"ru_RU\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ru_RU\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru_RU\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sc\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sc\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sc\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"si\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"si\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"si_LK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"si_LK\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sk_SK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sk_SK\", \"Plural-Forms\": \"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Matej Urbančič <>, 2022\", \"Language-Team\": \"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sl\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nMatej Urbančič <>, 2022\n` }, msgstr: [`Last-Translator: Matej Urbančič <>, 2022\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"še {seconds} sekund\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"še {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"še nekaj sekund\"] }, Add: { msgid: \"Add\", msgstr: [\"Dodaj\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Prekliči pošiljanje\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"ocenjen čas do konca\"] }, paused: { msgid: \"paused\", msgstr: [\"v premoru\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Pošlji datoteke\"] } } } } }, { locale: \"sl_SI\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sl_SI\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl_SI\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sq\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sq\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sq\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Иван Пешић, 2023\", \"Language-Team\": \"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sr\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nИван Пешић, 2023\n` }, msgstr: [`Last-Translator: Иван Пешић, 2023\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} фајл конфликт\", \"{count} фајл конфликта\", \"{count} фајл конфликта\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} фајл конфликт у {dirname}\", \"{count} фајл конфликта у {dirname}\", \"{count} фајл конфликта у {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"преостало је {seconds} секунди\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} преостало\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"преостало је неколико секунди\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Обустави отпремања\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Настави\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"процена преосталог времена\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Постојећа верзија\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Ако изаберете обе верзије, на име копираног фајла ће се додати број.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Није познат датум последње измене\"] }, New: { msgid: \"New\", msgstr: [\"Ново\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Нова верзија\"] }, paused: { msgid: \"paused\", msgstr: [\"паузирано\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Слика прегледа\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Штиклирај сва поља за штиклирање\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Изабери све постојеће фајлове\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Изабери све нове фајлове\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Прескочи овај фајл\", \"Прескочи {count} фајла\", \"Прескочи {count} фајлова\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Непозната величина\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Отпремање је отказано\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Отпреми фајлове\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Напредак отпремања\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Које фајлове желите да задржите?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Морате да изаберете барем једну верзију сваког фајла да наставите.\"] } } } } }, { locale: \"sr@latin\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sr@latin\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr@latin\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"sv\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Magnus Höglund, 2024\", \"Language-Team\": \"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sv\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nMagnus Höglund, 2024\n` }, msgstr: [`Last-Translator: Magnus Höglund, 2024\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} filkonflikt\", \"{count} filkonflikter\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} filkonflikt i {dirname}\", \"{count} filkonflikter i {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} sekunder kvarstår\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} kvarstår\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"några sekunder kvar\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Avbryt\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Avbryt hela operationen\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Avbryt uppladdningar\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Fortsätt\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"uppskattar kvarstående tid\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Nuvarande version\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Om du väljer båda versionerna kommer den kopierade filen att få ett nummer tillagt i namnet.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Senaste ändringsdatum okänt\"] }, New: { msgid: \"New\", msgstr: [\"Ny\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Ny version\"] }, paused: { msgid: \"paused\", msgstr: [\"pausad\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Förhandsgranska bild\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Markera alla kryssrutor\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Välj alla befintliga filer\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Välj alla nya filer\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Hoppa över denna fil\", \"Hoppa över {count} filer\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Okänd storlek\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Uppladdningen avbröts\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Ladda upp filer\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Uppladdningsförlopp\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"När en inkommande mapp väljs skrivs även alla konfliktande filer i den över.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Vilka filer vill du behålla?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Du måste välja minst en version av varje fil för att fortsätta.\"] } } } } }, { locale: \"sw\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sw\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sw\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ta\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ta\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"ta_LK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ta_LK\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"th\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Thai (https://www.transifex.com/nextcloud/teams/64236/th/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"th\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Thai (https://www.transifex.com/nextcloud/teams/64236/th/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"th_TH\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Phongpanot Phairat , 2022\", \"Language-Team\": \"Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"th_TH\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nPhongpanot Phairat , 2022\n` }, msgstr: [`Last-Translator: Phongpanot Phairat , 2022\nLanguage-Team: Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th_TH\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"เหลืออีก {seconds} วินาที\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"time has the format 00:00:00\" }, msgstr: [\"เหลืออีก {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"เหลืออีกไม่กี่วินาที\"] }, Add: { msgid: \"Add\", msgstr: [\"เพิ่ม\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"ยกเลิกการอัปโหลด\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"กำลังคำนวณเวลาที่เหลือ\"] }, paused: { msgid: \"paused\", msgstr: [\"หยุดชั่วคราว\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"อัปโหลดไฟล์\"] } } } } }, { locale: \"tk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"tk\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tk\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"tr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Kaya Zeren , 2024\", \"Language-Team\": \"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"tr\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nKaya Zeren , 2024\n` }, msgstr: [`Last-Translator: Kaya Zeren , 2024\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} dosya çakışması var\", \"{count} dosya çakışması var\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{dirname} klasöründe {count} dosya çakışması var\", \"{dirname} klasöründe {count} dosya çakışması var\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"{seconds} saniye kaldı\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"{time} kaldı\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"bir kaç saniye kaldı\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"İptal\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Tüm işlemi iptal et\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Yüklemeleri iptal et\"] }, Continue: { msgid: \"Continue\", msgstr: [\"İlerle\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"öngörülen kalan süre\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Var olan sürüm\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"İki sürümü de seçerseniz, kopyalanan dosyanın adına bir sayı eklenir.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Son değiştirilme tarihi bilinmiyor\"] }, New: { msgid: \"New\", msgstr: [\"Yeni\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Yeni sürüm\"] }, paused: { msgid: \"paused\", msgstr: [\"duraklatıldı\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Görsel ön izlemesi\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Tüm kutuları işaretle\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Tüm var olan dosyaları seç\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Tüm yeni dosyaları seç\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Bu dosyayı atla\", \"{count} dosyayı atla\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Boyut bilinmiyor\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Yükleme iptal edildi\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Dosyaları yükle\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Yükleme ilerlemesi\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Hangi dosyaları tutmak istiyorsunuz?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"İlerlemek için her dosyanın en az bir sürümünü seçmelisiniz.\"] } } } } }, { locale: \"ug\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ug\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ug\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"uk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"O St , 2024\", \"Language-Team\": \"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"uk\", \"Plural-Forms\": \"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\nO St , 2024\n` }, msgstr: [`Last-Translator: O St , 2024\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} конфліктний файл\", \"{count} конфліктних файли\", \"{count} конфліктних файлів\", \"{count} конфліктних файлів\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} конфліктний файл у каталозі {dirname}\", \"{count} конфліктних файли у каталозі {dirname}\", \"{count} конфліктних файлів у каталозі {dirname}\", \"{count} конфліктних файлів у каталозі {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Залишилося {seconds} секунд\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"Залишилося {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"залишилося кілька секунд\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"Скасувати\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"Скасувати операцію повністю\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Скасувати завантаження\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Продовжити\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"оцінка часу, що залишився\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Присутня версія\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Якщо ви виберете обидві версії, то буде створено копію файлу, до назви якої буде додано цифру.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Дата останньої зміни невідома\"] }, New: { msgid: \"New\", msgstr: [\"Нове\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Нова версія\"] }, paused: { msgid: \"paused\", msgstr: [\"призупинено\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Попередній перегляд\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Вибрати все\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Вибрати усі присутні файли\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Вибрати усі нові файли\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Пропустити файл\", \"Пропустити {count} файли\", \"Пропустити {count} файлів\", \"Пропустити {count} файлів\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Невідомий розмір\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Завантаження скасовано\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Завантажити файли\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Поступ завантаження\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"Усі конфліктні файли у вибраному каталозі призначення буде перезаписано поверх.\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Які файли залишити?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Для продовження потрібно вибрати принаймні одну версію для кожного файлу.\"] } } } } }, { locale: \"ur_PK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ur_PK\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ur_PK\nPlural-Forms: nplurals=2; plural=(n != 1);\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"uz\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"uz\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nTransifex Bot <>, 2022\n` }, msgstr: [`Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uz\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{estimate} seconds left\": { msgid: \"{estimate} seconds left\", msgstr: [\"\"] }, \"{hours} hours and {minutes} minutes left\": { msgid: \"{hours} hours and {minutes} minutes left\", msgstr: [\"\"] }, \"{minutes} minutes left\": { msgid: \"{minutes} minutes left\", msgstr: [\"\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"\"] }, Add: { msgid: \"Add\", msgstr: [\"\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"\"] }, paused: { msgid: \"paused\", msgstr: [\"\"] } } } } }, { locale: \"vi\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Tung DangQuang, 2023\", \"Language-Team\": \"Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"vi\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nTung DangQuang, 2023\n` }, msgstr: [`Last-Translator: Tung DangQuang, 2023\nLanguage-Team: Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: vi\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} Tập tin xung đột\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{count} tập tin lỗi trong {dirname}\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"Còn {second} giây\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"Còn lại {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"Còn lại một vài giây\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"Huỷ tải lên\"] }, Continue: { msgid: \"Continue\", msgstr: [\"Tiếp Tục\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"Thời gian còn lại dự kiến\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"Phiên Bản Hiện Tại\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"Nếu bạn chọn cả hai phiên bản, tệp được sao chép sẽ có thêm một số vào tên của nó.\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"Ngày sửa dổi lần cuối không xác định\"] }, New: { msgid: \"New\", msgstr: [\"Tạo Mới\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"Phiên Bản Mới\"] }, paused: { msgid: \"paused\", msgstr: [\"đã tạm dừng\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"Xem Trước Ảnh\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"Chọn tất cả hộp checkbox\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"Chọn tất cả các tập tin có sẵn\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"Chọn tất cả các tập tin mới\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"Bỏ Qua {count} tập tin\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"Không rõ dung lượng\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"Dừng Tải Lên\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"Tập tin tải lên\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"Đang Tải Lên\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"Bạn muốn giữ tập tin nào?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"Bạn cần chọn ít nhất một phiên bản tập tin mới có thể tiếp tục\"] } } } } }, { locale: \"zh_CN\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Hongbo Chen, 2023\", \"Language-Team\": \"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"zh_CN\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nHongbo Chen, 2023\n` }, msgstr: [`Last-Translator: Hongbo Chen, 2023\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count}文件冲突\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"在{dirname}目录下有{count}个文件冲突\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"剩余 {seconds} 秒\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"剩余 {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"还剩几秒\"] }, Add: { msgid: \"Add\", msgstr: [\"添加\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"取消上传\"] }, Continue: { msgid: \"Continue\", msgstr: [\"继续\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"估计剩余时间\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"版本已存在\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"如果选择所有的版本,新增版本的文件名为原文件名加数字\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"文件最后修改日期未知\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"新版本\"] }, paused: { msgid: \"paused\", msgstr: [\"已暂停\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"图片预览\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"选择所有的选择框\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"选择所有存在的文件\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"选择所有的新文件\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"跳过{count}个文件\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"文件大小未知\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"取消上传\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"上传文件\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"你要保留哪些文件?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"每个文件至少选择一个版本\"] } } } } }, { locale: \"zh_HK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Café Tango, 2023\", \"Language-Team\": \"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"zh_HK\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJohn Molakvoæ , 2023\nCafé Tango, 2023\n` }, msgstr: [`Last-Translator: Café Tango, 2023\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} 個檔案衝突\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{dirname} 中有 {count} 個檔案衝突\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"剩餘 {seconds} 秒\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"剩餘 {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"還剩幾秒\"] }, Add: { msgid: \"Add\", msgstr: [\"添加\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"取消上傳\"] }, Continue: { msgid: \"Continue\", msgstr: [\"繼續\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"估計剩餘時間\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"既有版本\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"若您選取兩個版本,複製的檔案的名稱將會新增編號。\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"最後修改日期不詳\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"新版本 \"] }, paused: { msgid: \"paused\", msgstr: [\"已暫停\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"預覽圖片\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"選取所有核取方塊\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"選取所有既有檔案\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"選取所有新檔案\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"略過 {count} 個檔案\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"大小不詳\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"已取消上傳\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"上傳檔案\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"您想保留哪些檔案?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"您必須為每個檔案都至少選取一個版本以繼續。\"] } } } } }, { locale: \"zh_TW\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"黃柏諺 , 2024\", \"Language-Team\": \"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"zh_TW\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: `\nTranslators:\nJoas Schilling, 2024\n黃柏諺 , 2024\n` }, msgstr: [`Last-Translator: 黃柏諺 , 2024\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n`] }, \"{count} file conflict\": { msgid: \"{count} file conflict\", msgid_plural: \"{count} files conflict\", msgstr: [\"{count} 個檔案衝突\"] }, \"{count} file conflict in {dirname}\": { msgid: \"{count} file conflict in {dirname}\", msgid_plural: \"{count} file conflicts in {dirname}\", msgstr: [\"{dirname} 中有 {count} 個檔案衝突\"] }, \"{seconds} seconds left\": { msgid: \"{seconds} seconds left\", msgstr: [\"剩餘 {seconds} 秒\"] }, \"{time} left\": { msgid: \"{time} left\", comments: { extracted: \"TRANSLATORS time has the format 00:00:00\" }, msgstr: [\"剩餘 {time}\"] }, \"a few seconds left\": { msgid: \"a few seconds left\", msgstr: [\"還剩幾秒\"] }, Cancel: { msgid: \"Cancel\", msgstr: [\"取消\"] }, \"Cancel the entire operation\": { msgid: \"Cancel the entire operation\", msgstr: [\"取消整個操作\"] }, \"Cancel uploads\": { msgid: \"Cancel uploads\", msgstr: [\"取消上傳\"] }, Continue: { msgid: \"Continue\", msgstr: [\"繼續\"] }, \"estimating time left\": { msgid: \"estimating time left\", msgstr: [\"估計剩餘時間\"] }, \"Existing version\": { msgid: \"Existing version\", msgstr: [\"既有版本\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { msgid: \"If you select both versions, the copied file will have a number added to its name.\", msgstr: [\"若您選取兩個版本,複製的檔案的名稱將會新增編號。\"] }, \"Last modified date unknown\": { msgid: \"Last modified date unknown\", msgstr: [\"最後修改日期未知\"] }, New: { msgid: \"New\", msgstr: [\"新增\"] }, \"New version\": { msgid: \"New version\", msgstr: [\"新版本\"] }, paused: { msgid: \"paused\", msgstr: [\"已暫停\"] }, \"Preview image\": { msgid: \"Preview image\", msgstr: [\"預覽圖片\"] }, \"Select all checkboxes\": { msgid: \"Select all checkboxes\", msgstr: [\"選取所有核取方塊\"] }, \"Select all existing files\": { msgid: \"Select all existing files\", msgstr: [\"選取所有既有檔案\"] }, \"Select all new files\": { msgid: \"Select all new files\", msgstr: [\"選取所有新檔案\"] }, \"Skip this file\": { msgid: \"Skip this file\", msgid_plural: \"Skip {count} files\", msgstr: [\"略過 {count} 檔案\"] }, \"Unknown size\": { msgid: \"Unknown size\", msgstr: [\"未知大小\"] }, \"Upload cancelled\": { msgid: \"Upload cancelled\", msgstr: [\"已取消上傳\"] }, \"Upload files\": { msgid: \"Upload files\", msgstr: [\"上傳檔案\"] }, \"Upload progress\": { msgid: \"Upload progress\", msgstr: [\"上傳進度\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { msgid: \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", msgstr: [\"選取傳入資料夾後,其中任何的衝突檔案都會被覆寫。\"] }, \"Which files do you want to keep?\": { msgid: \"Which files do you want to keep?\", msgstr: [\"您想保留哪些檔案?\"] }, \"You need to select at least one version of each file to continue.\": { msgid: \"You need to select at least one version of each file to continue.\", msgstr: [\"您必須為每個檔案都至少選取一個版本以繼續。\"] } } } } }].map((e) => R.addTranslation(e.locale, e.json));\nconst C = R.build(), Gs = C.ngettext.bind(C), u = C.gettext.bind(C), Ls = E.extend({\n name: \"UploadPicker\",\n components: {\n Cancel: ms,\n NcActionButton: J,\n NcActions: Q,\n NcButton: Z,\n NcIconSvgWrapper: X,\n NcProgressBar: ss,\n Plus: fs,\n Upload: xs\n },\n props: {\n accept: {\n type: Array,\n default: null\n },\n disabled: {\n type: Boolean,\n default: !1\n },\n multiple: {\n type: Boolean,\n default: !1\n },\n destination: {\n type: z,\n default: void 0\n },\n /**\n * List of file present in the destination folder\n */\n content: {\n type: Array,\n default: () => []\n },\n forbiddenCharacters: {\n type: Array,\n default: () => []\n }\n },\n data() {\n return {\n addLabel: u(\"New\"),\n cancelLabel: u(\"Cancel uploads\"),\n uploadLabel: u(\"Upload files\"),\n progressLabel: u(\"Upload progress\"),\n progressTimeId: `nc-uploader-progress-${Math.random().toString(36).slice(7)}`,\n eta: null,\n timeLeft: \"\",\n newFileMenuEntries: [],\n uploadManager: M()\n };\n },\n computed: {\n totalQueueSize() {\n return this.uploadManager.info?.size || 0;\n },\n uploadedQueueSize() {\n return this.uploadManager.info?.progress || 0;\n },\n progress() {\n return Math.round(this.uploadedQueueSize / this.totalQueueSize * 100) || 0;\n },\n queue() {\n return this.uploadManager.queue;\n },\n hasFailure() {\n return this.queue?.filter((e) => e.status === c.FAILED).length !== 0;\n },\n isUploading() {\n return this.queue?.length > 0;\n },\n isAssembling() {\n return this.queue?.filter((e) => e.status === c.ASSEMBLING).length !== 0;\n },\n isPaused() {\n return this.uploadManager.info?.status === I.PAUSED;\n },\n // Hide the button text if we're uploading\n buttonName() {\n if (!this.isUploading)\n return this.addLabel;\n }\n },\n watch: {\n destination(e) {\n this.setDestination(e);\n },\n totalQueueSize(e) {\n this.eta = K({ min: 0, max: e }), this.updateStatus();\n },\n uploadedQueueSize(e) {\n this.eta?.report?.(e), this.updateStatus();\n },\n isPaused(e) {\n e ? this.$emit(\"paused\", this.queue) : this.$emit(\"resumed\", this.queue);\n }\n },\n beforeMount() {\n this.destination && this.setDestination(this.destination), this.uploadManager.addNotifier(this.onUploadCompletion), g.debug(\"UploadPicker initialised\");\n },\n methods: {\n /**\n * Trigger file picker\n */\n onClick() {\n this.$refs.input.click();\n },\n /**\n * Start uploading\n */\n async onPick() {\n let e = [...this.$refs.input.files];\n if (Us(e, this.content)) {\n const s = e.filter((n) => this.content.find((i) => i.basename === n.name)).filter(Boolean), t = e.filter((n) => !s.includes(n));\n try {\n const { selected: n, renamed: i } = await ys(this.destination.basename, s, this.content);\n e = [...t, ...n, ...i];\n } catch {\n P(u(\"Upload cancelled\"));\n return;\n }\n }\n e.forEach((s) => {\n const n = (this.forbiddenCharacters || []).find((i) => s.name.includes(i));\n n ? P(u(`\"${n}\" is not allowed inside a file name.`)) : this.uploadManager.upload(s.name, s).catch(() => {\n });\n }), this.$refs.form.reset();\n },\n /**\n * Cancel ongoing queue\n */\n onCancel() {\n this.uploadManager.queue.forEach((e) => {\n e.cancel();\n }), this.$refs.form.reset();\n },\n updateStatus() {\n if (this.isPaused) {\n this.timeLeft = u(\"paused\");\n return;\n }\n const e = Math.round(this.eta.estimate());\n if (e === 1 / 0) {\n this.timeLeft = u(\"estimating time left\");\n return;\n }\n if (e < 10) {\n this.timeLeft = u(\"a few seconds left\");\n return;\n }\n if (e > 60) {\n const s = /* @__PURE__ */ new Date(0);\n s.setSeconds(e);\n const t = s.toISOString().slice(11, 19);\n this.timeLeft = u(\"{time} left\", { time: t });\n return;\n }\n this.timeLeft = u(\"{seconds} seconds left\", { seconds: e });\n },\n setDestination(e) {\n if (!this.destination) {\n g.debug(\"Invalid destination\");\n return;\n }\n this.uploadManager.destination = e, this.newFileMenuEntries = G(e);\n },\n onUploadCompletion(e) {\n e.status === c.FAILED ? this.$emit(\"failed\", e) : this.$emit(\"uploaded\", e);\n }\n }\n});\nvar ks = function() {\n var s = this, t = s._self._c;\n return s._self._setupProxy, s.destination ? t(\"form\", { ref: \"form\", staticClass: \"upload-picker\", class: { \"upload-picker--uploading\": s.isUploading, \"upload-picker--paused\": s.isPaused }, attrs: { \"data-cy-upload-picker\": \"\" } }, [s.newFileMenuEntries && s.newFileMenuEntries.length === 0 ? t(\"NcButton\", { attrs: { disabled: s.disabled, \"data-cy-upload-picker-add\": \"\", type: \"secondary\" }, on: { click: s.onClick }, scopedSlots: s._u([{ key: \"icon\", fn: function() {\n return [t(\"Plus\", { attrs: { title: \"\", size: 20, decorative: \"\" } })];\n }, proxy: !0 }], null, !1, 2954875042) }, [s._v(\" \" + s._s(s.buttonName) + \" \")]) : t(\"NcActions\", { attrs: { \"menu-name\": s.buttonName, \"menu-title\": s.addLabel, type: \"secondary\" }, scopedSlots: s._u([{ key: \"icon\", fn: function() {\n return [t(\"Plus\", { attrs: { title: \"\", size: 20, decorative: \"\" } })];\n }, proxy: !0 }], null, !1, 2954875042) }, [t(\"NcActionButton\", { attrs: { \"data-cy-upload-picker-add\": \"\", \"close-after-click\": !0 }, on: { click: s.onClick }, scopedSlots: s._u([{ key: \"icon\", fn: function() {\n return [t(\"Upload\", { attrs: { title: \"\", size: 20, decorative: \"\" } })];\n }, proxy: !0 }], null, !1, 3606034491) }, [s._v(\" \" + s._s(s.uploadLabel) + \" \")]), s._l(s.newFileMenuEntries, function(n) {\n return t(\"NcActionButton\", { key: n.id, staticClass: \"upload-picker__menu-entry\", attrs: { icon: n.iconClass, \"close-after-click\": !0 }, on: { click: function(i) {\n return n.handler(s.destination, s.content);\n } }, scopedSlots: s._u([n.iconSvgInline ? { key: \"icon\", fn: function() {\n return [t(\"NcIconSvgWrapper\", { attrs: { svg: n.iconSvgInline } })];\n }, proxy: !0 } : null], null, !0) }, [s._v(\" \" + s._s(n.displayName) + \" \")]);\n })], 2), t(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: s.isUploading, expression: \"isUploading\" }], staticClass: \"upload-picker__progress\" }, [t(\"NcProgressBar\", { attrs: { \"aria-label\": s.progressLabel, \"aria-describedby\": s.progressTimeId, error: s.hasFailure, value: s.progress, size: \"medium\" } }), t(\"p\", { attrs: { id: s.progressTimeId } }, [s._v(\" \" + s._s(s.timeLeft) + \" \")])], 1), s.isUploading ? t(\"NcButton\", { staticClass: \"upload-picker__cancel\", attrs: { type: \"tertiary\", \"aria-label\": s.cancelLabel, \"data-cy-upload-picker-cancel\": \"\" }, on: { click: s.onCancel }, scopedSlots: s._u([{ key: \"icon\", fn: function() {\n return [t(\"Cancel\", { attrs: { title: \"\", size: 20 } })];\n }, proxy: !0 }], null, !1, 4076886712) }) : s._e(), t(\"input\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !1, expression: \"false\" }], ref: \"input\", attrs: { type: \"file\", accept: s.accept?.join?.(\", \"), multiple: s.multiple, \"data-cy-upload-picker-input\": \"\" }, on: { change: s.onPick } })], 1) : s._e();\n}, vs = [], Cs = /* @__PURE__ */ y(\n Ls,\n ks,\n vs,\n !1,\n null,\n \"eca9500a\",\n null,\n null\n);\nconst Ys = Cs.exports;\nlet k = null;\nfunction M() {\n const e = document.querySelector('input[name=\"isPublic\"][value=\"1\"]') !== null;\n return k instanceof N || (k = new N(e)), k;\n}\nfunction Vs(e, s) {\n const t = M();\n return t.upload(e, s), t;\n}\nasync function ys(e, s, t) {\n const n = $(() => import(\"./ConflictPicker-Bif6rCp6.mjs\"));\n return new Promise((i, o) => {\n const l = new E({\n name: \"ConflictPickerRoot\",\n render: (f) => f(n, {\n props: {\n dirname: e,\n conflicts: s,\n content: t\n },\n on: {\n submit(r) {\n i(r), l.$destroy(), l.$el?.parentNode?.removeChild(l.$el);\n },\n cancel(r) {\n o(r ?? new Error(\"Canceled\")), l.$destroy(), l.$el?.parentNode?.removeChild(l.$el);\n }\n }\n })\n });\n l.$mount(), document.body.appendChild(l.$el);\n });\n}\nfunction Us(e, s) {\n const t = s.map((i) => i.basename);\n return e.filter((i) => {\n const o = i instanceof File ? i.name : i.basename;\n return t.indexOf(o) !== -1;\n }).length > 0;\n}\nexport {\n I as S,\n Ys as U,\n Gs as a,\n ns as b,\n c,\n M as g,\n Us as h,\n g as l,\n y as n,\n ys as o,\n u as t,\n Vs as u\n};\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4065\":\"9661e9d1e1b32699b74a\",\"4254\":\"96661b9f421b07ce7189\",\"6075\":\"d640b65b03c7259e0129\",\"9558\":\"8c4576358f0dfcd0dc8e\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1171;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1171: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(34707)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","has","Object","prototype","hasOwnProperty","prefix","Events","EE","fn","context","once","this","addListener","emitter","event","TypeError","listener","evt","_events","push","_eventsCount","clearEvent","EventEmitter","create","__proto__","eventNames","events","name","names","call","slice","getOwnPropertySymbols","concat","listeners","handlers","i","l","length","ee","Array","listenerCount","emit","a1","a2","a3","a4","a5","args","len","arguments","removeListener","undefined","apply","j","on","removeAllListeners","off","prefixed","module","exports","getLoggerBuilder","setApp","detectUser","build","canUnshareOnly","nodes","every","node","attributes","canDisconnectOnly","displayName","view","id","t","hasSharedItems","some","hasDeleteItems","isMixedUnshareAndDelete","type","FileType","File","isAllFiles","Folder","isAllFolders","queue","PQueue","concurrency","action","FileAction","iconSvgInline","enabled","map","permissions","permission","Permission","DELETE","exec","dir","axios","delete","encodedSource","error","logger","source","execBatch","Promise","resolve","window","OC","dialogs","confirmDestructive","count","YES_NO_BUTTONS","confirm","confirmClasses","cancel","decision","showInfo","all","promises","add","async","result","order","triggerDownload","url","hiddenElement","document","createElement","download","href","click","downloadNodes","secret","Math","random","toString","substring","generateUrl","files","JSON","stringify","basename","isDownloadable","READ","_node$attributes$shar","_shareAttributes$find","shareAttributes","parse","downloadAttribute","find","attribute","scope","key","_node$root","root","startsWith","fill","UPDATE","path","link","generateOcsUrl","_getCurrentUser","post","uid","getCurrentUser","location","host","encodePath","data","ocs","token","showError","openLocalClient","shouldFavorite","favorite","favoriteNode","willFavorite","tags","TAG_FAVORITE","dirname","Vue","StarSvg","_node$root$startsWith","NONE","MoveCopyAction","canMove","reduce","min","ALL","canCopy","_node$attributes","canDownload","rootPath","defaultRootUrl","generateRemoteUrl","getClient","rootUrl","client","createClient","setHeaders","requesttoken","onRequestTokenUpdate","getRequestToken","getPatcher","patch","options","headers","method","fetch","hashCode","str","hash","charCodeAt","resultToNode","userId","Error","props","davParsePermissions","owner","String","filename","nodeData","fileid","mtime","Date","lastmod","mime","size","hasPreview","failed","getContents","controller","AbortController","propfindPayload","davGetDefaultPropfind","CancelablePromise","reject","onCancel","abort","contentsResponse","getDirectoryContents","details","includeSelf","signal","contents","folder","filter","Boolean","getActionForNodes","MOVE_OR_COPY","MOVE","COPY","handleCopyMoveNodeTo","destination","overwrite","NodeStatus","LOADING","copySuffix","index","davGetClient","currentPath","join","davRootPath","destinationPath","target","otherNodes","getUniqueName","n","suffix","ignoreFileExtension","copyFile","stat","davResultToNode","hasConflict","selected","renamed","openConflictPicker","moveFile","AxiosError","_error$response","_error$response2","_error$response3","response","status","message","debug","openFilePickerForAction","fileIDs","filePicker","getFilePickerBuilder","allowDirectories","setFilter","includes","setMimeTypeFilter","setMultiSelect","startAt","setButtonFactory","selection","buttons","dirnames","paths","label","escape","sanitize","icon","CopyIconSvg","callback","FolderMoveSvg","pick","catch","FilePickerClosed","e","displayname","FolderSvg","isDavRessource","OCP","Files","Router","goToRoute","default","DefaultType","HIDDEN","openfile","InformationSvg","_window","_ref","_nodes$0$root","OCA","Sidebar","open","query","forbiddenCharacters","loadState","defineComponent","components","NcButton","NcDialog","NcTextField","defaultName","otherNames","emits","close","localDefaultName","computed","errorMessage","isUniqueName","uniqueName","watch","$nextTick","focusInput","mounted","methods","_this$$refs$input","_this$$refs$input$foc","$refs","input","focus","onCreate","$emit","onClose","state","checkInputValidity","_this$localDefaultNam","_this$localDefaultNam2","newName","trim","isFileNameValid","setCustomValidity","title","reportValidity","trimmedName","char","indexOf","match","config","blacklist_files_regex","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","_c","_self","_setupProxy","attrs","scopedSlots","_u","_v","_s","proxy","$event","preventDefault","ref","staticClass","newNodeName","folderContent","labels","contentNames","spawnDialog","NewNodeDialog","folderName","entry","CREATE","handler","content","_getCurrentUser2","_context$attributes","_context$attributes2","_context$attributes3","encodeURIComponent","Overwrite","parseInt","createNewFolder","showSuccess","templatesPath","directory","templatePath","copySystemTemplates","info","templates_path","initTemplatesFolder","removeNewFileMenuEntry","TemplatePickerVue","defineAsyncComponent","TemplatePicker","getTemplatePicker","mountingPoint","body","appendChild","render","h","parent","picker","el","_rootResponse","reportPayload","davGetFavoritesReport","rootResponse","generateFavoriteFolderView","View","generateIdFromPath","params","columns","userConfig","show_hidden","crop_image_previews","sort_favorites_first","sort_folders_first","grid_view","pinia","createPinia","lastTwoWeeksTimestamp","round","now","currUserID","isPersonalFile","mountType","registerFileAction","deleteAction","downloadAction","editLocallyAction","favoriteAction","moveOrCopyAction","openFolderAction","openInFilesAction","renameAction","sidebarAction","viewInFolderAction","addNewFileMenuEntry","newFolderEntry","newTemplatesFolder","forEach","provider","app","iconClass","templatePicker","extension","favoriteFolders","favoriteFoldersViews","Navigation","getNavigation","register","caption","emptyTitle","emptyCaption","subscribe","addToFavorites","_node$root2","removePathFromFavorites","updateNodeFromFavorites","updateAndSortViews","sort","a","b","localeCompare","getLanguage","ignorePunctuation","newFavoriteFolder","findIndex","splice","remove","favoriteFolder","registerFavoritesView","defaultSortKey","store","userConfigStore","defineStore","actions","onUpdate","value","update","put","_initialized","useUserConfigStore","davGetRecentSearch","deep","davRemoteURL","r","split","getFiles","then","c","navigator","addEventListener","noRewrite","registration","serviceWorker","registerDavProperty","nc","___CSS_LOADER_EXPORT___","def","x","d","RC","max","autostart","ignoreSameProgress","rate","lastTimestamp","lastProgress","historyTimeConstant","previousOutput","dt","start","report","progress","timestamp","deltaTimestamp","currentRate","reset","estimate","Infinity","estimatedTime","CancelError","constructor","reason","super","isCanceled","promiseState","freeze","pending","Symbol","canceled","resolved","rejected","PCancelable","userFunction","arguments_","executor","description","defineProperties","shouldReject","get","set","boolean","onFulfilled","onRejected","onFinally","finally","setPrototypeOf","TimeoutError","AbortError","getDOMException","globalThis","DOMException","getAbortedReason","PriorityQueue","enqueue","run","element","priority","array","comparator","first","step","trunc","it","lowerBound","dequeue","item","shift","timeout","carryoverConcurrencyCount","intervalCap","Number","POSITIVE_INFINITY","interval","autoStart","queueClass","isFinite","throwOnTimeout","delay","setTimeout","clearInterval","canInitializeInterval","job","setInterval","newConcurrency","_resolve","function_","throwIfAborted","operation","promise","milliseconds","fallback","customTimers","clearTimeout","timer","cancelablePromise","sign","aborted","timeoutError","clear","pTimeout","race","addAll","functions","pause","onEmpty","onSizeLessThan","limit","onIdle","sizeBy","isPaused","A","s","o","Blob","Destination","request","onUploadProgress","B","appConfig","max_chunk_size","ceil","INITIALIZED","UPLOADING","ASSEMBLING","FINISHED","CANCELLED","FAILED","ns","_source","_file","_isChunked","_chunks","_size","_uploaded","_startTime","_status","_controller","_response","file","isChunked","chunks","startTime","uploaded","getTime","g","setUid","I","IDLE","PAUSED","N","_destinationFolder","_isPublic","_uploadQueue","_jobQueue","_queueSize","_queueProgress","_queueStatus","_notifiers","isPublic","maxChunksSize","updateStats","addNotifier","upload","replace","origin","URL","f","T","U","p","L","m","bytes","lastModified","floor","ts","w","D","W","O","y","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","S","beforeCreate","ms","fillColor","_b","role","$attrs","width","height","viewBox","_e","fs","xs","R","detectLocale","locale","json","charset","Language","translations","msgid","comments","translator","msgstr","Add","paused","msgid_plural","extracted","Cancel","Continue","New","addTranslation","C","Gs","ngettext","bind","u","gettext","Ls","extend","NcActionButton","NcActions","NcIconSvgWrapper","NcProgressBar","Plus","Upload","accept","disabled","multiple","addLabel","cancelLabel","uploadLabel","progressLabel","progressTimeId","eta","timeLeft","newFileMenuEntries","uploadManager","M","totalQueueSize","uploadedQueueSize","hasFailure","isUploading","isAssembling","buttonName","setDestination","updateStatus","beforeMount","onUploadCompletion","onClick","onPick","Us","ys","form","setSeconds","toISOString","time","seconds","class","decorative","_l","svg","directives","rawName","expression","change","k","querySelector","conflicts","submit","$destroy","$el","parentNode","removeChild","$mount","Axios","CanceledError","isCancel","CancelToken","VERSION","isAxiosError","spread","toFormData","AxiosHeaders","HttpStatusCode","formToJSON","getAdapter","mergeConfig","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","chunkIds","notFulfilled","fulfilled","keys","getter","__esModule","definition","defineProperty","enumerable","chunkId","Function","obj","prop","done","script","needAttach","scripts","getElementsByTagName","getAttribute","setAttribute","src","onScriptComplete","prev","onerror","onload","doneFns","head","toStringTag","nmd","children","scriptUrl","importScripts","currentScript","test","baseURI","self","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/files-main.js b/dist/files-main.js index 54510323ae1e2..50c8e98582fe4 100644 --- a/dist/files-main.js +++ b/dist/files-main.js @@ -1,3 +1,3 @@ /*! For license information please see files-main.js.LICENSE.txt */ -(()=>{var e,n,s,i={9052:t=>{"use strict";var e=Object.prototype.hasOwnProperty,n="~";function s(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function r(t,e,s,r,a){if("function"!=typeof s)throw new TypeError("The listener must be a function");var o=new i(s,r||t,a),l=n?n+e:e;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],o]:t._events[l].push(o):(t._events[l]=o,t._eventsCount++),t}function a(t,e){0==--t._eventsCount?t._events=new s:delete t._events[e]}function o(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(n=!1)),o.prototype.eventNames=function(){var t,s,i=[];if(0===this._eventsCount)return i;for(s in t=this._events)e.call(t,s)&&i.push(n?s.slice(1):s);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},o.prototype.listeners=function(t){var e=n?n+t:t,s=this._events[e];if(!s)return[];if(s.fn)return[s.fn];for(var i=0,r=s.length,a=new Array(r);i{"use strict";var i={};s.r(i),s.d(i,{exclude:()=>I,extract:()=>k,parse:()=>L,parseUrl:()=>N,pick:()=>P,stringify:()=>E,stringifyUrl:()=>F});var r=s(65899),a=s(53127),o=s(21777),l=s(85471);const c=(0,r.Ey)();var d=s(63814);const u="%[a-f0-9]{2}",m=new RegExp("("+u+")|([^%]+?)","gi"),p=new RegExp("("+u+")+","gi");function f(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(1===t.length)return t;e=e||1;const n=t.slice(0,e),s=t.slice(e);return Array.prototype.concat.call([],f(n),f(s))}function g(t){try{return decodeURIComponent(t)}catch{let e=t.match(m)||[];for(let n=1;nnull==t,y=t=>encodeURIComponent(t).replaceAll(/[!'()*]/g,(t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`)),A=Symbol("encodeFragmentIdentifier");function b(t){if("string"!=typeof t||1!==t.length)throw new TypeError("arrayFormatSeparator must be single character string")}function C(t,e){return e.encode?e.strict?y(t):encodeURIComponent(t):t}function _(t,e){return e.decode?function(t){if("string"!=typeof t)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof t+"`");try{return decodeURIComponent(t)}catch{return function(t){const e={"%FE%FF":"��","%FF%FE":"��"};let n=p.exec(t);for(;n;){try{e[n[0]]=decodeURIComponent(n[0])}catch{const t=g(n[0]);t!==n[0]&&(e[n[0]]=t)}n=p.exec(t)}e["%C2"]="�";const s=Object.keys(e);for(const n of s)t=t.replace(new RegExp(n,"g"),e[n]);return t}(t)}}(t):t}function T(t){return Array.isArray(t)?t.sort():"object"==typeof t?T(Object.keys(t)).sort(((t,e)=>Number(t)-Number(e))).map((e=>t[e])):t}function x(t){const e=t.indexOf("#");return-1!==e&&(t=t.slice(0,e)),t}function S(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&"string"==typeof t&&""!==t.trim()?t=Number(t):!e.parseBooleans||null===t||"true"!==t.toLowerCase()&&"false"!==t.toLowerCase()||(t="true"===t.toLowerCase()),t}function k(t){const e=(t=x(t)).indexOf("?");return-1===e?"":t.slice(e+1)}function L(t,e){b((e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e}).arrayFormatSeparator);const n=function(t){let e;switch(t.arrayFormat){case"index":return(t,n,s)=>{e=/\[(\d*)]$/.exec(t),t=t.replace(/\[\d*]$/,""),e?(void 0===s[t]&&(s[t]={}),s[t][e[1]]=n):s[t]=n};case"bracket":return(t,n,s)=>{e=/(\[])$/.exec(t),t=t.replace(/\[]$/,""),e?void 0!==s[t]?s[t]=[...s[t],n]:s[t]=[n]:s[t]=n};case"colon-list-separator":return(t,n,s)=>{e=/(:list)$/.exec(t),t=t.replace(/:list$/,""),e?void 0!==s[t]?s[t]=[...s[t],n]:s[t]=[n]:s[t]=n};case"comma":case"separator":return(e,n,s)=>{const i="string"==typeof n&&n.includes(t.arrayFormatSeparator),r="string"==typeof n&&!i&&_(n,t).includes(t.arrayFormatSeparator);n=r?_(n,t):n;const a=i||r?n.split(t.arrayFormatSeparator).map((e=>_(e,t))):null===n?n:_(n,t);s[e]=a};case"bracket-separator":return(e,n,s)=>{const i=/(\[])$/.test(e);if(e=e.replace(/\[]$/,""),!i)return void(s[e]=n?_(n,t):n);const r=null===n?[]:n.split(t.arrayFormatSeparator).map((e=>_(e,t)));void 0!==s[e]?s[e]=[...s[e],...r]:s[e]=r};default:return(t,e,n)=>{void 0!==n[t]?n[t]=[...[n[t]].flat(),e]:n[t]=e}}}(e),s=Object.create(null);if("string"!=typeof t)return s;if(!(t=t.trim().replace(/^[?#&]/,"")))return s;for(const i of t.split("&")){if(""===i)continue;const t=e.decode?i.replaceAll("+"," "):i;let[r,a]=h(t,"=");void 0===r&&(r=t),a=void 0===a?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?a:_(a,e),n(_(r,e),a,s)}for(const[t,n]of Object.entries(s))if("object"==typeof n&&null!==n)for(const[t,s]of Object.entries(n))n[t]=S(s,e);else s[t]=S(n,e);return!1===e.sort?s:(!0===e.sort?Object.keys(s).sort():Object.keys(s).sort(e.sort)).reduce(((t,e)=>{const n=s[e];return t[e]=Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?T(n):n,t}),Object.create(null))}function E(t,e){if(!t)return"";b((e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e}).arrayFormatSeparator);const n=n=>e.skipNull&&w(t[n])||e.skipEmptyString&&""===t[n],s=function(t){switch(t.arrayFormat){case"index":return e=>(n,s)=>{const i=n.length;return void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[C(e,t),"[",i,"]"].join("")]:[...n,[C(e,t),"[",C(i,t),"]=",C(s,t)].join("")]};case"bracket":return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[C(e,t),"[]"].join("")]:[...n,[C(e,t),"[]=",C(s,t)].join("")];case"colon-list-separator":return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[C(e,t),":list="].join("")]:[...n,[C(e,t),":list=",C(s,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e="bracket-separator"===t.arrayFormat?"[]=":"=";return n=>(s,i)=>void 0===i||t.skipNull&&null===i||t.skipEmptyString&&""===i?s:(i=null===i?"":i,0===s.length?[[C(n,t),e,C(i,t)].join("")]:[[s,C(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,C(e,t)]:[...n,[C(e,t),"=",C(s,t)].join("")]}}(e),i={};for(const[e,s]of Object.entries(t))n(e)||(i[e]=s);const r=Object.keys(i);return!1!==e.sort&&r.sort(e.sort),r.map((n=>{const i=t[n];return void 0===i?"":null===i?C(n,e):Array.isArray(i)?0===i.length&&"bracket-separator"===e.arrayFormat?C(n,e)+"[]":i.reduce(s(n),[]).join("&"):C(n,e)+"="+C(i,e)})).filter((t=>t.length>0)).join("&")}function N(t,e){e={decode:!0,...e};let[n,s]=h(t,"#");return void 0===n&&(n=t),{url:n?.split("?")?.[0]??"",query:L(k(t),e),...e&&e.parseFragmentIdentifier&&s?{fragmentIdentifier:_(s,e)}:{}}}function F(t,e){e={encode:!0,strict:!0,[A]:!0,...e};const n=x(t.url).split("?")[0]||"";let s=E({...L(k(t.url),{sort:!1}),...t.query},e);s&&=`?${s}`;let i=function(t){let e="";const n=t.indexOf("#");return-1!==n&&(e=t.slice(n)),e}(t.url);if("string"==typeof t.fragmentIdentifier){const s=new URL(n);s.hash=t.fragmentIdentifier,i=e[A]?s.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${i}`}function P(t,e,n){n={parseFragmentIdentifier:!0,[A]:!1,...n};const{url:s,query:i,fragmentIdentifier:r}=N(t,n);return F({url:s,query:v(i,e),fragmentIdentifier:r},n)}function I(t,e,n){return P(t,Array.isArray(e)?t=>!e.includes(t):(t,n)=>!e(t,n),n)}const D=i;var O=s(40173);l.Ay.use(O.Ay);const U=O.Ay.prototype.push;O.Ay.prototype.push=function(t,e,n){return e||n?U.call(this,t,e,n):U.call(this,t).catch((t=>t))};const B=new O.Ay({mode:"history",base:(0,d.Jv)("/apps/files"),linkActiveClass:"active",routes:[{path:"/",redirect:{name:"filelist",params:{view:"files"}}},{path:"/:view/:fileid(\\d+)?",name:"filelist",props:!0}],stringifyQuery(t){const e=D.stringify(t).replace(/%2F/gim,"/");return e?"?"+e:""}});function M(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var j=s(96763);var R=s(22378),z=s(61338),V=s(53334);const q={name:"CogIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var H=s(14486);const W=(0,H.A)(q,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon cog-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var $=s(42530),G=s(52439),Y=s(6695);function K(t,e,n){var s,i=n||{},r=i.noTrailing,a=void 0!==r&&r,o=i.noLeading,l=void 0!==o&&o,c=i.debounceMode,d=void 0===c?void 0:c,u=!1,m=0;function p(){s&&clearTimeout(s)}function f(){for(var n=arguments.length,i=new Array(n),r=0;rt?l?(m=Date.now(),a||(s=setTimeout(d?g:f,t))):f():!0!==a&&(s=setTimeout(d?g:f,void 0===d?t-c:t)))}return f.cancel=function(t){var e=(t||{}).upcomingOnly,n=void 0!==e&&e;p(),u=!n},f}var Q=s(32981),J=s(85168),X=s(26287);const Z={name:"ChartPieIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},tt=(0,H.A)(Z,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon chart-pie-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var et=s(95101);const nt=(0,s(53529).YK)().setApp("files").detectUser().build(),st={name:"NavigationQuota",components:{ChartPie:tt,NcAppNavigationItem:G.A,NcProgressBar:et.A},data:()=>({loadingStorageStats:!1,storageStats:(0,Q.C)("files","storageStats",null)}),computed:{storageStatsTitle(){var t,e,n;const s=(0,a.v7)(null===(t=this.storageStats)||void 0===t?void 0:t.used,!1,!1),i=(0,a.v7)(null===(e=this.storageStats)||void 0===e?void 0:e.quota,!1,!1);return(null===(n=this.storageStats)||void 0===n?void 0:n.quota)<0?this.t("files","{usedQuotaByte} used",{usedQuotaByte:s}):this.t("files","{used} of {quota} used",{used:s,quota:i})},storageStatsTooltip(){return this.storageStats.relative?this.t("files","{relative}% used",this.storageStats):""}},beforeMount(){setInterval(this.throttleUpdateStorageStats,6e4),(0,z.B1)("files:node:created",this.throttleUpdateStorageStats),(0,z.B1)("files:node:deleted",this.throttleUpdateStorageStats),(0,z.B1)("files:node:moved",this.throttleUpdateStorageStats),(0,z.B1)("files:node:updated",this.throttleUpdateStorageStats)},mounted(){var t,e;(null===(t=this.storageStats)||void 0===t?void 0:t.quota)>0&&(null===(e=this.storageStats)||void 0===e?void 0:e.free)<=0&&this.showStorageFullWarning()},methods:{debounceUpdateStorageStats:(it={}.atBegin,K(200,(function(t){this.updateStorageStats(t)}),{debounceMode:!1!==(void 0!==it&&it)})),throttleUpdateStorageStats:K(1e3,(function(t){this.updateStorageStats(t)})),async updateStorageStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!this.loadingStorageStats){this.loadingStorageStats=!0;try{var n,s,i,r;const t=await X.A.get((0,d.Jv)("/apps/files/api/v1/stats"));if(null==t||null===(n=t.data)||void 0===n||!n.data)throw new Error("Invalid storage stats");(null===(s=this.storageStats)||void 0===s?void 0:s.free)>0&&(null===(i=t.data.data)||void 0===i?void 0:i.free)<=0&&(null===(r=t.data.data)||void 0===r?void 0:r.quota)>0&&this.showStorageFullWarning(),this.storageStats=t.data.data}catch(n){nt.error("Could not refresh storage stats",{error:n}),e&&(0,J.Qg)(t("files","Could not refresh storage stats"))}finally{this.loadingStorageStats=!1}}},showStorageFullWarning(){(0,J.Qg)(this.t("files","Your storage is full, files can not be updated or synced anymore!"))},t:V.Tl}};var it,rt=s(85072),at=s.n(rt),ot=s(97825),lt=s.n(ot),ct=s(77659),dt=s.n(ct),ut=s(55056),mt=s.n(ut),pt=s(10540),ft=s.n(pt),gt=s(41113),ht=s.n(gt),vt=s(33149),wt={};wt.styleTagTransform=ht(),wt.setAttributes=mt(),wt.insert=dt().bind(null,"head"),wt.domAPI=lt(),wt.insertStyleElement=ft(),at()(vt.A,wt),vt.A&&vt.A.locals&&vt.A.locals;const yt=(0,H.A)(st,(function(){var t=this,e=t._self._c;return t.storageStats?e("NcAppNavigationItem",{staticClass:"app-navigation-entry__settings-quota",class:{"app-navigation-entry__settings-quota--not-unlimited":t.storageStats.quota>=0},attrs:{"aria-label":t.t("files","Storage informations"),loading:t.loadingStorageStats,name:t.storageStatsTitle,title:t.storageStatsTooltip,"data-cy-files-navigation-settings-quota":""},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.debounceUpdateStorageStats.apply(null,arguments)}}},[e("ChartPie",{attrs:{slot:"icon",size:20},slot:"icon"}),t._v(" "),t.storageStats.quota>=0?e("NcProgressBar",{attrs:{slot:"extra",error:t.storageStats.relative>80,value:Math.min(t.storageStats.relative,100)},slot:"extra"}):t._e()],1):t._e()}),[],!1,null,"063ed938",null).exports;var At=s(39033),bt=s(35845),Ct=s(32073);const _t={name:"ClipboardIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Tt=(0,H.A)(_t,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clipboard-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var xt=s(8369);const St={name:"Setting",props:{el:{type:Function,required:!0}},mounted(){this.$el.appendChild(this.el())}},kt=(0,H.A)(St,(function(){return(0,this._self._c)("div")}),[],!1,null,null,null).exports,Lt=(0,Q.C)("files","config",{show_hidden:!1,crop_image_previews:!0,sort_favorites_first:!0,sort_folders_first:!0,grid_view:!1}),Et=function(){const t=(0,r.nY)("userconfig",{state:()=>({userConfig:Lt}),actions:{onUpdate(t,e){l.Ay.set(this.userConfig,t,e)},async update(t,e){await X.A.put((0,d.Jv)("/apps/files/api/v1/config/"+t),{value:e}),(0,z.Ic)("files:config:updated",{key:t,value:e})}}})(...arguments);return t._initialized||((0,z.B1)("files:config:updated",(function(e){let{key:n,value:s}=e;t.onUpdate(n,s)})),t._initialized=!0),t},Nt={name:"Settings",components:{Clipboard:Tt,NcAppSettingsDialog:At.N,NcAppSettingsSection:bt.A,NcCheckboxRadioSwitch:Ct.A,NcInputField:xt.A,Setting:kt},props:{open:{type:Boolean,default:!1}},setup:()=>({userConfigStore:Et()}),data(){var t,e,n;return{settings:(null===(t=window.OCA)||void 0===t||null===(t=t.Files)||void 0===t||null===(t=t.Settings)||void 0===t?void 0:t.settings)||[],webdavUrl:(0,d.dC)("dav/files/"+encodeURIComponent(null===(e=(0,o.HW)())||void 0===e?void 0:e.uid)),webdavDocs:"https://docs.nextcloud.com/server/stable/go.php?to=user-webdav",appPasswordUrl:(0,d.Jv)("/settings/user/security#generate-app-token-section"),webdavUrlCopied:!1,enableGridView:null===(n=(0,Q.C)("core","config",[])["enable_non-accessible_features"])||void 0===n||n}},computed:{userConfig(){return this.userConfigStore.userConfig}},beforeMount(){this.settings.forEach((t=>t.open()))},beforeDestroy(){this.settings.forEach((t=>t.close()))},methods:{onClose(){this.$emit("close")},setConfig(t,e){this.userConfigStore.update(t,e)},async copyCloudId(){document.querySelector("input#webdav-url-input").select(),navigator.clipboard?(await navigator.clipboard.writeText(this.webdavUrl),this.webdavUrlCopied=!0,(0,J.Te)(t("files","WebDAV URL copied to clipboard")),setTimeout((()=>{this.webdavUrlCopied=!1}),5e3)):(0,J.Qg)(t("files","Clipboard is not available"))},t:V.Tl}},Ft=Nt;var Pt=s(60335),It={};It.styleTagTransform=ht(),It.setAttributes=mt(),It.insert=dt().bind(null,"head"),It.domAPI=lt(),It.insertStyleElement=ft(),at()(Pt.A,It),Pt.A&&Pt.A.locals&&Pt.A.locals;const Dt=(0,H.A)(Ft,(function(){var t=this,e=t._self._c;return e("NcAppSettingsDialog",{attrs:{open:t.open,"show-navigation":!0,name:t.t("files","Files settings")},on:{"update:open":t.onClose}},[e("NcAppSettingsSection",{attrs:{id:"settings",name:t.t("files","Files settings")}},[e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-settings-setting":"sort_favorites_first",checked:t.userConfig.sort_favorites_first},on:{"update:checked":function(e){return t.setConfig("sort_favorites_first",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Sort favorites first"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-settings-setting":"sort_folders_first",checked:t.userConfig.sort_folders_first},on:{"update:checked":function(e){return t.setConfig("sort_folders_first",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Sort folders before files"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-settings-setting":"show_hidden",checked:t.userConfig.show_hidden},on:{"update:checked":function(e){return t.setConfig("show_hidden",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Show hidden files"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-settings-setting":"crop_image_previews",checked:t.userConfig.crop_image_previews},on:{"update:checked":function(e){return t.setConfig("crop_image_previews",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Crop image previews"))+"\n\t\t")]),t._v(" "),t.enableGridView?e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-settings-setting":"grid_view",checked:t.userConfig.grid_view},on:{"update:checked":function(e){return t.setConfig("grid_view",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Enable the grid view"))+"\n\t\t")]):t._e()],1),t._v(" "),0!==t.settings.length?e("NcAppSettingsSection",{attrs:{id:"more-settings",name:t.t("files","Additional settings")}},[t._l(t.settings,(function(t){return[e("Setting",{key:t.name,attrs:{el:t.el}})]}))],2):t._e(),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"webdav",name:t.t("files","WebDAV")}},[e("NcInputField",{attrs:{id:"webdav-url-input",label:t.t("files","WebDAV URL"),"show-trailing-button":!0,success:t.webdavUrlCopied,"trailing-button-label":t.t("files","Copy to clipboard"),value:t.webdavUrl,readonly:"readonly",type:"url"},on:{focus:function(t){return t.target.select()},"trailing-button-click":t.copyCloudId},scopedSlots:t._u([{key:"trailing-button-icon",fn:function(){return[e("Clipboard",{attrs:{size:20}})]},proxy:!0}])}),t._v(" "),e("em",[e("a",{staticClass:"setting-link",attrs:{href:t.webdavDocs,target:"_blank",rel:"noreferrer noopener"}},[t._v("\n\t\t\t\t"+t._s(t.t("files","Use this address to access your Files via WebDAV"))+" ↗\n\t\t\t")])]),t._v(" "),e("br"),t._v(" "),e("em",[e("a",{staticClass:"setting-link",attrs:{href:t.appPasswordUrl}},[t._v("\n\t\t\t\t"+t._s(t.t("files","If you have enabled 2FA, you must create and use a new app password by clicking here."))+" ↗\n\t\t\t")])])],1)],1)}),[],!1,null,"00f09e69",null).exports;function Ot(){const t=(0,a.bh)(),e=(0,l.IJ)(t.views),n=(0,l.IJ)(t.active);function s(t){n.value=t.detail}function i(){e.value=t.views}return(0,l.sV)((()=>{t.addEventListener("update",i),t.addEventListener("updateActive",s)})),(0,l.hi)((()=>{t.removeEventListener("update",i),t.removeEventListener("updateActive",s)})),{currentView:n,views:e}}const Ut=(0,Q.C)("files","viewConfigs",{}),Bt=function(){const t=(0,r.nY)("viewconfig",{state:()=>({viewConfig:Ut}),getters:{getConfig:t=>e=>t.viewConfig[e]||{}},actions:{onUpdate(t,e,n){this.viewConfig[t]||l.Ay.set(this.viewConfig,t,{}),l.Ay.set(this.viewConfig[t],e,n)},async update(t,e,n){X.A.put((0,d.Jv)("/apps/files/api/v1/views/".concat(t,"/").concat(e)),{value:n}),(0,z.Ic)("files:viewconfig:updated",{view:t,key:e,value:n})},setSortingBy(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"basename",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"files";this.update(e,"sorting_mode",t),this.update(e,"sorting_direction","asc")},toggleSortingDirection(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"files";const e="asc"===(this.getConfig(t)||{sorting_direction:"asc"}).sorting_direction?"desc":"asc";this.update(t,"sorting_direction",e)}}}),e=t(...arguments);return e._initialized||((0,z.B1)("files:viewconfig:updated",(function(t){let{view:n,key:s,value:i}=t;e.onUpdate(n,s,i)})),e._initialized=!0),e},Mt=(0,l.pM)({name:"Navigation",components:{IconCog:W,NavigationQuota:yt,NcAppNavigation:$.A,NcAppNavigationItem:G.A,NcIconSvgWrapper:Y.A,SettingsModal:Dt},setup(){const t=Bt(),{currentView:e,views:n}=Ot();return{currentView:e,views:n,viewConfigStore:t}},data:()=>({settingsOpened:!1}),computed:{currentViewId(){var t;return(null===(t=this.$route)||void 0===t||null===(t=t.params)||void 0===t?void 0:t.view)||"files"},parentViews(){return this.views.filter((t=>!t.parent)).sort(((t,e)=>t.order-e.order))},childViews(){return this.views.filter((t=>!!t.parent)).reduce(((t,e)=>(t[e.parent]=[...t[e.parent]||[],e],t[e.parent].sort(((t,e)=>t.order-e.order)),t)),{})}},watch:{currentViewId(t,e){var n;if(this.currentViewId!==(null===(n=this.currentView)||void 0===n?void 0:n.id)){const n=this.views.find((t=>{let{id:e}=t;return e===this.currentViewId}));this.showView(n),nt.debug("Navigation changed from ".concat(e," to ").concat(t),{to:n})}}},beforeMount(){const t=this.views.find((t=>{let{id:e}=t;return e===this.currentViewId}));this.showView(t),nt.debug("Navigation mounted. Showing requested view",{view:t})},methods:{t:V.Tl,useExactRouteMatching(t){var e;return(null===(e=this.childViews[t.id])||void 0===e?void 0:e.length)>0},showView(t){var e,n;null===(e=window.OCA)||void 0===e||null===(e=e.Files)||void 0===e||null===(e=e.Sidebar)||void 0===e||null===(n=e.close)||void 0===n||n.call(e),this.$navigation.setActive(t),(0,z.Ic)("files:navigation:changed",t)},onToggleExpand(t){const e=this.isExpanded(t);t.expanded=!e,this.viewConfigStore.update(t.id,"expanded",!e)},isExpanded(t){var e;return"boolean"==typeof(null===(e=this.viewConfigStore.getConfig(t.id))||void 0===e?void 0:e.expanded)?!0===this.viewConfigStore.getConfig(t.id).expanded:!0===t.expanded},generateToNavigation(t){if(t.params){const{dir:e}=t.params;return{name:"filelist",params:t.params,query:{dir:e}}}return{name:"filelist",params:{view:t.id}}},openSettings(){this.settingsOpened=!0},onSettingsClose(){this.settingsOpened=!1}}});var jt=s(90840),Rt={};Rt.styleTagTransform=ht(),Rt.setAttributes=mt(),Rt.insert=dt().bind(null,"head"),Rt.domAPI=lt(),Rt.insertStyleElement=ft(),at()(jt.A,Rt),jt.A&&jt.A.locals&&jt.A.locals;const zt=(0,H.A)(Mt,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcAppNavigation",{attrs:{"data-cy-files-navigation":"","aria-label":t.t("files","Files")},scopedSlots:t._u([{key:"list",fn:function(){return t._l(t.parentViews,(function(n){return e("NcAppNavigationItem",{key:n.id,attrs:{"allow-collapse":!0,"data-cy-files-navigation-item":n.id,exact:t.useExactRouteMatching(n),icon:n.iconClass,name:n.name,open:t.isExpanded(n),pinned:n.sticky,to:t.generateToNavigation(n)},on:{"update:open":function(e){return t.onToggleExpand(n)}}},[n.icon?e("NcIconSvgWrapper",{attrs:{slot:"icon",svg:n.icon},slot:"icon"}):t._e(),t._v(" "),t._l(t.childViews[n.id],(function(n){return e("NcAppNavigationItem",{key:n.id,attrs:{"data-cy-files-navigation-item":n.id,"exact-path":!0,icon:n.iconClass,name:n.name,to:t.generateToNavigation(n)}},[n.icon?e("NcIconSvgWrapper",{attrs:{slot:"icon",svg:n.icon},slot:"icon"}):t._e()],1)}))],2)}))},proxy:!0},{key:"footer",fn:function(){return[e("ul",{staticClass:"app-navigation-entry__settings"},[e("NavigationQuota"),t._v(" "),e("NcAppNavigationItem",{attrs:{"aria-label":t.t("files","Open the files app settings"),name:t.t("files","Files settings"),"data-cy-files-navigation-settings-button":""},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.openSettings.apply(null,arguments)}}},[e("IconCog",{attrs:{slot:"icon",size:20},slot:"icon"})],1)],1)]},proxy:!0}])},[t._v(" "),t._v(" "),e("SettingsModal",{attrs:{open:t.settingsOpened,"data-cy-files-navigation-settings":""},on:{close:t.onSettingsClose}})],1)}),[],!1,null,"7387953c",null).exports;var Vt=s(87485),qt=s(77905),Ht=s(63642),Wt=s(43627),$t=s(38805),Gt=s(89979);const Yt={name:"FormatListBulletedSquareIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Kt=(0,H.A)(Yt,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon format-list-bulleted-square-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Qt=s(18195),Jt=s(54332),Xt=s(34196),Zt=s(84237),te=s(27577);const ee={name:"AccountPlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ne=(0,H.A)(ee,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-plus-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,se={name:"ViewGridIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ie=(0,H.A)(se,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon view-grid-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var re=s(49981);const ae=new a.hY({id:"details",displayName:()=>(0,V.Tl)("files","Open details"),iconSvgInline:()=>re,enabled:t=>{var e,n,s;return 1===t.length&&!!t[0]&&!(null===(e=window)||void 0===e||null===(e=e.OCA)||void 0===e||null===(e=e.Files)||void 0===e||!e.Sidebar)&&null!==(n=(null===(s=t[0].root)||void 0===s?void 0:s.startsWith("/files/"))&&t[0].permissions!==a.aX.NONE)&&void 0!==n&&n},async exec(t,e,n){try{return await window.OCA.Files.Sidebar.open(t.path),window.OCP.Files.Router.goToRoute(null,{view:e.id,fileid:t.fileid},{...window.OCP.Files.Router.query,dir:n},!0),null}catch(t){return nt.error("Error while opening sidebar",{error:t}),!1}},order:-50});var oe,le=s(44719);const ce="/files/".concat(null===(oe=(0,o.HW)())||void 0===oe?void 0:oe.uid),de=(0,d.dC)("dav"+ce),ue=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:de;const e=(0,le.UU)(t),n=t=>{null==e||e.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:null!=t?t:""})};return(0,o.zo)(n),n((0,o.do)()),(0,le.Gu)().patch("fetch",((t,e)=>{const n=e.headers;return null!=n&&n.method&&(e.method=n.method,delete n.method),fetch(t,e)})),e},me=ue(),pe=async t=>{const e=(0,a.VL)(),n=await me.stat("".concat(a.lJ).concat(t.path),{details:!0,data:e});return(0,a.Al)(n.data)},fe=function(){const t=(0,r.nY)("files",{state:()=>({files:{},roots:{}}),getters:{getNode:t=>e=>t.files[e],getNodes:t=>e=>e.map((e=>t.files[e])).filter(Boolean),getNodesById:t=>e=>Object.values(t.files).filter((t=>t.fileid===e)),getRoot:t=>e=>t.roots[e]},actions:{updateNodes(t){const e=t.reduce(((t,e)=>e.fileid?(t[e.source]=e,t):(nt.error("Trying to update/set a node without fileid",{node:e}),t)),{});l.Ay.set(this,"files",{...this.files,...e})},deleteNodes(t){t.forEach((t=>{t.source&&l.Ay.delete(this.files,t.source)}))},setRoot(t){let{service:e,root:n}=t;l.Ay.set(this.roots,e,n)},onDeletedNode(t){this.deleteNodes([t])},onCreatedNode(t){this.updateNodes([t])},async onUpdatedNode(t){if(!t.fileid)return void nt.error("Trying to update/set a node without fileid",{node:t});const e=this.getNodesById(t.fileid);if(e.length>1)return await Promise.all(e.map(pe)).then(this.updateNodes),void nt.debug(e.length+" nodes updated in store",{fileid:t.fileid});t.source!==e[0].source?pe(t).then((t=>this.updateNodes([t]))):this.updateNodes([t])}}})(...arguments);return t._initialized||((0,z.B1)("files:node:created",t.onCreatedNode),(0,z.B1)("files:node:deleted",t.onDeletedNode),(0,z.B1)("files:node:updated",t.onUpdatedNode),t._initialized=!0),t},ge=function(){const t=fe(...arguments),e=(0,r.nY)("paths",{state:()=>({paths:{}}),getters:{getPath:t=>(e,n)=>{if(t.paths[e])return t.paths[e][n]}},actions:{addPath(t){this.paths[t.service]||l.Ay.set(this.paths,t.service,{}),l.Ay.set(this.paths[t.service],t.path,t.source)},onCreatedNode(e){var n;const s=(null===(n=(0,a.bh)())||void 0===n||null===(n=n.active)||void 0===n?void 0:n.id)||"files";if(e.fileid){if(e.type===a.pt.Folder&&this.addPath({service:s,path:e.path,source:e.source}),"/"===e.dirname){const n=t.getRoot(s);return n._children||l.Ay.set(n,"_children",[]),void n._children.push(e.source)}if(this.paths[s][e.dirname]){const n=this.paths[s][e.dirname],i=t.getNode(n);return nt.debug("Path already exists, updating children",{parentFolder:i,node:e}),i?(i._children||l.Ay.set(i,"_children",[]),void i._children.push(e.source)):void nt.error("Parent folder not found",{parentSource:n})}nt.debug("Parent path does not exists, skipping children update",{node:e})}else nt.error("Node has no fileid",{node:e})}}})(...arguments);return e._initialized||((0,z.B1)("files:node:created",e.onCreatedNode),e._initialized=!0),e},he=(0,r.nY)("selection",{state:()=>({selected:[],lastSelection:[],lastSelectedIndex:null}),actions:{set(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];l.Ay.set(this,"selected",[...new Set(t)])},setLastIndex(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;l.Ay.set(this,"lastSelection",t?this.selected:[]),l.Ay.set(this,"lastSelectedIndex",t)},reset(){l.Ay.set(this,"selected",[]),l.Ay.set(this,"lastSelection",[]),l.Ay.set(this,"lastSelectedIndex",null)}}});let ve;const we=function(){return ve=(0,Ht.g)(),(0,r.nY)("uploader",{state:()=>({queue:ve.queue})})(...arguments)};function ye(t){return t instanceof Date?t.toISOString():String(t)}var Ae=s(51850),be=s(86383),Ce=s(71089),_e=s(96763);class Te extends File{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];var n,s,i;super([],t,{type:"httpd/unix-directory"}),n=this,i=void 0,(s=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(s="_contents"))in n?Object.defineProperty(n,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[s]=i,this._contents=e}set contents(t){this._contents=t}get contents(){return this._contents}get size(){return this._computeDirectorySize(this)}get lastModified(){return 0===this._contents.length?Date.now():this._computeDirectoryMtime(this)}_computeDirectoryMtime(t){return t.contents.reduce(((t,e)=>e.lastModified>t?e.lastModified:t),0)}_computeDirectorySize(t){return t.contents.reduce(((t,e)=>t+e.size),0)}}const xe=async t=>{if(t.isFile)return new Promise(((e,n)=>{t.file(e,n)}));nt.debug("Handling recursive file tree",{entry:t.name});const e=t,n=await Se(e),s=(await Promise.all(n.map(xe))).flat();return new Te(e.name,s)},Se=t=>{const e=t.createReader();return new Promise(((t,n)=>{const s=[],i=()=>{e.readEntries((e=>{e.length?(s.push(...e),i()):t(s)}),(t=>{n(t)}))};i()}))},ke=async t=>{const e=(0,a.H4)();if(!await e.exists(t)){nt.debug("Directory does not exist, creating it",{absolutePath:t}),await e.createDirectory(t,{recursive:!0});const n=await e.stat(t,{details:!0,data:(0,a.VL)()});(0,z.Ic)("files:node:created",(0,a.Al)(n.data))}},Le=async(t,e,n)=>{try{const s=t.filter((t=>n.find((e=>e.basename===(t instanceof File?t.name:t.basename))))).filter(Boolean),i=t.filter((t=>!s.includes(t))),{selected:r,renamed:a}=await(0,Ht.o)(e.path,s,n);return nt.debug("Conflict resolution",{uploads:i,selected:r,renamed:a}),0===r.length&&0===a.length?((0,J.cf)((0,V.Tl)("files","Conflicts resolution skipped")),nt.info("User skipped the conflict resolution"),[]):[...i,...r,...a]}catch(t){_e.error(t),(0,J.Qg)((0,V.Tl)("files","Upload cancelled")),nt.error("User cancelled the upload")}return[]};s(18205);var Ee=s(53110),Ne=s(36882),Fe=s(39285),Pe=s(49264);let Ie;const De=()=>(Ie||(Ie=new Pe.A({concurrency:5})),Ie);var Oe;!function(t){t.MOVE="Move",t.COPY="Copy",t.MOVE_OR_COPY="move-or-copy"}(Oe||(Oe={}));const Ue=t=>0!=(t.reduce(((t,e)=>Math.min(t,e.permissions)),a.aX.ALL)&a.aX.UPDATE),Be=t=>(t=>t.every((t=>{var e,n;return!JSON.parse(null!==(e=null===(n=t.attributes)||void 0===n?void 0:n["share-attributes"])&&void 0!==e?e:"[]").some((t=>"permissions"===t.scope&&!1===t.enabled&&"download"===t.key))})))(t)&&!t.some((t=>t.permissions===a.aX.NONE));var Me=s(36117);const je=function(t){let e=0;for(let n=0;n>>0},Re=ue(),ze=function(t){var e;const n=null===(e=(0,o.HW)())||void 0===e?void 0:e.uid;if(!n)throw new Error("No user id found");const s=t.props,i=(0,a.vb)(null==s?void 0:s.permissions),r=String(s["owner-id"]||n),l=(0,d.dC)("dav"+ce+t.filename),c={id:(null==s?void 0:s.fileid)<0?je(l):(null==s?void 0:s.fileid)||0,source:l,mtime:new Date(t.lastmod),mime:t.mime||"application/octet-stream",size:(null==s?void 0:s.size)||0,permissions:i,owner:r,root:ce,attributes:{...t,...s,"owner-id":r,"owner-display-name":String(s["owner-display-name"]),hasPreview:!(null==s||!s["has-preview"]),failed:(null==s?void 0:s.fileid)<0}};return delete c.attributes.props,"file"===t.type?new a.ZH(c):new a.vd(c)},Ve=t=>Ue(t)?Be(t)?Oe.MOVE_OR_COPY:Oe.MOVE:Oe.COPY,qe=async function(t,e,n){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e)return;if(e.type!==a.pt.Folder)throw new Error((0,V.Tl)("files","Destination is not a folder"));if(n===Oe.MOVE&&t.dirname===e.path)throw new Error((0,V.Tl)("files","This file/folder is already in that directory"));if("".concat(e.path,"/").startsWith("".concat(t.path,"/")))throw new Error((0,V.Tl)("files","You cannot move a file/folder onto itself or into a subfolder of itself"));l.Ay.set(t,"status",a.zI.LOADING);const i=De();return await i.add((async()=>{const i=t=>1===t?(0,V.Tl)("files","(copy)"):(0,V.Tl)("files","(copy %n)",void 0,t);try{const r=(0,a.H4)(),o=(0,Wt.join)(a.lJ,t.path),l=(0,Wt.join)(a.lJ,e.path);if(n===Oe.COPY){let n=t.basename;if(!s){const e=await r.getDirectoryContents(l);n=(0,a.E6)(t.basename,e.map((t=>t.basename)),{suffix:i,ignoreFileExtension:t.type===a.pt.Folder})}if(await r.copyFile(o,(0,Wt.join)(l,n)),t.dirname===e.path){const{data:t}=await r.stat((0,Wt.join)(l,n),{details:!0,data:(0,a.VL)()});(0,z.Ic)("files:node:created",(0,a.Al)(t))}}else{const n=await function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";const e=new AbortController,n=(0,a.VL)();return new Me.CancelablePromise((async(s,i,r)=>{r((()=>e.abort()));try{const i=await Re.getDirectoryContents(t,{details:!0,data:n,includeSelf:!0,signal:e.signal}),r=i.data[0],a=i.data.slice(1);if(r.filename!==t)throw new Error("Root node does not match requested path");s({folder:ze(r),contents:a.map((t=>{try{return ze(t)}catch(e){return nt.error("Invalid node detected '".concat(t.basename,"'"),{error:e}),null}})).filter(Boolean)})}catch(t){i(t)}}))}(e.path);if((0,Ht.h)([t],n.contents))try{const{selected:s,renamed:i}=await(0,Ht.o)(e.path,[t],n.contents);if(!s.length&&!i.length)return}catch(t){return void(0,J.Qg)((0,V.Tl)("files","Move cancelled"))}await r.moveFile(o,(0,Wt.join)(l,t.basename)),(0,z.Ic)("files:node:deleted",t)}}catch(t){if(t instanceof Ee.pe){var r,o,c;if(412===(null==t||null===(r=t.response)||void 0===r?void 0:r.status))throw new Error((0,V.Tl)("files","A file or folder with that name already exists in this folder"));if(423===(null==t||null===(o=t.response)||void 0===o?void 0:o.status))throw new Error((0,V.Tl)("files","The files are locked"));if(404===(null==t||null===(c=t.response)||void 0===c?void 0:c.status))throw new Error((0,V.Tl)("files","The file does not exist anymore"));if(t.message)throw new Error(t.message)}throw nt.debug(t),new Error}finally{l.Ay.set(t,"status",void 0)}}))},He=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",n=arguments.length>2?arguments[2]:void 0;const s=n.map((t=>t.fileid)).filter(Boolean),i=(0,J.a1)((0,V.Tl)("files","Choose destination")).allowDirectories(!0).setFilter((t=>!s.includes(t.fileid))).setMimeTypeFilter([]).setMultiSelect(!1).startAt(e);return new Promise(((e,s)=>{i.setButtonFactory(((s,i)=>{const r=[],a=(0,Wt.basename)(i),o=n.map((t=>t.dirname)),l=n.map((t=>t.path));return t!==Oe.COPY&&t!==Oe.MOVE_OR_COPY||r.push({label:a?(0,V.Tl)("files","Copy to {target}",{target:a},void 0,{escape:!1,sanitize:!1}):(0,V.Tl)("files","Copy"),type:"primary",icon:Ne,async callback(t){e({destination:t[0],action:Oe.COPY})}}),o.includes(i)||l.includes(i)||t!==Oe.MOVE&&t!==Oe.MOVE_OR_COPY||r.push({label:a?(0,V.Tl)("files","Move to {target}",{target:a},void 0,{escape:!1,sanitize:!1}):(0,V.Tl)("files","Move"),type:t===Oe.MOVE?"primary":"secondary",icon:Fe,async callback(t){e({destination:t[0],action:Oe.MOVE})}}),r})),i.build().pick().catch((t=>{nt.debug(t),t instanceof J.vT?s(new Error((0,V.Tl)("files","Cancelled move or copy operation"))):s(new Error((0,V.Tl)("files","Move or copy operation failed")))}))}))};new a.hY({id:"move-copy",displayName(t){switch(Ve(t)){case Oe.MOVE:return(0,V.Tl)("files","Move");case Oe.COPY:return(0,V.Tl)("files","Copy");case Oe.MOVE_OR_COPY:return(0,V.Tl)("files","Move or copy")}},iconSvgInline:()=>Fe,enabled:t=>!!t.every((t=>{var e;return null===(e=t.root)||void 0===e?void 0:e.startsWith("/files/")}))&&t.length>0&&(Ue(t)||Be(t)),async exec(t,e,n){const s=Ve([t]);let i;try{i=await He(s,n,[t])}catch(t){return nt.error(t),!1}try{return await qe(t,i.destination,i.action),!0}catch(t){return!!(t instanceof Error&&t.message)&&((0,J.Qg)(t.message),null)}},async execBatch(t,e,n){const s=Ve(t),i=await He(s,n,t),r=t.map((async t=>{try{return await qe(t,i.destination,i.action),!0}catch(e){return nt.error("Failed to ".concat(i.action," node"),{node:t,error:e}),!1}}));return await Promise.all(r)},order:15});var We=s(96763);const $e=async t=>{const e=t.filter((t=>"file"===t.kind||(nt.debug("Skipping dropped item",{kind:t.kind,type:t.type}),!1))).map((t=>{var e,n,s,i;return null!==(e=null!==(n=null==t||null===(s=t.getAsEntry)||void 0===s?void 0:s.call(t))&&void 0!==n?n:null==t||null===(i=t.webkitGetAsEntry)||void 0===i?void 0:i.call(t))&&void 0!==e?e:t}));let n=!1;const s=new Te("root");for(const t of e)if(t instanceof DataTransferItem){nt.warn("Could not get FilesystemEntry of item, falling back to file");const e=t.getAsFile();if(null===e){nt.warn("Could not process DataTransferItem",{type:t.type,kind:t.kind}),(0,J.Qg)((0,V.Tl)("files","One of the dropped files could not be processed"));continue}if("httpd/unix-directory"===e.type||!e.type){n||(nt.warn("Browser does not support Filesystem API. Directories will not be uploaded"),(0,J.I9)((0,V.Tl)("files","Your browser does not support the Filesystem API. Directories will not be uploaded")),n=!0);continue}s.contents.push(e)}else try{s.contents.push(await xe(t))}catch(t){nt.error("Error while traversing file tree",{error:t})}return s},Ge=async(t,e,n)=>{const s=(0,Ht.g)();if(await(0,Ht.h)(t.contents,n)&&(t.contents=await Le(t.contents,e,n)),0===t.contents.length)return nt.info("No files to upload",{root:t}),(0,J.cf)((0,V.Tl)("files","No files to upload")),[];nt.debug("Uploading files to ".concat(e.path),{root:t,contents:t.contents});const i=[],r=async(t,n)=>{for(const o of t.contents){const t=(0,Wt.join)(n,o.name);if(o instanceof Te){const n=(0,Ce.HS)(a.lJ,e.path,t);try{We.debug("Processing directory",{relativePath:t}),await ke(n),await r(o,t)}catch(t){(0,J.Qg)((0,V.Tl)("files","Unable to create the directory {directory}",{directory:o.name})),nt.error("",{error:t,absolutePath:n,directory:o})}}else nt.debug("Uploading file to "+(0,Wt.join)(e.path,t),{file:o}),i.push(s.upload(t,o,e.source))}};s.pause(),await r(t,"/"),s.start();const o=(await Promise.allSettled(i)).filter((t=>"rejected"===t.status));return o.length>0?(nt.error("Error while uploading files",{errors:o}),(0,J.Qg)((0,V.Tl)("files","Some files could not be uploaded")),[]):(nt.debug("Files uploaded successfully"),(0,J.Te)((0,V.Tl)("files","Files uploaded successfully")),Promise.all(i))},Ye=async function(t,e,n){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=[];if(await(0,Ht.h)(t,n)&&(t=await Le(t,e,n)),0===t.length)return nt.info("No files to process",{nodes:t}),void(0,J.cf)((0,V.Tl)("files","No files to process"));for(const n of t)l.Ay.set(n,"status",a.zI.LOADING),i.push(qe(n,e,s?Oe.COPY:Oe.MOVE));const r=await Promise.allSettled(i);t.forEach((t=>l.Ay.set(t,"status",void 0)));const o=r.filter((t=>"rejected"===t.status));if(o.length>0)return nt.error("Error while copying or moving files",{errors:o}),void(0,J.Qg)(s?(0,V.Tl)("files","Some files could not be copied"):(0,V.Tl)("files","Some files could not be moved"));nt.debug("Files copy/move successful"),(0,J.Te)(s?(0,V.Tl)("files","Files copied successfully"):(0,V.Tl)("files","Files moved successfully"))},Ke=(0,r.nY)("dragging",{state:()=>({dragging:[]}),actions:{set(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];l.Ay.set(this,"dragging",t)},reset(){l.Ay.set(this,"dragging",[])}}}),Qe=l.Ay.extend({data:()=>({filesListWidth:null}),mounted(){var t;const e=document.querySelector("#app-content-vue");this.filesListWidth=null!==(t=null==e?void 0:e.clientWidth)&&void 0!==t?t:null,this.$resizeObserver=new ResizeObserver((t=>{t.length>0&&t[0].target===e&&(this.filesListWidth=t[0].contentRect.width)})),this.$resizeObserver.observe(e)},beforeDestroy(){this.$resizeObserver.disconnect()}}),Je=(0,l.pM)({name:"BreadCrumbs",components:{NcBreadcrumbs:be.N,NcBreadcrumb:Ae.N,NcIconSvgWrapper:Y.A},mixins:[Qe],props:{path:{type:String,default:"/"}},setup(){const t=Ke(),e=fe(),n=ge(),s=he(),i=we(),{currentView:r}=Ot();return{draggingStore:t,filesStore:e,pathsStore:n,selectionStore:s,uploaderStore:i,currentView:r}},computed:{dirs(){var t;return["/",...this.path.split("/").filter(Boolean).map((t="/",e=>t+="".concat(e,"/"))).map((t=>t.replace(/^(.+)\/$/,"$1")))]},sections(){return this.dirs.map(((t,e)=>{const n=this.getFileSourceFromPath(t),s=n?this.getNodeFromSource(n):void 0,i={...this.$route,params:{node:null==s?void 0:s.fileid},query:{dir:t}};return{dir:t,exact:!0,name:this.getDirDisplayName(t),to:i,disableDrop:e===this.dirs.length-1}}))},isUploadInProgress(){return 0!==this.uploaderStore.queue.length},wrapUploadProgressBar(){return this.isUploadInProgress&&this.filesListWidth<512},viewIcon(){var t,e;return null!==(t=null===(e=this.currentView)||void 0===e?void 0:e.icon)&&void 0!==t?t:''},selectedFiles(){return this.selectionStore.selected},draggingFiles(){return this.draggingStore.dragging}},methods:{getNodeFromSource(t){return this.filesStore.getNode(t)},getFileSourceFromPath(t){var e;return null!==(e=this.currentView&&this.pathsStore.getPath(this.currentView.id,t))&&void 0!==e?e:null},getDirDisplayName(t){var e,n;if("/"===t)return(null===(n=this.$navigation)||void 0===n||null===(n=n.active)||void 0===n?void 0:n.name)||(0,V.Tl)("files","Home");const s=this.getFileSourceFromPath(t),i=s?this.getNodeFromSource(s):void 0;return(null==i||null===(e=i.attributes)||void 0===e?void 0:e.displayname)||(0,Wt.basename)(t)},onClick(t){var e;(null==t||null===(e=t.query)||void 0===e?void 0:e.dir)===this.$route.query.dir&&this.$emit("reload")},onDragOver(t,e){t.dataTransfer&&(e!==this.dirs[this.dirs.length-1]?t.ctrlKey?t.dataTransfer.dropEffect="copy":t.dataTransfer.dropEffect="move":t.dataTransfer.dropEffect="none")},async onDrop(t,e){var n,s,i;if(!(this.draggingFiles||null!==(n=t.dataTransfer)&&void 0!==n&&null!==(n=n.items)&&void 0!==n&&n.length))return;t.preventDefault();const r=this.draggingFiles,o=[...(null===(s=t.dataTransfer)||void 0===s?void 0:s.items)||[]],l=await $e(o),c=await(null===(i=this.currentView)||void 0===i?void 0:i.getContents(e)),d=null==c?void 0:c.folder;if(!d)return void(0,J.Qg)(this.t("files","Target folder does not exist any more"));const u=0!=(d.permissions&a.aX.CREATE),m=t.ctrlKey;if(!u||0!==t.button)return;if(nt.debug("Dropped",{event:t,folder:d,selection:r,fileTree:l}),l.contents.length>0)return void await Ge(l,d,c.contents);const p=r.map((t=>this.filesStore.getNode(t)));await Ye(p,d,c.contents,m),r.some((t=>this.selectedFiles.includes(t)))&&(nt.debug("Dropped selection, resetting select store..."),this.selectionStore.reset())},titleForSection(t,e){var n;return(null==e||null===(n=e.to)||void 0===n||null===(n=n.query)||void 0===n?void 0:n.dir)===this.$route.query.dir?(0,V.Tl)("files","Reload current directory"):0===t?(0,V.Tl)("files",'Go to the "{dir}" directory',e):null},ariaForSection(t){var e;return(null==t||null===(e=t.to)||void 0===e||null===(e=e.query)||void 0===e?void 0:e.dir)===this.$route.query.dir?(0,V.Tl)("files","Reload current directory"):null},t:V.Tl}});var Xe=s(67430),Ze={};Ze.styleTagTransform=ht(),Ze.setAttributes=mt(),Ze.insert=dt().bind(null,"head"),Ze.domAPI=lt(),Ze.insertStyleElement=ft(),at()(Xe.A,Ze),Xe.A&&Xe.A.locals&&Xe.A.locals;const tn=(0,H.A)(Je,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcBreadcrumbs",{staticClass:"files-list__breadcrumbs",class:{"files-list__breadcrumbs--with-progress":t.wrapUploadProgressBar},attrs:{"data-cy-files-content-breadcrumbs":"","aria-label":t.t("files","Current directory path")},scopedSlots:t._u([{key:"actions",fn:function(){return[t._t("actions")]},proxy:!0}],null,!0)},t._l(t.sections,(function(n,s){return e("NcBreadcrumb",t._b({key:n.dir,attrs:{dir:"auto",to:n.to,"force-icon-text":0===s&&t.filesListWidth>=486,title:t.titleForSection(s,n),"aria-description":t.ariaForSection(n)},on:{drop:function(e){return t.onDrop(e,n.dir)}},nativeOn:{click:function(e){return t.onClick(n.to)},dragover:function(e){return t.onDragOver(e,n.dir)}},scopedSlots:t._u([0===s?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{size:20,svg:t.viewIcon}})]},proxy:!0}:null],null,!0)},"NcBreadcrumb",n,!1))})),1)}),[],!1,null,"77111ada",null).exports,en=t=>{const e=t.filter((t=>t.type===a.pt.File)).length,n=t.filter((t=>t.type===a.pt.Folder)).length;return 0===e?(0,V.zw)("files","{folderCount} folder","{folderCount} folders",n,{folderCount:n}):0===n?(0,V.zw)("files","{fileCount} file","{fileCount} files",e,{fileCount:e}):1===e?(0,V.zw)("files","1 file and {folderCount} folder","1 file and {folderCount} folders",n,{folderCount:n}):1===n?(0,V.zw)("files","{fileCount} file and 1 folder","{fileCount} files and 1 folder",e,{fileCount:e}):(0,V.Tl)("files","{fileCount} files and {folderCount} folders",{fileCount:e,folderCount:n})};var nn=s(51651);const sn=(0,r.nY)("actionsmenu",{state:()=>({opened:null})}),rn=function(){const t=(0,r.nY)("renaming",{state:()=>({renamingNode:void 0,newName:""})})(...arguments);return t._initialized||((0,z.B1)("files:node:rename",(function(e){t.renamingNode=e,t.newName=e.basename})),t._initialized=!0),t};var an=s(55042);const on={name:"FileMultipleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ln=(0,H.A)(on,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-multiple-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var cn=s(11358);const dn=l.Ay.extend({name:"DragAndDropPreview",components:{FileMultipleIcon:ln,FolderIcon:cn.A},data:()=>({nodes:[]}),computed:{isSingleNode(){return 1===this.nodes.length},isSingleFolder(){return this.isSingleNode&&this.nodes[0].type===a.pt.Folder},name(){return this.size?"".concat(this.summary," – ").concat(this.size):this.summary},size(){const t=this.nodes.reduce(((t,e)=>t+e.size||0),0),e=parseInt(t,10)||0;return"number"!=typeof e||e<0?null:(0,a.v7)(e,!0)},summary(){if(this.isSingleNode){var t;const e=this.nodes[0];return(null===(t=e.attributes)||void 0===t?void 0:t.displayname)||e.basename}return en(this.nodes)}},methods:{update(t){this.nodes=t,this.$refs.previewImg.replaceChildren(),t.slice(0,3).forEach((t=>{const e=document.querySelector('[data-cy-files-list-row-fileid="'.concat(t.fileid,'"] .files-list__row-icon img'));e&&this.$refs.previewImg.appendChild(e.parentNode.cloneNode(!0))})),this.$nextTick((()=>{this.$emit("loaded",this.$el)}))}}}),un=dn;var mn=s(76810),pn={};pn.styleTagTransform=ht(),pn.setAttributes=mt(),pn.insert=dt().bind(null,"head"),pn.domAPI=lt(),pn.insertStyleElement=ft(),at()(mn.A,pn),mn.A&&mn.A.locals&&mn.A.locals;const fn=(0,H.A)(un,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list-drag-image"},[e("span",{staticClass:"files-list-drag-image__icon"},[e("span",{ref:"previewImg"}),t._v(" "),t.isSingleFolder?e("FolderIcon"):e("FileMultipleIcon")],1),t._v(" "),e("span",{staticClass:"files-list-drag-image__name"},[t._v(t._s(t.name))])])}),[],!1,null,null,null).exports,gn=l.Ay.extend(fn);let hn;l.Ay.directive("onClickOutside",an.z0);const vn=(0,l.pM)({props:{source:{type:[a.vd,a.ZH,a.bP],required:!0},nodes:{type:Array,required:!0},filesListWidth:{type:Number,default:0}},data:()=>({loading:"",dragover:!1,gridMode:!1}),computed:{currentDir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t||null===(t=t.dir)||void 0===t?void 0:t.toString())||"/").replace(/^(.+)\/$/,"$1")},currentFileId(){var t,e;return(null===(t=this.$route.params)||void 0===t?void 0:t.fileid)||(null===(e=this.$route.query)||void 0===e?void 0:e.fileid)||null},fileid(){var t;return null===(t=this.source)||void 0===t?void 0:t.fileid},uniqueId(){return je(this.source.source)},isLoading(){return this.source.status===a.zI.LOADING},extension(){var t;return null!==(t=this.source.attributes)&&void 0!==t&&t.displayname?(0,Wt.extname)(this.source.attributes.displayname):this.source.extension||""},displayName(){const t=this.extension,e=String(this.source.attributes.displayname||this.source.basename);return t?e.slice(0,0-t.length):e},draggingFiles(){return this.draggingStore.dragging},selectedFiles(){return this.selectionStore.selected},isSelected(){return this.selectedFiles.includes(this.source.source)},isRenaming(){return this.renamingStore.renamingNode===this.source},isRenamingSmallScreen(){return this.isRenaming&&this.filesListWidth<512},isActive(){return String(this.fileid)===String(this.currentFileId)},canDrag(){if(this.isRenaming)return!1;const t=t=>0!=((null==t?void 0:t.permissions)&a.aX.UPDATE);return this.selectedFiles.length>0?this.selectedFiles.map((t=>this.filesStore.getNode(t))).every(t):t(this.source)},canDrop(){return this.source.type===a.pt.Folder&&!this.draggingFiles.includes(this.source.source)&&0!=(this.source.permissions&a.aX.CREATE)},openedMenu:{get(){return this.actionsMenuStore.opened===this.uniqueId.toString()},set(t){this.actionsMenuStore.opened=t?this.uniqueId.toString():null}},isRenaming(){return this.renamingStore.renamingNode===this.source}},watch:{source(t,e){t.source!==e.source&&this.resetState()}},beforeDestroy(){this.resetState()},methods:{resetState(){var t,e;this.loading="",null===(t=this.$refs)||void 0===t||null===(t=t.preview)||void 0===t||null===(e=t.reset)||void 0===e||e.call(t),this.openedMenu=!1},onRightClick(t){if(this.openedMenu)return;if(this.gridMode){var e;const t=null===(e=this.$el)||void 0===e?void 0:e.closest("main.app-content");t.style.removeProperty("--mouse-pos-x"),t.style.removeProperty("--mouse-pos-y")}else{var n;const e=null===(n=this.$el)||void 0===n?void 0:n.closest("main.app-content"),s=e.getBoundingClientRect();e.style.setProperty("--mouse-pos-x",Math.max(0,t.clientX-s.left-200)+"px"),e.style.setProperty("--mouse-pos-y",Math.max(0,t.clientY-s.top)+"px")}const s=this.selectedFiles.length>1;this.actionsMenuStore.opened=this.isSelected&&s?"global":this.uniqueId.toString(),t.preventDefault(),t.stopPropagation()},execDefaultAction(t){if(!(this.isRenaming||t.button>1))return t.ctrlKey||t.metaKey||1===t.button?(t.preventDefault(),window.open((0,d.Jv)("/f/{fileId}",{fileId:this.fileid})),!1):void this.$refs.actions.execDefaultAction(t)},openDetailsIfAvailable(t){var e;t.preventDefault(),t.stopPropagation(),null!=ae&&null!==(e=ae.enabled)&&void 0!==e&&e.call(ae,[this.source],this.currentView)&&ae.exec(this.source,this.currentView,this.currentDir)},onDragOver(t){this.dragover=this.canDrop,this.canDrop?t.ctrlKey?t.dataTransfer.dropEffect="copy":t.dataTransfer.dropEffect="move":t.dataTransfer.dropEffect="none"},onDragLeave(t){const e=t.currentTarget;null!=e&&e.contains(t.relatedTarget)||(this.dragover=!1)},async onDragStart(t){var e,n,s;if(t.stopPropagation(),!this.canDrag||!this.fileid)return t.preventDefault(),void t.stopPropagation();nt.debug("Drag started",{event:t}),null===(e=t.dataTransfer)||void 0===e||null===(n=e.clearData)||void 0===n||n.call(e),this.renamingStore.$reset(),this.selectedFiles.includes(this.source.source)?this.draggingStore.set(this.selectedFiles):this.draggingStore.set([this.source.source]);const i=this.draggingStore.dragging.map((t=>this.filesStore.getNode(t))),r=await(async t=>new Promise((e=>{hn||(hn=(new gn).$mount(),document.body.appendChild(hn.$el)),hn.update(t),hn.$on("loaded",(()=>{e(hn.$el),hn.$off("loaded")}))})))(i);null===(s=t.dataTransfer)||void 0===s||s.setDragImage(r,-10,-10)},onDragEnd(){this.draggingStore.reset(),this.dragover=!1,nt.debug("Drag ended")},async onDrop(t){var e,n,s;if(!(this.draggingFiles||null!==(e=t.dataTransfer)&&void 0!==e&&null!==(e=e.items)&&void 0!==e&&e.length))return;t.preventDefault(),t.stopPropagation();const i=this.draggingFiles,r=[...(null===(n=t.dataTransfer)||void 0===n?void 0:n.items)||[]],a=await $e(r),o=await(null===(s=this.currentView)||void 0===s?void 0:s.getContents(this.source.path)),l=null==o?void 0:o.folder;if(!l)return void(0,J.Qg)(this.t("files","Target folder does not exist any more"));if(!this.canDrop||t.button)return;const c=t.ctrlKey;if(this.dragover=!1,nt.debug("Dropped",{event:t,folder:l,selection:i,fileTree:a}),a.contents.length>0)return void await Ge(a,l,o.contents);const d=i.map((t=>this.filesStore.getNode(t)));await Ye(d,l,o.contents,c),i.some((t=>this.selectedFiles.includes(t)))&&(nt.debug("Dropped selection, resetting select store..."),this.selectionStore.reset())},t:V.Tl}});var wn=s(4604);const yn={name:"CustomElementRender",props:{source:{type:Object,required:!0},currentView:{type:Object,required:!0},render:{type:Function,required:!0}},watch:{source(){this.updateRootElement()},currentView(){this.updateRootElement()}},mounted(){this.updateRootElement()},methods:{async updateRootElement(){const t=await this.render(this.source,this.currentView);t?this.$el.replaceChildren(t):this.$el.replaceChildren()}}},An=(0,H.A)(yn,(function(){return(0,this._self._c)("span")}),[],!1,null,null,null).exports;var bn=s(89257),Cn=s(24764),_n=s(80114);const Tn={name:"ArrowLeftIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},xn=(0,H.A)(Tn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon arrow-left-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Sn=(0,a.qK)(),kn=(0,l.pM)({name:"FileEntryActions",components:{ArrowLeftIcon:xn,CustomElementRender:An,NcActionButton:bn.A,NcActions:Cn.A,NcActionSeparator:_n.A,NcIconSvgWrapper:Y.A,NcLoadingIcon:Zt.A},props:{filesListWidth:{type:Number,required:!0},loading:{type:String,required:!0},opened:{type:Boolean,default:!1},source:{type:Object,required:!0},gridMode:{type:Boolean,default:!1}},setup(){const{currentView:t}=Ot();return{currentView:t}},data:()=>({openedSubmenu:null}),computed:{currentDir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t||null===(t=t.dir)||void 0===t?void 0:t.toString())||"/").replace(/^(.+)\/$/,"$1")},isLoading(){return this.source.status===a.zI.LOADING},enabledActions(){return this.source.attributes.failed?[]:Sn.filter((t=>!t.enabled||t.enabled([this.source],this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0)))},enabledInlineActions(){return this.filesListWidth<768||this.gridMode?[]:this.enabledActions.filter((t=>{var e;return null==t||null===(e=t.inline)||void 0===e?void 0:e.call(t,this.source,this.currentView)}))},enabledRenderActions(){return this.gridMode?[]:this.enabledActions.filter((t=>"function"==typeof t.renderInline))},enabledDefaultActions(){return this.enabledActions.filter((t=>!(null==t||!t.default)))},enabledMenuActions(){if(this.openedSubmenu)return this.enabledInlineActions;const t=[...this.enabledInlineActions,...this.enabledActions.filter((t=>t.default!==a.m9.HIDDEN&&"function"!=typeof t.renderInline))].filter(((t,e,n)=>e===n.findIndex((e=>e.id===t.id)))),e=t.filter((t=>!t.parent)).map((t=>t.id));return t.filter((t=>!(t.parent&&e.includes(t.parent))))},enabledSubmenuActions(){return this.enabledActions.filter((t=>t.parent)).reduce(((t,e)=>(t[e.parent]||(t[e.parent]=[]),t[e.parent].push(e),t)),{})},openedMenu:{get(){return this.opened},set(t){this.$emit("update:opened",t)}},getBoundariesElement:()=>document.querySelector(".app-content > .files-list"),mountType(){return this.source.attributes["mount-type"]}},methods:{actionDisplayName(t){if((this.gridMode||this.filesListWidth<768&&t.inline)&&"function"==typeof t.title){const e=t.title([this.source],this.currentView);if(e)return e}return t.displayName([this.source],this.currentView)},async onActionClick(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.isLoading||""!==this.loading)return;if(this.enabledSubmenuActions[t.id])return void(this.openedSubmenu=t);const n=t.displayName([this.source],this.currentView);try{this.$emit("update:loading",t.id),this.$set(this.source,"status",a.zI.LOADING);const e=await t.exec(this.source,this.currentView,this.currentDir);if(null==e)return;if(e)return void(0,J.Te)((0,V.Tl)("files",'"{displayName}" action executed successfully',{displayName:n}));(0,J.Qg)((0,V.Tl)("files",'"{displayName}" action failed',{displayName:n}))}catch(e){nt.error("Error while executing action",{action:t,e}),(0,J.Qg)((0,V.Tl)("files",'"{displayName}" action failed',{displayName:n}))}finally{this.$emit("update:loading",""),this.$set(this.source,"status",void 0),e&&(this.openedSubmenu=null)}},execDefaultAction(t){this.enabledDefaultActions.length>0&&(t.preventDefault(),t.stopPropagation(),this.enabledDefaultActions[0].exec(this.source,this.currentView,this.currentDir))},isMenu(t){var e;return(null===(e=this.enabledSubmenuActions[t])||void 0===e?void 0:e.length)>0},async onBackToMenuClick(t){this.openedSubmenu=null,await this.$nextTick(),this.$nextTick((()=>{var e;const n=null===(e=this.$refs["action-".concat(t.id)])||void 0===e?void 0:e[0];var s;n&&(null===(s=n.$el.querySelector("button"))||void 0===s||s.focus())}))},t:V.Tl}}),Ln=kn;var En=s(37546),Nn={};Nn.styleTagTransform=ht(),Nn.setAttributes=mt(),Nn.insert=dt().bind(null,"head"),Nn.domAPI=lt(),Nn.insertStyleElement=ft(),at()(En.A,Nn),En.A&&En.A.locals&&En.A.locals;var Fn=s(48846),Pn={};Pn.styleTagTransform=ht(),Pn.setAttributes=mt(),Pn.insert=dt().bind(null,"head"),Pn.domAPI=lt(),Pn.insertStyleElement=ft(),at()(Fn.A,Pn),Fn.A&&Fn.A.locals&&Fn.A.locals;var In=(0,H.A)(Ln,(function(){var t,e,n=this,s=n._self._c;return n._self._setupProxy,s("td",{staticClass:"files-list__row-actions",attrs:{"data-cy-files-list-row-actions":""}},[n._l(n.enabledRenderActions,(function(t){return s("CustomElementRender",{key:t.id,staticClass:"files-list__row-action--inline",class:"files-list__row-action-"+t.id,attrs:{"current-view":n.currentView,render:t.renderInline,source:n.source}})})),n._v(" "),s("NcActions",{ref:"actionsMenu",attrs:{"boundaries-element":n.getBoundariesElement,container:n.getBoundariesElement,"force-name":!0,type:"tertiary","force-menu":0===n.enabledInlineActions.length,inline:n.enabledInlineActions.length,open:n.openedMenu},on:{"update:open":function(t){n.openedMenu=t},close:function(t){n.openedSubmenu=null}}},[n._l(n.enabledMenuActions,(function(t){var e;return s("NcActionButton",{key:t.id,ref:"action-".concat(t.id),refInFor:!0,class:{["files-list__row-action-".concat(t.id)]:!0,"files-list__row-action--menu":n.isMenu(t.id)},attrs:{"close-after-click":!n.isMenu(t.id),"data-cy-files-list-row-action":t.id,"is-menu":n.isMenu(t.id),title:null===(e=t.title)||void 0===e?void 0:e.call(t,[n.source],n.currentView)},on:{click:function(e){return n.onActionClick(t)}},scopedSlots:n._u([{key:"icon",fn:function(){return[n.loading===t.id?s("NcLoadingIcon",{attrs:{size:18}}):s("NcIconSvgWrapper",{attrs:{svg:t.iconSvgInline([n.source],n.currentView)}})]},proxy:!0}],null,!0)},[n._v("\n\t\t\t"+n._s("shared"===n.mountType&&"sharing-status"===t.id?"":n.actionDisplayName(t))+"\n\t\t")])})),n._v(" "),n.openedSubmenu&&n.enabledSubmenuActions[null===(t=n.openedSubmenu)||void 0===t?void 0:t.id]?[s("NcActionButton",{staticClass:"files-list__row-action-back",on:{click:function(t){return n.onBackToMenuClick(n.openedSubmenu)}},scopedSlots:n._u([{key:"icon",fn:function(){return[s("ArrowLeftIcon")]},proxy:!0}],null,!1,3001860362)},[n._v("\n\t\t\t\t"+n._s(n.actionDisplayName(n.openedSubmenu))+"\n\t\t\t")]),n._v(" "),s("NcActionSeparator"),n._v(" "),n._l(n.enabledSubmenuActions[null===(e=n.openedSubmenu)||void 0===e?void 0:e.id],(function(t){var e;return s("NcActionButton",{key:t.id,staticClass:"files-list__row-action--submenu",class:"files-list__row-action-".concat(t.id),attrs:{"close-after-click":"","data-cy-files-list-row-action":t.id,title:null===(e=t.title)||void 0===e?void 0:e.call(t,[n.source],n.currentView)},on:{click:function(e){return n.onActionClick(t)}},scopedSlots:n._u([{key:"icon",fn:function(){return[n.loading===t.id?s("NcLoadingIcon",{attrs:{size:18}}):s("NcIconSvgWrapper",{attrs:{svg:t.iconSvgInline([n.source],n.currentView)}})]},proxy:!0}],null,!0)},[n._v("\n\t\t\t\t"+n._s(n.actionDisplayName(t))+"\n\t\t\t")])}))]:n._e()],2)],2)}),[],!1,null,"0ef7511c",null);const Dn=In.exports,On=(0,l.pM)({name:"FileEntryCheckbox",components:{NcCheckboxRadioSwitch:Ct.A,NcLoadingIcon:Zt.A},props:{fileid:{type:Number,required:!0},isLoading:{type:Boolean,default:!1},nodes:{type:Array,required:!0},source:{type:Object,required:!0}},setup(){const t=he(),e=function(){const t=(0,r.nY)("keyboard",{state:()=>({altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1}),actions:{onEvent(t){t||(t=window.event),l.Ay.set(this,"altKey",!!t.altKey),l.Ay.set(this,"ctrlKey",!!t.ctrlKey),l.Ay.set(this,"metaKey",!!t.metaKey),l.Ay.set(this,"shiftKey",!!t.shiftKey)}}})(...arguments);return t._initialized||(window.addEventListener("keydown",t.onEvent),window.addEventListener("keyup",t.onEvent),window.addEventListener("mousemove",t.onEvent),t._initialized=!0),t}();return{keyboardStore:e,selectionStore:t}},computed:{selectedFiles(){return this.selectionStore.selected},isSelected(){return this.selectedFiles.includes(this.source.source)},index(){return this.nodes.findIndex((t=>t.source===this.source.source))},isFile(){return this.source.type===a.pt.File},ariaLabel(){return this.isFile?(0,V.Tl)("files",'Toggle selection for file "{displayName}"',{displayName:this.source.basename}):(0,V.Tl)("files",'Toggle selection for folder "{displayName}"',{displayName:this.source.basename})}},methods:{onSelectionChange(t){var e;const n=this.index,s=this.selectionStore.lastSelectedIndex;if(null!==(e=this.keyboardStore)&&void 0!==e&&e.shiftKey&&null!==s){const t=this.selectedFiles.includes(this.source.source),e=Math.min(n,s),i=Math.max(s,n),r=this.selectionStore.lastSelection,a=this.nodes.map((t=>t.source)).slice(e,i+1).filter(Boolean),o=[...r,...a].filter((e=>!t||e!==this.source.source));return nt.debug("Shift key pressed, selecting all files in between",{start:e,end:i,filesToSelect:a,isAlreadySelected:t}),void this.selectionStore.set(o)}const i=t?[...this.selectedFiles,this.source.source]:this.selectedFiles.filter((t=>t!==this.source.source));nt.debug("Updating selection",{selection:i}),this.selectionStore.set(i),this.selectionStore.setLastIndex(n)},resetSelection(){this.selectionStore.reset()},t:V.Tl}}),Un=(0,H.A)(On,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("td",{staticClass:"files-list__row-checkbox",on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.resetSelection.apply(null,arguments)}}},[t.isLoading?e("NcLoadingIcon"):e("NcCheckboxRadioSwitch",{attrs:{"aria-label":t.ariaLabel,checked:t.isSelected},on:{"update:checked":t.onSelectionChange}})],1)}),[],!1,null,null,null).exports;var Bn=s(82182);const Mn=(0,Q.C)("files","forbiddenCharacters",""),jn=l.Ay.extend({name:"FileEntryName",components:{NcTextField:Bn.A},props:{displayName:{type:String,required:!0},extension:{type:String,required:!0},filesListWidth:{type:Number,required:!0},nodes:{type:Array,required:!0},source:{type:Object,required:!0},gridMode:{type:Boolean,default:!1}},setup(){const{currentView:t}=Ot();return{currentView:t,renamingStore:rn()}},computed:{isRenaming(){return this.renamingStore.renamingNode===this.source},isRenamingSmallScreen(){return this.isRenaming&&this.filesListWidth<512},newName:{get(){return this.renamingStore.newName},set(t){this.renamingStore.newName=t}},renameLabel(){return{[a.pt.File]:(0,V.Tl)("files","File name"),[a.pt.Folder]:(0,V.Tl)("files","Folder name")}[this.source.type]},linkTo(){var t,e;if(this.source.attributes.failed)return{is:"span",params:{title:(0,V.Tl)("files","This node is unavailable")}};const n=null===(t=this.$parent)||void 0===t||null===(t=t.$refs)||void 0===t||null===(t=t.actions)||void 0===t?void 0:t.enabledDefaultActions;return(null==n?void 0:n.length)>0?{is:"a",params:{title:n[0].displayName([this.source],this.currentView),role:"button",tabindex:"0"}}:(null===(e=this.source)||void 0===e?void 0:e.permissions)&a.aX.READ?{is:"a",params:{download:this.source.basename,href:this.source.source,title:(0,V.Tl)("files","Download file {name}",{name:this.displayName}),tabindex:"0"}}:{is:"span"}}},watch:{isRenaming:{immediate:!0,handler(t){t&&this.startRenaming()}}},methods:{checkInputValidity(t){var e,n;const s=t.target,i=(null===(e=(n=this.newName).trim)||void 0===e?void 0:e.call(n))||"";nt.debug("Checking input validity",{newName:i});try{this.isFileNameValid(i),s.setCustomValidity(""),s.title=""}catch(t){s.setCustomValidity(t.message),s.title=t.message}finally{s.reportValidity()}},isFileNameValid(t){const e=t.trim();if("."===e||".."===e)throw new Error((0,V.Tl)("files",'"{name}" is an invalid file name.',{name:t}));if(0===e.length)throw new Error((0,V.Tl)("files","File name cannot be empty."));if(-1!==e.indexOf("/"))throw new Error((0,V.Tl)("files",'"/" is not allowed inside a file name.'));if(e.match(OC.config.blacklist_files_regex))throw new Error((0,V.Tl)("files",'"{name}" is not an allowed filetype.',{name:t}));if(this.checkIfNodeExists(t))throw new Error((0,V.Tl)("files","{newName} already exists.",{newName:t}));return e.split("").forEach((t=>{if(-1!==Mn.indexOf(t))throw new Error(this.t("files",'"{char}" is not allowed inside a file name.',{char:t}))})),!0},checkIfNodeExists(t){return this.nodes.find((e=>e.basename===t&&e!==this.source))},startRenaming(){this.$nextTick((()=>{var t;const e=(this.source.extension||"").split("").length,n=this.source.basename.split("").length-e,s=null===(t=this.$refs.renameInput)||void 0===t||null===(t=t.$refs)||void 0===t||null===(t=t.inputField)||void 0===t||null===(t=t.$refs)||void 0===t?void 0:t.input;s?(s.setSelectionRange(0,n),s.focus(),s.dispatchEvent(new Event("keyup"))):nt.error("Could not find the rename input")}))},stopRenaming(){this.isRenaming&&this.renamingStore.$reset()},async onRename(){var t,e;const n=this.source.basename,s=this.source.encodedSource,i=(null===(t=(e=this.newName).trim)||void 0===t?void 0:t.call(e))||"";if(""!==i)if(n!==i)if(this.checkIfNodeExists(i))(0,J.Qg)((0,V.Tl)("files","Another entry with the same name already exists"));else{this.loading="renaming",l.Ay.set(this.source,"status",a.zI.LOADING),this.source.rename(i),nt.debug("Moving file to",{destination:this.source.encodedSource,oldEncodedSource:s});try{await(0,X.A)({method:"MOVE",url:s,headers:{Destination:this.source.encodedSource,Overwrite:"F"}}),(0,z.Ic)("files:node:updated",this.source),(0,z.Ic)("files:node:renamed",this.source),(0,J.Te)((0,V.Tl)("files",'Renamed "{oldName}" to "{newName}"',{oldName:n,newName:i})),this.stopRenaming(),this.$nextTick((()=>{this.$refs.basename.focus()}))}catch(t){var r,o;if(nt.error("Error while renaming file",{error:t}),this.source.rename(n),this.$refs.renameInput.focus(),404===(null==t||null===(r=t.response)||void 0===r?void 0:r.status))return void(0,J.Qg)((0,V.Tl)("files",'Could not rename "{oldName}", it does not exist any more',{oldName:n}));if(412===(null==t||null===(o=t.response)||void 0===o?void 0:o.status))return void(0,J.Qg)((0,V.Tl)("files",'The name "{newName}" is already used in the folder "{dir}". Please choose a different name.',{newName:i,dir:this.currentDir}));(0,J.Qg)((0,V.Tl)("files",'Could not rename "{oldName}"',{oldName:n}))}finally{this.loading=!1,l.Ay.set(this.source,"status",void 0)}}else this.stopRenaming();else(0,J.Qg)((0,V.Tl)("files","Name cannot be empty"))},t:V.Tl}}),Rn=(0,H.A)(jn,(function(){var t=this,e=t._self._c;return t._self._setupProxy,t.isRenaming?e("form",{directives:[{name:"on-click-outside",rawName:"v-on-click-outside",value:t.stopRenaming,expression:"stopRenaming"}],staticClass:"files-list__row-rename",attrs:{"aria-label":t.t("files","Rename file")},on:{submit:function(e){return e.preventDefault(),e.stopPropagation(),t.onRename.apply(null,arguments)}}},[e("NcTextField",{ref:"renameInput",attrs:{label:t.renameLabel,autofocus:!0,minlength:1,required:!0,value:t.newName,enterkeyhint:"done"},on:{"update:value":function(e){t.newName=e},keyup:[t.checkInputValidity,function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.stopRenaming.apply(null,arguments)}]}})],1):e(t.linkTo.is,t._b({ref:"basename",tag:"component",staticClass:"files-list__row-name-link",attrs:{"aria-hidden":t.isRenaming,"data-cy-files-list-row-name-link":""}},"component",t.linkTo.params,!1),[e("span",{staticClass:"files-list__row-name-text"},[e("span",{staticClass:"files-list__row-name-",domProps:{textContent:t._s(t.displayName)}}),t._v(" "),e("span",{staticClass:"files-list__row-name-ext",domProps:{textContent:t._s(t.extension)}})])])}),[],!1,null,null,null).exports;var zn=s(72755);const Vn={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},qn=(0,H.A)(Vn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Hn={name:"FolderOpenIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Wn=(0,H.A)(Hn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon folder-open-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,$n={name:"KeyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Gn=(0,H.A)($n,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon key-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Yn={name:"NetworkIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Kn=(0,H.A)(Yn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon network-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Qn={name:"TagIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Jn=(0,H.A)(Qn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tag-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Xn={name:"PlayCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Zn=(0,H.A)(Xn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon play-circle-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ts={name:"CollectivesIcon",props:{title:{type:String,default:""},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},es=(0,H.A)(ts,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon collectives-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 16 16"}},[e("path",{attrs:{d:"M2.9,8.8c0-1.2,0.4-2.4,1.2-3.3L0.3,6c-0.2,0-0.3,0.3-0.1,0.4l2.7,2.6C2.9,9,2.9,8.9,2.9,8.8z"}}),t._v(" "),e("path",{attrs:{d:"M8,3.7c0.7,0,1.3,0.1,1.9,0.4L8.2,0.6c-0.1-0.2-0.3-0.2-0.4,0L6.1,4C6.7,3.8,7.3,3.7,8,3.7z"}}),t._v(" "),e("path",{attrs:{d:"M3.7,11.5L3,15.2c0,0.2,0.2,0.4,0.4,0.3l3.3-1.7C5.4,13.4,4.4,12.6,3.7,11.5z"}}),t._v(" "),e("path",{attrs:{d:"M15.7,6l-3.7-0.5c0.7,0.9,1.2,2,1.2,3.3c0,0.1,0,0.2,0,0.3l2.7-2.6C15.9,6.3,15.9,6.1,15.7,6z"}}),t._v(" "),e("path",{attrs:{d:"M12.3,11.5c-0.7,1.1-1.8,1.9-3,2.2l3.3,1.7c0.2,0.1,0.4-0.1,0.4-0.3L12.3,11.5z"}}),t._v(" "),e("path",{attrs:{d:"M9.6,10.1c-0.4,0.5-1,0.8-1.6,0.8c-1.1,0-2-0.9-2.1-2C5.9,7.7,6.8,6.7,8,6.7c0.6,0,1.1,0.3,1.5,0.7 c0.1,0.1,0.1,0.1,0.2,0.1h1.4c0.2,0,0.4-0.2,0.3-0.5c-0.7-1.3-2.1-2.2-3.8-2.1C5.8,5,4.3,6.6,4.1,8.5C4,10.8,5.8,12.7,8,12.7 c1.6,0,2.9-0.9,3.5-2.3c0.1-0.2-0.1-0.4-0.3-0.4H9.9C9.8,10,9.7,10,9.6,10.1z"}})])])}),[],!1,null,null,null).exports,ns=(0,l.pM)({name:"FavoriteIcon",components:{NcIconSvgWrapper:Y.A},data:()=>({StarSvg:''}),async mounted(){var t;await this.$nextTick();const e=this.$el.querySelector("svg");null==e||null===(t=e.setAttribute)||void 0===t||t.call(e,"viewBox","-4 -4 30 30")},methods:{t:V.Tl}});var ss=s(14781),is={};is.styleTagTransform=ht(),is.setAttributes=mt(),is.insert=dt().bind(null,"head"),is.domAPI=lt(),is.insertStyleElement=ft(),at()(ss.A,is),ss.A&&ss.A.locals&&ss.A.locals;const rs=(0,H.A)(ns,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcIconSvgWrapper",{staticClass:"favorite-marker-icon",attrs:{name:t.t("files","Favorite"),svg:t.StarSvg}})}),[],!1,null,"42ea6dd4",null).exports,as=l.Ay.extend({name:"FileEntryPreview",components:{AccountGroupIcon:zn.A,AccountPlusIcon:ne,CollectivesIcon:es,FavoriteIcon:rs,FileIcon:qn,FolderIcon:cn.A,FolderOpenIcon:Wn,KeyIcon:Gn,LinkIcon:Gt.A,NetworkIcon:Kn,TagIcon:Jn},props:{source:{type:Object,required:!0},dragover:{type:Boolean,default:!1},gridMode:{type:Boolean,default:!1}},setup:()=>({userConfigStore:Et()}),data:()=>({backgroundFailed:void 0}),computed:{fileid(){var t,e;return null===(t=this.source)||void 0===t||null===(t=t.fileid)||void 0===t||null===(e=t.toString)||void 0===e?void 0:e.call(t)},isFavorite(){return 1===this.source.attributes.favorite},userConfig(){return this.userConfigStore.userConfig},cropPreviews(){return!0===this.userConfig.crop_image_previews},previewUrl(){if(this.source.type===a.pt.Folder)return null;if(!0===this.backgroundFailed)return null;try{const t=this.source.attributes.previewUrl||(0,d.Jv)("/core/preview?fileId={fileid}",{fileid:this.fileid}),e=new URL(window.location.origin+t);return e.searchParams.set("x",this.gridMode?"128":"32"),e.searchParams.set("y",this.gridMode?"128":"32"),e.searchParams.set("mimeFallback","true"),e.searchParams.set("a",!0===this.cropPreviews?"0":"1"),e.href}catch(t){return null}},fileOverlay(){return void 0!==this.source.attributes["metadata-files-live-photo"]?Zn:null},folderOverlay(){var t,e,n,s;if(this.source.type!==a.pt.Folder)return null;if(1===(null===(t=this.source)||void 0===t||null===(t=t.attributes)||void 0===t?void 0:t["is-encrypted"]))return Gn;if(null!==(e=this.source)&&void 0!==e&&null!==(e=e.attributes)&&void 0!==e&&e["is-tag"])return Jn;const i=Object.values((null===(n=this.source)||void 0===n||null===(n=n.attributes)||void 0===n?void 0:n["share-types"])||{}).flat();if(i.some((t=>t===qt.Z.SHARE_TYPE_LINK||t===qt.Z.SHARE_TYPE_EMAIL)))return Gt.A;if(i.length>0)return ne;switch(null===(s=this.source)||void 0===s||null===(s=s.attributes)||void 0===s?void 0:s["mount-type"]){case"external":case"external-session":return Kn;case"group":return zn.A;case"collective":return es}return null}},methods:{reset(){this.backgroundFailed=void 0,this.$refs.previewImg&&(this.$refs.previewImg.src="")},onBackgroundError(t){var e;""!==(null===(e=t.target)||void 0===e?void 0:e.src)&&(this.backgroundFailed=!0)},t:V.Tl}}),os=(0,H.A)(as,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("span",{staticClass:"files-list__row-icon"},["folder"===t.source.type?[t.dragover?t._m(0):[t._m(1),t._v(" "),t.folderOverlay?e(t.folderOverlay,{tag:"OverlayIcon",staticClass:"files-list__row-icon-overlay"}):t._e()]]:t.previewUrl&&!0!==t.backgroundFailed?e("img",{ref:"previewImg",staticClass:"files-list__row-icon-preview",class:{"files-list__row-icon-preview--loaded":!1===t.backgroundFailed},attrs:{alt:"",loading:"lazy",src:t.previewUrl},on:{error:t.onBackgroundError,load:function(e){t.backgroundFailed=!1}}}):t._m(2),t._v(" "),t.isFavorite?e("span",{staticClass:"files-list__row-icon-favorite"},[t._m(3)],1):t._e(),t._v(" "),t.fileOverlay?e(t.fileOverlay,{tag:"OverlayIcon",staticClass:"files-list__row-icon-overlay files-list__row-icon-overlay--file"}):t._e()],2)}),[function(){var t=this._self._c;return this._self._setupProxy,t("FolderOpenIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FolderIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FileIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FavoriteIcon")}],!1,null,null,null).exports,ls=(0,l.pM)({name:"FileEntry",components:{CustomElementRender:An,FileEntryActions:Dn,FileEntryCheckbox:Un,FileEntryName:Rn,FileEntryPreview:os,NcDateTime:wn.A},mixins:[vn],props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},compact:{type:Boolean,default:!1}},setup(){const t=sn(),e=Ke(),n=fe(),s=rn(),i=he(),{currentView:r}=Ot();return{actionsMenuStore:t,draggingStore:e,filesStore:n,renamingStore:s,selectionStore:i,currentView:r}},computed:{rowListeners(){return{...this.isRenaming?{}:{dragstart:this.onDragStart,dragover:this.onDragOver},contextmenu:this.onRightClick,dragleave:this.onDragLeave,dragend:this.onDragEnd,drop:this.onDrop}},columns(){var t;return this.filesListWidth<512||this.compact?[]:(null===(t=this.currentView)||void 0===t?void 0:t.columns)||[]},size(){const t=this.source.size;return!t||t<0?this.t("files","Pending"):(0,a.v7)(t,!0)},sizeOpacity(){const t=this.source.size;if(!t||isNaN(t)||t<0)return{};const e=Math.round(Math.min(100,100*Math.pow(t/10485760,2)));return{color:"color-mix(in srgb, var(--color-main-text) ".concat(e,"%, var(--color-text-maxcontrast))")}},mtimeOpacity(){var t,e;const n=26784e5,s=null===(t=this.source.mtime)||void 0===t||null===(e=t.getTime)||void 0===e?void 0:e.call(t);if(!s)return{};const i=Math.round(Math.min(100,100*(n-(Date.now()-s))/n));return i<0?{}:{color:"color-mix(in srgb, var(--color-main-text) ".concat(i,"%, var(--color-text-maxcontrast))")}},mtimeTitle(){return this.source.mtime?(0,nn.A)(this.source.mtime).format("LLL"):""}},methods:{formatFileSize:a.v7}}),cs=(0,H.A)(ls,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",t._g({staticClass:"files-list__row",class:{"files-list__row--dragover":t.dragover,"files-list__row--loading":t.isLoading,"files-list__row--active":t.isActive},attrs:{"data-cy-files-list-row":"","data-cy-files-list-row-fileid":t.fileid,"data-cy-files-list-row-name":t.source.basename,draggable:t.canDrag}},t.rowListeners),[t.source.attributes.failed?e("span",{staticClass:"files-list__row--failed"}):t._e(),t._v(" "),e("FileEntryCheckbox",{attrs:{fileid:t.fileid,"is-loading":t.isLoading,nodes:t.nodes,source:t.source}}),t._v(" "),e("td",{staticClass:"files-list__row-name",attrs:{"data-cy-files-list-row-name":""}},[e("FileEntryPreview",{ref:"preview",attrs:{source:t.source,dragover:t.dragover},nativeOn:{auxclick:function(e){return t.execDefaultAction.apply(null,arguments)},click:function(e){return t.execDefaultAction.apply(null,arguments)}}}),t._v(" "),e("FileEntryName",{ref:"name",attrs:{"display-name":t.displayName,extension:t.extension,"files-list-width":t.filesListWidth,nodes:t.nodes,source:t.source},nativeOn:{auxclick:function(e){return t.execDefaultAction.apply(null,arguments)},click:function(e){return t.execDefaultAction.apply(null,arguments)}}})],1),t._v(" "),e("FileEntryActions",{directives:[{name:"show",rawName:"v-show",value:!t.isRenamingSmallScreen,expression:"!isRenamingSmallScreen"}],ref:"actions",class:"files-list__row-actions-".concat(t.uniqueId),attrs:{"files-list-width":t.filesListWidth,loading:t.loading,opened:t.openedMenu,source:t.source},on:{"update:loading":function(e){t.loading=e},"update:opened":function(e){t.openedMenu=e}}}),t._v(" "),!t.compact&&t.isSizeAvailable?e("td",{staticClass:"files-list__row-size",style:t.sizeOpacity,attrs:{"data-cy-files-list-row-size":""},on:{click:t.openDetailsIfAvailable}},[e("span",[t._v(t._s(t.size))])]):t._e(),t._v(" "),!t.compact&&t.isMtimeAvailable?e("td",{staticClass:"files-list__row-mtime",style:t.mtimeOpacity,attrs:{"data-cy-files-list-row-mtime":""},on:{click:t.openDetailsIfAvailable}},[t.source.mtime?e("NcDateTime",{attrs:{timestamp:t.source.mtime,"ignore-seconds":!0}}):t._e()],1):t._e(),t._v(" "),t._l(t.columns,(function(n){var s;return e("td",{key:n.id,staticClass:"files-list__row-column-custom",class:"files-list__row-".concat(null===(s=t.currentView)||void 0===s?void 0:s.id,"-").concat(n.id),attrs:{"data-cy-files-list-row-column-custom":n.id},on:{click:t.openDetailsIfAvailable}},[e("CustomElementRender",{attrs:{"current-view":t.currentView,render:n.render,source:t.source}})],1)}))],2)}),[],!1,null,null,null).exports,ds=(0,l.pM)({name:"FileEntryGrid",components:{FileEntryActions:Dn,FileEntryCheckbox:Un,FileEntryName:Rn,FileEntryPreview:os},mixins:[vn],inheritAttrs:!1,setup(){const t=sn(),e=Ke(),n=fe(),s=rn(),i=he(),{currentView:r}=Ot();return{actionsMenuStore:t,draggingStore:e,filesStore:n,renamingStore:s,selectionStore:i,currentView:r}},data:()=>({gridMode:!0})}),us=(0,H.A)(ds,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"files-list__row",class:{"files-list__row--active":t.isActive,"files-list__row--dragover":t.dragover,"files-list__row--loading":t.isLoading},attrs:{"data-cy-files-list-row":"","data-cy-files-list-row-fileid":t.fileid,"data-cy-files-list-row-name":t.source.basename,draggable:t.canDrag},on:{contextmenu:t.onRightClick,dragover:t.onDragOver,dragleave:t.onDragLeave,dragstart:t.onDragStart,dragend:t.onDragEnd,drop:t.onDrop}},[t.source.attributes.failed?e("span",{staticClass:"files-list__row--failed"}):t._e(),t._v(" "),e("FileEntryCheckbox",{attrs:{fileid:t.fileid,"is-loading":t.isLoading,nodes:t.nodes,source:t.source}}),t._v(" "),e("td",{staticClass:"files-list__row-name",attrs:{"data-cy-files-list-row-name":""}},[e("FileEntryPreview",{ref:"preview",attrs:{dragover:t.dragover,"grid-mode":!0,source:t.source},nativeOn:{auxclick:function(e){return t.execDefaultAction.apply(null,arguments)},click:function(e){return t.execDefaultAction.apply(null,arguments)}}}),t._v(" "),e("FileEntryName",{ref:"name",attrs:{"display-name":t.displayName,extension:t.extension,"files-list-width":t.filesListWidth,"grid-mode":!0,nodes:t.nodes,source:t.source},nativeOn:{auxclick:function(e){return t.execDefaultAction.apply(null,arguments)},click:function(e){return t.execDefaultAction.apply(null,arguments)}}})],1),t._v(" "),e("FileEntryActions",{ref:"actions",class:"files-list__row-actions-".concat(t.uniqueId),attrs:{"files-list-width":t.filesListWidth,"grid-mode":!0,loading:t.loading,opened:t.openedMenu,source:t.source},on:{"update:loading":function(e){t.loading=e},"update:opened":function(e){t.openedMenu=e}}})],1)}),[],!1,null,null,null).exports;var ms=s(96763);const ps={name:"FilesListHeader",props:{header:{type:Object,required:!0},currentFolder:{type:Object,required:!0},currentView:{type:Object,required:!0}},computed:{enabled(){return this.header.enabled(this.currentFolder,this.currentView)}},watch:{enabled(t){t&&this.header.updated(this.currentFolder,this.currentView)},currentFolder(){this.header.updated(this.currentFolder,this.currentView)}},mounted(){ms.debug("Mounted",this.header.id),this.header.render(this.$refs.mount,this.currentFolder,this.currentView)}},fs=(0,H.A)(ps,(function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"show",rawName:"v-show",value:t.enabled,expression:"enabled"}],class:"files-list__header-".concat(t.header.id)},[e("span",{ref:"mount"})])}),[],!1,null,null,null).exports,gs=l.Ay.extend({name:"FilesListTableFooter",components:{},props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},nodes:{type:Array,required:!0},summary:{type:String,default:""},filesListWidth:{type:Number,default:0}},setup(){const t=ge();return{filesStore:fe(),pathsStore:t}},computed:{currentView(){return this.$navigation.active},dir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},currentFolder(){var t;if(null===(t=this.currentView)||void 0===t||!t.id)return;if("/"===this.dir)return this.filesStore.getRoot(this.currentView.id);const e=this.pathsStore.getPath(this.currentView.id,this.dir);return this.filesStore.getNode(e)},columns(){var t;return this.filesListWidth<512?[]:(null===(t=this.currentView)||void 0===t?void 0:t.columns)||[]},totalSize(){var t;return null!==(t=this.currentFolder)&&void 0!==t&&t.size?(0,a.v7)(this.currentFolder.size,!0):(0,a.v7)(this.nodes.reduce(((t,e)=>t+e.size||0),0),!0)}},methods:{classForColumn(t){return{"files-list__row-column-custom":!0,["files-list__row-".concat(this.currentView.id,"-").concat(t.id)]:!0}},t:V.Tl}});var hs=s(31840),vs={};vs.styleTagTransform=ht(),vs.setAttributes=mt(),vs.insert=dt().bind(null,"head"),vs.domAPI=lt(),vs.insertStyleElement=ft(),at()(hs.A,vs),hs.A&&hs.A.locals&&hs.A.locals;const ws=(0,H.A)(gs,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",[e("th",{staticClass:"files-list__row-checkbox"},[e("span",{staticClass:"hidden-visually"},[t._v(t._s(t.t("files","Total rows summary")))])]),t._v(" "),e("td",{staticClass:"files-list__row-name"},[e("span",{staticClass:"files-list__row-icon"}),t._v(" "),e("span",[t._v(t._s(t.summary))])]),t._v(" "),e("td",{staticClass:"files-list__row-actions"}),t._v(" "),t.isSizeAvailable?e("td",{staticClass:"files-list__column files-list__row-size"},[e("span",[t._v(t._s(t.totalSize))])]):t._e(),t._v(" "),t.isMtimeAvailable?e("td",{staticClass:"files-list__column files-list__row-mtime"}):t._e(),t._v(" "),t._l(t.columns,(function(n){var s;return e("th",{key:n.id,class:t.classForColumn(n)},[e("span",[t._v(t._s(null===(s=n.summary)||void 0===s?void 0:s.call(n,t.nodes,t.currentView)))])])}))],2)}),[],!1,null,"a85bde20",null).exports;var ys=s(1795),As=s(33017);const bs=l.Ay.extend({computed:{...(0,r.aH)(Bt,["getConfig","setSortingBy","toggleSortingDirection"]),currentView(){return this.$navigation.active},sortingMode(){var t,e;return(null===(t=this.getConfig(this.currentView.id))||void 0===t?void 0:t.sorting_mode)||(null===(e=this.currentView)||void 0===e?void 0:e.defaultSortKey)||"basename"},isAscSorting(){var t;return"desc"!==(null===(t=this.getConfig(this.currentView.id))||void 0===t?void 0:t.sorting_direction)}},methods:{toggleSortBy(t){this.sortingMode!==t?this.setSortingBy(t,this.currentView.id):this.toggleSortingDirection(this.currentView.id)}}}),Cs=(0,l.pM)({name:"FilesListTableHeaderButton",components:{MenuDown:ys.A,MenuUp:As.A,NcButton:Jt.A},mixins:[bs],props:{name:{type:String,required:!0},mode:{type:String,required:!0}},methods:{t:V.Tl}});var _s=s(69426),Ts={};Ts.styleTagTransform=ht(),Ts.setAttributes=mt(),Ts.insert=dt().bind(null,"head"),Ts.domAPI=lt(),Ts.insertStyleElement=ft(),at()(_s.A,Ts),_s.A&&_s.A.locals&&_s.A.locals;const xs=(0,H.A)(Cs,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcButton",{class:["files-list__column-sort-button",{"files-list__column-sort-button--active":t.sortingMode===t.mode,"files-list__column-sort-button--size":"size"===t.sortingMode}],attrs:{alignment:"size"===t.mode?"end":"start-reverse",type:"tertiary"},on:{click:function(e){return t.toggleSortBy(t.mode)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.sortingMode!==t.mode||t.isAscSorting?e("MenuUp",{staticClass:"files-list__column-sort-button-icon"}):e("MenuDown",{staticClass:"files-list__column-sort-button-icon"})]},proxy:!0}])},[t._v(" "),e("span",{staticClass:"files-list__column-sort-button-text"},[t._v(t._s(t.name))])])}),[],!1,null,"2dd1845e",null).exports,Ss=(0,l.pM)({name:"FilesListTableHeader",components:{FilesListTableHeaderButton:xs,NcCheckboxRadioSwitch:Ct.A},mixins:[bs],props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},nodes:{type:Array,required:!0},filesListWidth:{type:Number,default:0}},setup(){const t=fe(),e=he(),{currentView:n}=Ot();return{filesStore:t,selectionStore:e,currentView:n}},computed:{columns(){var t;return this.filesListWidth<512?[]:(null===(t=this.currentView)||void 0===t?void 0:t.columns)||[]},dir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},selectAllBind(){const t=(0,V.Tl)("files","Toggle selection for all files and folders");return{"aria-label":t,checked:this.isAllSelected,indeterminate:this.isSomeSelected,title:t}},selectedNodes(){return this.selectionStore.selected},isAllSelected(){return this.selectedNodes.length===this.nodes.length},isNoneSelected(){return 0===this.selectedNodes.length},isSomeSelected(){return!this.isAllSelected&&!this.isNoneSelected}},methods:{ariaSortForMode(t){return this.sortingMode===t?this.isAscSorting?"ascending":"descending":null},classForColumn(t){var e;return{"files-list__column":!0,"files-list__column--sortable":!!t.sort,"files-list__row-column-custom":!0,["files-list__row-".concat(null===(e=this.currentView)||void 0===e?void 0:e.id,"-").concat(t.id)]:!0}},onToggleAll(t){if(t){const t=this.nodes.map((t=>t.source)).filter(Boolean);nt.debug("Added all nodes to selection",{selection:t}),this.selectionStore.setLastIndex(null),this.selectionStore.set(t)}else nt.debug("Cleared selection"),this.selectionStore.reset()},resetSelection(){this.selectionStore.reset()},t:V.Tl}});var ks=s(75458),Ls={};Ls.styleTagTransform=ht(),Ls.setAttributes=mt(),Ls.insert=dt().bind(null,"head"),Ls.domAPI=lt(),Ls.insertStyleElement=ft(),at()(ks.A,Ls),ks.A&&ks.A.locals&&ks.A.locals;const Es=(0,H.A)(Ss,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"files-list__row-head"},[e("th",{staticClass:"files-list__column files-list__row-checkbox",on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.resetSelection.apply(null,arguments)}}},[e("NcCheckboxRadioSwitch",t._b({on:{"update:checked":t.onToggleAll}},"NcCheckboxRadioSwitch",t.selectAllBind,!1))],1),t._v(" "),e("th",{staticClass:"files-list__column files-list__row-name files-list__column--sortable",attrs:{"aria-sort":t.ariaSortForMode("basename")}},[e("span",{staticClass:"files-list__row-icon"}),t._v(" "),e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Name"),mode:"basename"}})],1),t._v(" "),e("th",{staticClass:"files-list__row-actions"}),t._v(" "),t.isSizeAvailable?e("th",{staticClass:"files-list__column files-list__row-size",class:{"files-list__column--sortable":t.isSizeAvailable},attrs:{"aria-sort":t.ariaSortForMode("size")}},[e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Size"),mode:"size"}})],1):t._e(),t._v(" "),t.isMtimeAvailable?e("th",{staticClass:"files-list__column files-list__row-mtime",class:{"files-list__column--sortable":t.isMtimeAvailable},attrs:{"aria-sort":t.ariaSortForMode("mtime")}},[e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Modified"),mode:"mtime"}})],1):t._e(),t._v(" "),t._l(t.columns,(function(n){return e("th",{key:n.id,class:t.classForColumn(n),attrs:{"aria-sort":t.ariaSortForMode(n.id)}},[n.sort?e("FilesListTableHeaderButton",{attrs:{name:n.title,mode:n.id}}):e("span",[t._v("\n\t\t\t"+t._s(n.title)+"\n\t\t")])],1)}))],2)}),[],!1,null,"68d3de81",null).exports;var Ns=s(17334),Fs=s.n(Ns),Ps=s(96763);const Is=l.Ay.extend({name:"VirtualList",mixins:[Qe],props:{dataComponent:{type:[Object,Function],required:!0},dataKey:{type:String,required:!0},dataSources:{type:Array,required:!0},extraProps:{type:Object,default:()=>({})},scrollToIndex:{type:Number,default:0},gridMode:{type:Boolean,default:!1},caption:{type:String,default:""}},data(){return{index:this.scrollToIndex,beforeHeight:0,headerHeight:0,tableHeight:0,resizeObserver:null}},computed:{isReady(){return this.tableHeight>0},bufferItems(){return this.gridMode?this.columnCount:3},itemHeight(){return this.gridMode?197:55},itemWidth:()=>175,rowCount(){return Math.ceil((this.tableHeight-this.headerHeight)/this.itemHeight)+this.bufferItems/this.columnCount*2+1},columnCount(){return this.gridMode?Math.floor(this.filesListWidth/this.itemWidth):1},startIndex(){return Math.max(0,this.index-this.bufferItems)},shownItems(){return this.gridMode?this.rowCount*this.columnCount:this.rowCount},renderedItems(){if(!this.isReady)return[];const t=this.dataSources.slice(this.startIndex,this.startIndex+this.shownItems),e=t.filter((t=>Object.values(this.$_recycledPool).includes(t[this.dataKey]))).map((t=>t[this.dataKey])),n=Object.keys(this.$_recycledPool).filter((t=>!e.includes(this.$_recycledPool[t])));return t.map((t=>{const e=Object.values(this.$_recycledPool).indexOf(t[this.dataKey]);if(-1!==e)return{key:Object.keys(this.$_recycledPool)[e],item:t};const s=n.pop()||Math.random().toString(36).substr(2);return this.$_recycledPool[s]=t[this.dataKey],{key:s,item:t}}))},totalRowCount(){return Math.floor(this.dataSources.length/this.columnCount)},tbodyStyle(){const t=this.startIndex+this.rowCount>this.dataSources.length,e=this.dataSources.length-this.startIndex-this.shownItems,n=Math.floor(Math.min(this.dataSources.length-this.startIndex,e)/this.columnCount);return{paddingTop:"".concat(Math.floor(this.startIndex/this.columnCount)*this.itemHeight,"px"),paddingBottom:t?0:"".concat(n*this.itemHeight,"px"),minHeight:"".concat(this.totalRowCount*this.itemHeight+this.beforeHeight,"px")}}},watch:{scrollToIndex(t){this.scrollTo(t)},totalRowCount(){this.scrollToIndex&&this.$nextTick((()=>this.scrollTo(this.scrollToIndex)))},columnCount(t,e){0!==e?this.scrollTo(this.index):Ps.debug("VirtualList: columnCount is 0, skipping scroll")}},mounted(){var t,e;const n=null===(t=this.$refs)||void 0===t?void 0:t.before,s=this.$el,i=null===(e=this.$refs)||void 0===e?void 0:e.thead;this.resizeObserver=new ResizeObserver(Fs()((()=>{var t,e,r;this.beforeHeight=null!==(t=null==n?void 0:n.clientHeight)&&void 0!==t?t:0,this.headerHeight=null!==(e=null==i?void 0:i.clientHeight)&&void 0!==e?e:0,this.tableHeight=null!==(r=null==s?void 0:s.clientHeight)&&void 0!==r?r:0,nt.debug("VirtualList: resizeObserver updated"),this.onScroll()}),100,!1)),this.resizeObserver.observe(n),this.resizeObserver.observe(s),this.resizeObserver.observe(i),this.scrollToIndex&&this.scrollTo(this.scrollToIndex),this.$el.addEventListener("scroll",this.onScroll,{passive:!0}),this.$_recycledPool={}},beforeDestroy(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{scrollTo(t){const e=Math.ceil(this.dataSources.length/this.columnCount);if(e{this._onScrollHandle=null;const t=this.$el.scrollTop-this.beforeHeight,e=Math.floor(t/this.itemHeight)*this.columnCount;this.index=Math.max(0,e),this.$emit("scroll")})))}}}),Ds=(0,H.A)(Is,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list",attrs:{"data-cy-files-list":""}},[e("div",{ref:"before",staticClass:"files-list__before"},[t._t("before")],2),t._v(" "),t.$scopedSlots["header-overlay"]?e("div",{staticClass:"files-list__thead-overlay"},[t._t("header-overlay")],2):t._e(),t._v(" "),e("table",{staticClass:"files-list__table",class:{"files-list__table--with-thead-overlay":!!t.$scopedSlots["header-overlay"]}},[t.caption?e("caption",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.caption)+"\n\t\t")]):t._e(),t._v(" "),e("thead",{ref:"thead",staticClass:"files-list__thead",attrs:{"data-cy-files-list-thead":""}},[t._t("header")],2),t._v(" "),e("tbody",{staticClass:"files-list__tbody",class:t.gridMode?"files-list__tbody--grid":"files-list__tbody--list",style:t.tbodyStyle,attrs:{"data-cy-files-list-tbody":""}},t._l(t.renderedItems,(function(n,s){let{key:i,item:r}=n;return e(t.dataComponent,t._b({key:i,tag:"component",attrs:{source:r,index:s}},"component",t.extraProps,!1))})),1),t._v(" "),e("tfoot",{directives:[{name:"show",rawName:"v-show",value:t.isReady,expression:"isReady"}],staticClass:"files-list__tfoot",attrs:{"data-cy-files-list-tfoot":""}},[t._t("footer")],2)])])}),[],!1,null,null,null).exports,Os=(0,a.qK)(),Us=(0,l.pM)({name:"FilesListTableHeaderActions",components:{NcActions:Cn.A,NcActionButton:bn.A,NcIconSvgWrapper:Y.A,NcLoadingIcon:Zt.A},mixins:[Qe],props:{currentView:{type:Object,required:!0},selectedNodes:{type:Array,default:()=>[]}},setup:()=>({actionsMenuStore:sn(),filesStore:fe(),selectionStore:he()}),data:()=>({loading:null}),computed:{dir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},enabledActions(){return Os.filter((t=>t.execBatch)).filter((t=>!t.enabled||t.enabled(this.nodes,this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0)))},nodes(){return this.selectedNodes.map((t=>this.getNode(t))).filter(Boolean)},areSomeNodesLoading(){return this.nodes.some((t=>t.status===a.zI.LOADING))},openedMenu:{get(){return"global"===this.actionsMenuStore.opened},set(t){this.actionsMenuStore.opened=t?"global":null}},inlineActions(){return this.filesListWidth<512?0:this.filesListWidth<768?1:this.filesListWidth<1024?2:3}},methods:{getNode(t){return this.filesStore.getNode(t)},async onActionClick(t){const e=t.displayName(this.nodes,this.currentView),n=this.selectedNodes;try{this.loading=t.id,this.nodes.forEach((t=>{l.Ay.set(t,"status",a.zI.LOADING)}));const s=await t.execBatch(this.nodes,this.currentView,this.dir);if(!s.some((t=>null!==t)))return void this.selectionStore.reset();if(s.some((t=>!1===t))){const t=n.filter(((t,e)=>!1===s[e]));if(this.selectionStore.set(t),s.some((t=>null===t)))return;return void(0,J.Qg)(this.t("files",'"{displayName}" failed on some elements ',{displayName:e}))}(0,J.Te)(this.t("files",'"{displayName}" batch action executed successfully',{displayName:e})),this.selectionStore.reset()}catch(n){nt.error("Error while executing action",{action:t,e:n}),(0,J.Qg)(this.t("files",'"{displayName}" action failed',{displayName:e}))}finally{this.loading=null,this.nodes.forEach((t=>{l.Ay.set(t,"status",void 0)}))}},t:V.Tl}}),Bs=Us;var Ms=s(30651),js={};js.styleTagTransform=ht(),js.setAttributes=mt(),js.insert=dt().bind(null,"head"),js.domAPI=lt(),js.insertStyleElement=ft(),at()(Ms.A,js),Ms.A&&Ms.A.locals&&Ms.A.locals;var Rs=(0,H.A)(Bs,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list__column files-list__row-actions-batch"},[e("NcActions",{ref:"actionsMenu",attrs:{disabled:!!t.loading||t.areSomeNodesLoading,"force-name":!0,inline:t.inlineActions,"menu-name":t.inlineActions<=1?t.t("files","Actions"):null,open:t.openedMenu},on:{"update:open":function(e){t.openedMenu=e}}},t._l(t.enabledActions,(function(n){return e("NcActionButton",{key:n.id,class:"files-list__row-actions-batch-"+n.id,on:{click:function(e){return t.onActionClick(n)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading===n.id?e("NcLoadingIcon",{attrs:{size:18}}):e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline(t.nodes,t.currentView)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t"+t._s(n.displayName(t.nodes,t.currentView))+"\n\t\t")])})),1)],1)}),[],!1,null,"91476734",null);const zs=Rs.exports,Vs=(0,l.pM)({name:"FilesListVirtual",components:{FilesListHeader:fs,FilesListTableFooter:ws,FilesListTableHeader:Es,VirtualList:Ds,FilesListTableHeaderActions:zs},mixins:[Qe],props:{currentView:{type:a.Ss,required:!0},currentFolder:{type:a.vd,required:!0},nodes:{type:Array,required:!0}},setup:()=>({userConfigStore:Et(),selectionStore:he()}),data:()=>({FileEntry:cs,FileEntryGrid:us,headers:(0,a.By)(),scrollToIndex:0,openFileId:null}),computed:{userConfig(){return this.userConfigStore.userConfig},fileId(){return parseInt(this.$route.params.fileid)||null},openFile(){return!!this.$route.query.openfile},summary(){return en(this.nodes)},isMtimeAvailable(){return!(this.filesListWidth<768)&&this.nodes.some((t=>void 0!==t.mtime))},isSizeAvailable(){return!(this.filesListWidth<768)&&this.nodes.some((t=>void 0!==t.size))},sortedHeaders(){return this.currentFolder&&this.currentView?[...this.headers].sort(((t,e)=>t.order-e.order)):[]},caption(){const t=(0,V.Tl)("files","List of files and folders."),e=this.currentView.caption||t,n=(0,V.Tl)("files","Column headers with buttons are sortable."),s=(0,V.Tl)("files","This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.");return"".concat(e,"\n").concat(n,"\n").concat(s)},selectedNodes(){return this.selectionStore.selected},isNoneSelected(){return 0===this.selectedNodes.length}},watch:{fileId(t){this.scrollToFile(t,!1)},openFile(t){t&&this.$nextTick((()=>this.handleOpenFile(this.fileId)))}},mounted(){window.document.querySelector("main.app-content").addEventListener("dragover",this.onDragOver);const{id:t}=(0,Q.C)("files","fileInfo",{});this.scrollToFile(null!=t?t:this.fileId),this.openSidebarForFile(null!=t?t:this.fileId),this.handleOpenFile(null!=t?t:null)},beforeDestroy(){window.document.querySelector("main.app-content").removeEventListener("dragover",this.onDragOver)},methods:{openSidebarForFile(t){if(document.documentElement.clientWidth>1024&&this.currentFolder.fileid!==t){var e;const n=this.nodes.find((e=>e.fileid===t));n&&null!=ae&&null!==(e=ae.enabled)&&void 0!==e&&e.call(ae,[n],this.currentView)&&(nt.debug("Opening sidebar on file "+n.path,{node:n}),ae.exec(n,this.currentView,this.currentFolder.path))}},scrollToFile(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t){const n=this.nodes.findIndex((e=>e.fileid===t));e&&-1===n&&t!==this.currentFolder.fileid&&(0,J.Qg)(this.t("files","File not found")),this.scrollToIndex=Math.max(0,n)}},handleOpenFile(t){if(!this.openFile)return;if(null===t||this.openFileId===t)return;const e=this.nodes.find((e=>e.fileid===t));if(void 0===e||e.type===a.pt.Folder)return;nt.debug("Opening file "+e.path,{node:e}),this.openFileId=t;const n=(0,a.qK)().filter((t=>!(null==t||!t.default))).filter((t=>!t.enabled||t.enabled([e],this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0))).at(0);null==n||n.exec(e,this.currentView,this.currentFolder.path)},onDragOver(t){var e;if(null===(e=t.dataTransfer)||void 0===e?void 0:e.types.includes("Files"))return;t.preventDefault(),t.stopPropagation();const n=this.$refs.table.$el.getBoundingClientRect().top,s=n+this.$refs.table.$el.getBoundingClientRect().height;t.clientYs-50&&(this.$refs.table.$el.scrollTop=this.$refs.table.$el.scrollTop+25)},t:V.Tl}});var qs=s(67436),Hs={};Hs.styleTagTransform=ht(),Hs.setAttributes=mt(),Hs.insert=dt().bind(null,"head"),Hs.domAPI=lt(),Hs.insertStyleElement=ft(),at()(qs.A,Hs),qs.A&&qs.A.locals&&qs.A.locals;var Ws=s(31772),$s={};$s.styleTagTransform=ht(),$s.setAttributes=mt(),$s.insert=dt().bind(null,"head"),$s.domAPI=lt(),$s.insertStyleElement=ft(),at()(Ws.A,$s),Ws.A&&Ws.A.locals&&Ws.A.locals;const Gs=(0,H.A)(Vs,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("VirtualList",{ref:"table",attrs:{"data-component":t.userConfig.grid_view?t.FileEntryGrid:t.FileEntry,"data-key":"source","data-sources":t.nodes,"grid-mode":t.userConfig.grid_view,"extra-props":{isMtimeAvailable:t.isMtimeAvailable,isSizeAvailable:t.isSizeAvailable,nodes:t.nodes,filesListWidth:t.filesListWidth},"scroll-to-index":t.scrollToIndex,caption:t.caption},scopedSlots:t._u([t.isNoneSelected?null:{key:"header-overlay",fn:function(){return[e("span",{staticClass:"files-list__selected"},[t._v(t._s(t.t("files","{count} selected",{count:t.selectedNodes.length})))]),t._v(" "),e("FilesListTableHeaderActions",{attrs:{"current-view":t.currentView,"selected-nodes":t.selectedNodes}})]},proxy:!0},{key:"before",fn:function(){return t._l(t.sortedHeaders,(function(n){return e("FilesListHeader",{key:n.id,attrs:{"current-folder":t.currentFolder,"current-view":t.currentView,header:n}})}))},proxy:!0},{key:"header",fn:function(){return[e("FilesListTableHeader",{ref:"thead",attrs:{"files-list-width":t.filesListWidth,"is-mtime-available":t.isMtimeAvailable,"is-size-available":t.isSizeAvailable,nodes:t.nodes}})]},proxy:!0},{key:"footer",fn:function(){return[e("FilesListTableFooter",{attrs:{"files-list-width":t.filesListWidth,"is-mtime-available":t.isMtimeAvailable,"is-size-available":t.isSizeAvailable,nodes:t.nodes,summary:t.summary}})]},proxy:!0}],null,!0)})}),[],!1,null,"1e2b43b6",null).exports,Ys={name:"TrayArrowDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ks=(0,H.A)(Ys,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tray-arrow-down-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Qs=(0,l.pM)({name:"DragAndDropNotice",components:{TrayArrowDownIcon:Ks},props:{currentFolder:{type:Object,required:!0}},setup(){const{currentView:t}=Ot();return{currentView:t}},data:()=>({dragover:!1}),computed:{canUpload(){return this.currentFolder&&0!=(this.currentFolder.permissions&a.aX.CREATE)},isQuotaExceeded(){var t;return 0===(null===(t=this.currentFolder)||void 0===t||null===(t=t.attributes)||void 0===t?void 0:t["quota-available-bytes"])},cantUploadLabel(){return this.isQuotaExceeded?this.t("files","Your have used your space quota and cannot upload files anymore"):this.canUpload?null:this.t("files","You don’t have permission to upload or create files here")}},mounted(){const t=window.document.querySelector("main.app-content");t.addEventListener("dragover",this.onDragOver),t.addEventListener("dragleave",this.onDragLeave),t.addEventListener("drop",this.onContentDrop)},beforeDestroy(){const t=window.document.querySelector("main.app-content");t.removeEventListener("dragover",this.onDragOver),t.removeEventListener("dragleave",this.onDragLeave),t.removeEventListener("drop",this.onContentDrop)},methods:{onDragOver(t){var e;t.preventDefault(),(null===(e=t.dataTransfer)||void 0===e?void 0:e.types.includes("Files"))&&(this.dragover=!0)},onDragLeave(t){var e;const n=t.currentTarget;null!=n&&n.contains(null!==(e=t.relatedTarget)&&void 0!==e?e:t.target)||this.dragover&&(this.dragover=!1)},onContentDrop(t){nt.debug("Drag and drop cancelled, dropped on empty space",{event:t}),t.preventDefault(),this.dragover&&(this.dragover=!1)},async onDrop(t){var e,n,s;if(this.cantUploadLabel)return void(0,J.Qg)(this.cantUploadLabel);if(null!==(e=this.$el.querySelector("tbody"))&&void 0!==e&&e.contains(t.target))return;t.preventDefault(),t.stopPropagation();const i=[...(null===(n=t.dataTransfer)||void 0===n?void 0:n.items)||[]],r=await $e(i),a=await(null===(s=this.currentView)||void 0===s?void 0:s.getContents(this.currentFolder.path)),o=null==a?void 0:a.folder;if(!o)return void(0,J.Qg)(this.t("files","Target folder does not exist any more"));if(t.button)return;nt.debug("Dropped",{event:t,folder:o,fileTree:r});const l=(await Ge(r,o,a.contents)).findLast((t=>{var e;return t.status!==Ht.c.FAILED&&!t.file.webkitRelativePath.includes("/")&&(null===(e=t.response)||void 0===e||null===(e=e.headers)||void 0===e?void 0:e["oc-fileid"])&&2===t.source.replace(o.source,"").split("/").length}));var c,d;void 0!==l&&(nt.debug("Scrolling to last upload in current folder",{lastUpload:l}),this.$router.push({...this.$route,params:{view:null!==(c=null===(d=this.$route.params)||void 0===d?void 0:d.view)&&void 0!==c?c:"files",fileid:parseInt(l.response.headers["oc-fileid"])}})),this.dragover=!1},t:V.Tl}});var Js=s(20746),Xs={};Xs.styleTagTransform=ht(),Xs.setAttributes=mt(),Xs.insert=dt().bind(null,"head"),Xs.domAPI=lt(),Xs.insertStyleElement=ft(),at()(Js.A,Xs),Js.A&&Js.A.locals&&Js.A.locals;const Zs=(0,H.A)(Qs,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{directives:[{name:"show",rawName:"v-show",value:t.dragover,expression:"dragover"}],staticClass:"files-list__drag-drop-notice",attrs:{"data-cy-files-drag-drop-area":""},on:{drop:t.onDrop}},[e("div",{staticClass:"files-list__drag-drop-notice-wrapper"},[t.canUpload&&!t.isQuotaExceeded?[e("TrayArrowDownIcon",{attrs:{size:48}}),t._v(" "),e("h3",{staticClass:"files-list-drag-drop-notice__title"},[t._v("\n\t\t\t\t"+t._s(t.t("files","Drag and drop files here to upload"))+"\n\t\t\t")])]:[e("h3",{staticClass:"files-list-drag-drop-notice__title"},[t._v("\n\t\t\t\t"+t._s(t.cantUploadLabel)+"\n\t\t\t")])]],2)])}),[],!1,null,"2b498b48",null).exports;var ti,ei=s(96763);const ni=void 0!==(null===(ti=(0,Vt.F)())||void 0===ti?void 0:ti.files_sharing),si=(0,l.pM)({name:"FilesList",components:{BreadCrumbs:tn,DragAndDropNotice:Zs,FilesListVirtual:Gs,LinkIcon:Gt.A,ListViewIcon:Kt,NcAppContent:Qt.A,NcButton:Jt.A,NcEmptyContent:Xt.A,NcIconSvgWrapper:Y.A,NcLoadingIcon:Zt.A,PlusIcon:te.A,AccountPlusIcon:ne,UploadPicker:Ht.U,ViewGridIcon:ie},mixins:[Qe,bs],setup(){var t;const e=fe(),n=ge(),s=he(),i=we(),r=Et(),a=Bt(),{currentView:o}=Ot(),l=null===(t=(0,Q.C)("core","config",[])["enable_non-accessible_features"])||void 0===t||t;return{currentView:o,n:V.zw,t:V.Tl,filesStore:e,pathsStore:n,selectionStore:s,uploaderStore:i,userConfigStore:r,viewConfigStore:a,enableGridView:l,ShareType:qt.I}},data:()=>({filterText:"",loading:!0,promise:null,unsubscribeStoreCallback:()=>{}}),computed:{userConfig(){return this.userConfigStore.userConfig},pageHeading(){var t,e;return null!==(t=null===(e=this.currentView)||void 0===e?void 0:e.name)&&void 0!==t?t:this.t("files","Files")},dir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t||null===(t=t.dir)||void 0===t?void 0:t.toString())||"/").replace(/^(.+)\/$/,"$1")},fileId(){var t,e;const n=Number.parseInt(null!==(t=null===(e=this.$route)||void 0===e?void 0:e.params.fileid)&&void 0!==t?t:"");return Number.isNaN(n)?null:n},currentFolder(){var t;if(null===(t=this.currentView)||void 0===t||!t.id)return;if("/"===this.dir)return this.filesStore.getRoot(this.currentView.id);const e=this.pathsStore.getPath(this.currentView.id,this.dir);return void 0!==e?this.filesStore.getNode(e):void 0},sortingParameters(){return[[...this.userConfig.sort_favorites_first?[t=>{var e;return 1!==(null===(e=t.attributes)||void 0===e?void 0:e.favorite)}]:[],...this.userConfig.sort_folders_first?[t=>"folder"!==t.type]:[],..."basename"!==this.sortingMode?[t=>t[this.sortingMode]]:[],t=>{var e;return(null===(e=t.attributes)||void 0===e?void 0:e.displayname)||t.basename},t=>t.basename],[...this.userConfig.sort_favorites_first?["asc"]:[],...this.userConfig.sort_folders_first?["asc"]:[],..."mtime"===this.sortingMode?[this.isAscSorting?"desc":"asc"]:[],..."mtime"!==this.sortingMode&&"basename"!==this.sortingMode?[this.isAscSorting?"asc":"desc"]:[],this.isAscSorting?"asc":"desc",this.isAscSorting?"asc":"desc"]]},dirContentsSorted(){var t;if(!this.currentView)return[];let e=[...this.dirContents];this.filterText&&(e=e.filter((t=>t.basename.toLowerCase().includes(this.filterText.toLowerCase()))),ei.debug("Files view filtered",e));const n=((null===(t=this.currentView)||void 0===t?void 0:t.columns)||[]).find((t=>t.id===this.sortingMode));if(null!=n&&n.sort&&"function"==typeof n.sort){const t=[...this.dirContents].sort(n.sort);return this.isAscSorting?t:t.reverse()}return function(t,e,n){var s,i;e=null!==(s=e)&&void 0!==s?s:[t=>t],n=null!==(i=n)&&void 0!==i?i:[];const r=e.map(((t,e)=>{var s;return"asc"===(null!==(s=n[e])&&void 0!==s?s:"asc")?1:-1})),a=Intl.Collator([(0,V.Z0)(),(0,V.lO)()],{numeric:!0,usage:"sort"});return[...t].sort(((t,n)=>{for(const[s,i]of e.entries()){const e=a.compare(ye(i(t)),ye(i(n)));if(0!==e)return e*r[s]}return 0}))}(e,...this.sortingParameters)},dirContents(){var t,e;const n=null===(t=this.userConfigStore)||void 0===t?void 0:t.userConfig.show_hidden;return((null===(e=this.currentFolder)||void 0===e?void 0:e._children)||[]).map(this.getNode).filter((t=>{var e;return n?!!t:t&&!0!==(null==t||null===(e=t.attributes)||void 0===e?void 0:e.hidden)&&!(null!=t&&t.basename.startsWith("."))}))},isEmptyDir(){return 0===this.dirContents.length},isRefreshing(){return void 0!==this.currentFolder&&!this.isEmptyDir&&this.loading},toPreviousDir(){const t=this.dir.split("/").slice(0,-1).join("/")||"/";return{...this.$route,query:{dir:t}}},shareAttributes(){var t,e;if(null!==(t=this.currentFolder)&&void 0!==t&&null!==(t=t.attributes)&&void 0!==t&&t["share-types"])return Object.values((null===(e=this.currentFolder)||void 0===e||null===(e=e.attributes)||void 0===e?void 0:e["share-types"])||{}).flat()},shareButtonLabel(){return this.shareAttributes?this.shareButtonType===qt.I.Link?this.t("files","Shared by link"):this.t("files","Shared"):this.t("files","Share")},shareButtonType(){return this.shareAttributes?this.shareAttributes.some((t=>t===qt.I.Link))?qt.I.Link:qt.I.User:null},gridViewButtonLabel(){return this.userConfig.grid_view?this.t("files","Switch to list view"):this.t("files","Switch to grid view")},canUpload(){return this.currentFolder&&0!=(this.currentFolder.permissions&a.aX.CREATE)},isQuotaExceeded(){var t;return 0===(null===(t=this.currentFolder)||void 0===t||null===(t=t.attributes)||void 0===t?void 0:t["quota-available-bytes"])},cantUploadLabel(){return this.isQuotaExceeded?this.t("files","Your have used your space quota and cannot upload files anymore"):this.t("files","You don’t have permission to upload or create files here")},canShare(){return ni&&this.currentFolder&&0!=(this.currentFolder.permissions&a.aX.SHARE)},onSearch(){return Fs()((t=>{ei.debug("Files app handling search event from unified search...",t),this.filterText=t.query}),500)}},watch:{currentView(t,e){(null==t?void 0:t.id)!==(null==e?void 0:e.id)&&(nt.debug("View changed",{newView:t,oldView:e}),this.selectionStore.reset(),this.resetSearch(),this.fetchContent())},dir(t,e){var n;nt.debug("Directory changed",{newDir:t,oldDir:e}),this.selectionStore.reset(),this.resetSearch(),this.fetchContent();const s=null===(n=this.$refs)||void 0===n?void 0:n.filesListVirtual;null!=s&&s.$el&&(s.$el.scrollTop=0)},dirContents(t){nt.debug("Directory contents changed",{view:this.currentView,folder:this.currentFolder,contents:t}),(0,z.Ic)("files:list:updated",{view:this.currentView,folder:this.currentFolder,contents:t})}},mounted(){this.fetchContent(),(0,z.B1)("files:node:deleted",this.onNodeDeleted),(0,z.B1)("files:node:updated",this.onUpdatedNode),(0,z.B1)("nextcloud:unified-search.search",this.onSearch),(0,z.B1)("nextcloud:unified-search.reset",this.resetSearch),this.unsubscribeStoreCallback=this.userConfigStore.$subscribe((()=>this.fetchContent()),{deep:!0})},unmounted(){(0,z.al)("files:node:deleted",this.onNodeDeleted),(0,z.al)("files:node:updated",this.onUpdatedNode),(0,z.al)("nextcloud:unified-search.search",this.onSearch),(0,z.al)("nextcloud:unified-search.reset",this.resetSearch),this.unsubscribeStoreCallback()},methods:{async fetchContent(){this.loading=!0;const t=this.dir,e=this.currentView;if(e){this.promise&&"cancel"in this.promise&&(this.promise.cancel(),nt.debug("Cancelled previous ongoing fetch")),this.promise=e.getContents(t);try{const{folder:n,contents:s}=await this.promise;nt.debug("Fetched contents",{dir:t,folder:n,contents:s}),this.filesStore.updateNodes(s),this.$set(n,"_children",s.map((t=>t.source))),"/"===t?this.filesStore.setRoot({service:e.id,root:n}):n.fileid?(this.filesStore.updateNodes([n]),this.pathsStore.addPath({service:e.id,source:n.source,path:t})):nt.error("Invalid root folder returned",{dir:t,folder:n,currentView:e}),s.filter((t=>"folder"===t.type)).forEach((n=>{this.pathsStore.addPath({service:e.id,source:n.source,path:(0,Wt.join)(t,n.basename)})}))}catch(t){nt.error("Error while fetching content",{error:t})}finally{this.loading=!1}}else nt.debug("The current view doesn't exists or is not ready.",{currentView:e})},getNode(t){return this.filesStore.getNode(t)},onNodeDeleted(t){var e,n,s;t.fileid&&t.fileid===this.fileId&&(t.fileid===(null===(e=this.currentFolder)||void 0===e?void 0:e.fileid)?window.OCP.Files.Router.goToRoute(null,{view:this.$route.params.view},{dir:null!==(n=null===(s=this.currentFolder)||void 0===s?void 0:s.dirname)&&void 0!==n?n:"/"}):window.OCP.Files.Router.goToRoute(null,{...this.$route.params,fileid:void 0},{...this.$route.query,openfile:void 0}))},onUpload(t){var e;(0,Wt.dirname)(t.source)===(null===(e=this.currentFolder)||void 0===e?void 0:e.source)&&this.fetchContent()},async onUploadFail(t){var e;const n=(null===(e=t.response)||void 0===e?void 0:e.status)||0;if(507!==n)if(404!==n&&409!==n)if(403!==n){try{var s;const e=new $t.Parser({trim:!0,explicitRoot:!1}),n=(await e.parseStringPromise(null===(s=t.response)||void 0===s?void 0:s.data))["s:message"][0];if("string"==typeof n&&""!==n.trim())return void(0,J.Qg)(this.t("files","Error during upload: {message}",{message:n}))}catch(t){nt.error("Error while parsing",{error:t})}0===n?(0,J.Qg)(this.t("files","Unknown error during upload")):(0,J.Qg)(this.t("files","Error during upload, status code {status}",{status:n}))}else(0,J.Qg)(this.t("files","Operation is blocked by access control"));else(0,J.Qg)(this.t("files","Target folder does not exist any more"));else(0,J.Qg)(this.t("files","Not enough free space"))},onUpdatedNode(t){var e;(null==t?void 0:t.fileid)===(null===(e=this.currentFolder)||void 0===e?void 0:e.fileid)&&this.fetchContent()},resetSearch(){this.onSearch.clear(),this.filterText=""},openSharingSidebar(){var t;this.currentFolder?(null!==(t=window)&&void 0!==t&&null!==(t=t.OCA)&&void 0!==t&&null!==(t=t.Files)&&void 0!==t&&null!==(t=t.Sidebar)&&void 0!==t&&t.setActiveTab&&window.OCA.Files.Sidebar.setActiveTab("sharing"),ae.exec(this.currentFolder,this.currentView,this.currentFolder.path)):nt.debug("No current folder found for opening sharing sidebar")},toggleGridView(){this.userConfigStore.update("grid_view",!this.userConfig.grid_view)}}});var ii=s(79335),ri={};ri.styleTagTransform=ht(),ri.setAttributes=mt(),ri.insert=dt().bind(null,"head"),ri.domAPI=lt(),ri.insertStyleElement=ft(),at()(ii.A,ri),ii.A&&ii.A.locals&&ii.A.locals;const ai=(0,H.A)(si,(function(){var t,e,n=this,s=n._self._c;return n._self._setupProxy,s("NcAppContent",{attrs:{"page-heading":n.pageHeading,"data-cy-files-content":""}},[s("div",{staticClass:"files-list__header"},[s("BreadCrumbs",{attrs:{path:n.dir},on:{reload:n.fetchContent},scopedSlots:n._u([{key:"actions",fn:function(){return[n.canShare&&n.filesListWidth>=512?s("NcButton",{staticClass:"files-list__header-share-button",class:{"files-list__header-share-button--shared":n.shareButtonType},attrs:{"aria-label":n.shareButtonLabel,title:n.shareButtonLabel,type:"tertiary"},on:{click:n.openSharingSidebar},scopedSlots:n._u([{key:"icon",fn:function(){return[n.shareButtonType===n.ShareType.Link?s("LinkIcon"):s("AccountPlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,4106306959)}):n._e(),n._v(" "),!n.canUpload||n.isQuotaExceeded?s("NcButton",{staticClass:"files-list__header-upload-button--disabled",attrs:{"aria-label":n.cantUploadLabel,title:n.cantUploadLabel,disabled:!0,type:"secondary"},scopedSlots:n._u([{key:"icon",fn:function(){return[s("PlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2953566425)},[n._v("\n\t\t\t\t\t"+n._s(n.t("files","New"))+"\n\t\t\t\t")]):n.currentFolder?s("UploadPicker",{staticClass:"files-list__header-upload-button",attrs:{content:n.dirContents,destination:n.currentFolder,multiple:!0},on:{failed:n.onUploadFail,uploaded:n.onUpload}}):n._e()]},proxy:!0}])}),n._v(" "),n.filesListWidth>=512&&n.enableGridView?s("NcButton",{staticClass:"files-list__header-grid-button",attrs:{"aria-label":n.gridViewButtonLabel,title:n.gridViewButtonLabel,type:"tertiary"},on:{click:n.toggleGridView},scopedSlots:n._u([{key:"icon",fn:function(){return[n.userConfig.grid_view?s("ListViewIcon"):s("ViewGridIcon")]},proxy:!0}],null,!1,1682960703)}):n._e(),n._v(" "),n.isRefreshing?s("NcLoadingIcon",{staticClass:"files-list__refresh-icon"}):n._e()],1),n._v(" "),!n.loading&&n.canUpload?s("DragAndDropNotice",{attrs:{"current-folder":n.currentFolder}}):n._e(),n._v(" "),n.loading&&!n.isRefreshing?s("NcLoadingIcon",{staticClass:"files-list__loading-icon",attrs:{size:38,name:n.t("files","Loading current folder")}}):!n.loading&&n.isEmptyDir?s("NcEmptyContent",{attrs:{name:(null===(t=n.currentView)||void 0===t?void 0:t.emptyTitle)||n.t("files","No files in here"),description:(null===(e=n.currentView)||void 0===e?void 0:e.emptyCaption)||n.t("files","Upload some content or sync with your devices!"),"data-cy-files-content-empty":""},scopedSlots:n._u([{key:"action",fn:function(){return["/"!==n.dir?s("NcButton",{attrs:{"aria-label":n.t("files","Go to the previous folder"),type:"primary",to:n.toPreviousDir}},[n._v("\n\t\t\t\t"+n._s(n.t("files","Go back"))+"\n\t\t\t")]):n._e()]},proxy:!0},{key:"icon",fn:function(){return[s("NcIconSvgWrapper",{attrs:{svg:n.currentView.icon}})]},proxy:!0}])}):s("FilesListVirtual",{ref:"filesListVirtual",attrs:{"current-folder":n.currentFolder,"current-view":n.currentView,nodes:n.dirContentsSorted}})],1)}),[],!1,null,"139727ec",null).exports,oi=(0,l.pM)({name:"FilesApp",components:{NcContent:R.A,FilesList:ai,Navigation:zt}}),li=(0,H.A)(oi,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcContent",{attrs:{"app-name":"files"}},[e("Navigation"),t._v(" "),e("FilesList")],1)}),[],!1,null,null,null).exports;var ci,di;s.nc=btoa((0,o.do)()),window.OCA.Files=null!==(ci=window.OCA.Files)&&void 0!==ci?ci:{},window.OCP.Files=null!==(di=window.OCP.Files)&&void 0!==di?di:{};const ui=new class{constructor(t){var e,n,s;e=this,s=void 0,(n=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(n="_router"))in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,this._router=t}get name(){return this._router.currentRoute.name}get query(){return this._router.currentRoute.query||{}}get params(){return this._router.currentRoute.params||{}}goTo(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this._router.push({path:t,replace:e})}goToRoute(t,e,n,s){return this._router.push({name:t,query:n,params:e,replace:s})}}(B);Object.assign(window.OCP.Files,{Router:ui}),l.Ay.use(r.R2);const mi=l.Ay.observable((0,a.bh)());l.Ay.prototype.$navigation=mi;const pi=new class{constructor(){var t,e,n;t=this,n=void 0,(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e="_settings"))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,this._settings=[],j.debug("OCA.Files.Settings initialized")}register(t){return this._settings.filter((e=>e.name===t.name)).length>0?(j.error("A setting with the same name is already registered"),!1):(this._settings.push(t),!0)}get settings(){return this._settings}};Object.assign(window.OCA.Files,{Settings:pi}),Object.assign(window.OCA.Files.Settings,{Setting:class{constructor(t,e){let{el:n,open:s,close:i}=e;M(this,"_close",void 0),M(this,"_el",void 0),M(this,"_name",void 0),M(this,"_open",void 0),this._name=t,this._el=n,this._open=s,this._close=i,"function"!=typeof this._open&&(this._open=()=>{}),"function"!=typeof this._close&&(this._close=()=>{})}get name(){return this._name}get el(){return this._el}get open(){return this._open}get close(){return this._close}}}),new(l.Ay.extend(li))({router:B,pinia:c}).$mount("#content")},30521:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css"],names:[],mappings:"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF",sourcesContent:[".upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n"],sourceRoot:""}]);const o=a},67430:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list__breadcrumbs[data-v-77111ada]{flex:1 1 100% !important;width:100%;height:100%;margin-block:0;margin-inline:10px}.files-list__breadcrumbs[data-v-77111ada] a{cursor:pointer !important}.files-list__breadcrumbs--with-progress[data-v-77111ada]{flex-direction:column !important;align-items:flex-start !important}","",{version:3,sources:["webpack://./apps/files/src/components/BreadCrumbs.vue"],names:[],mappings:"AACA,0CAEC,wBAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,kBAAA,CAGC,6CACC,yBAAA,CAIF,yDACC,gCAAA,CACA,iCAAA",sourcesContent:["\n.files-list__breadcrumbs {\n\t// Take as much space as possible\n\tflex: 1 1 100% !important;\n\twidth: 100%;\n\theight: 100%;\n\tmargin-block: 0;\n\tmargin-inline: 10px;\n\n\t:deep() {\n\t\ta {\n\t\t\tcursor: pointer !important;\n\t\t}\n\t}\n\n\t&--with-progress {\n\t\tflex-direction: column !important;\n\t\talign-items: flex-start !important;\n\t}\n}\n"],sourceRoot:""}]);const o=a},20746:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list__drag-drop-notice[data-v-2b498b48]{display:flex;align-items:center;justify-content:center;width:100%;min-height:113px;margin:0;user-select:none;color:var(--color-text-maxcontrast);background-color:var(--color-main-background);border-color:#000}.files-list__drag-drop-notice h3[data-v-2b498b48]{margin-left:16px;color:inherit}.files-list__drag-drop-notice-wrapper[data-v-2b498b48]{display:flex;align-items:center;justify-content:center;height:15vh;max-height:70%;padding:0 5vw;border:2px var(--color-border-dark) dashed;border-radius:var(--border-radius-large)}","",{version:3,sources:["webpack://./apps/files/src/components/DragAndDropNotice.vue"],names:[],mappings:"AACA,+CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAEA,gBAAA,CACA,QAAA,CACA,gBAAA,CACA,mCAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kDACC,gBAAA,CACA,aAAA,CAGD,uDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,cAAA,CACA,aAAA,CACA,0CAAA,CACA,wCAAA",sourcesContent:["\n.files-list__drag-drop-notice {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\t// Breadcrumbs height + row thead height\n\tmin-height: calc(58px + 55px);\n\tmargin: 0;\n\tuser-select: none;\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: var(--color-main-background);\n\tborder-color: black;\n\n\th3 {\n\t\tmargin-left: 16px;\n\t\tcolor: inherit;\n\t}\n\n\t&-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\theight: 15vh;\n\t\tmax-height: 70%;\n\t\tpadding: 0 5vw;\n\t\tborder: 2px var(--color-border-dark) dashed;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n}\n\n"],sourceRoot:""}]);const o=a},76810:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list-drag-image{position:absolute;top:-9999px;left:-9999px;display:flex;overflow:hidden;align-items:center;height:44px;padding:6px 12px;background:var(--color-main-background)}.files-list-drag-image__icon,.files-list-drag-image .files-list__row-icon{display:flex;overflow:hidden;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius)}.files-list-drag-image__icon{overflow:visible;margin-right:12px}.files-list-drag-image__icon img{max-width:100%;max-height:100%}.files-list-drag-image__icon .material-design-icon{color:var(--color-text-maxcontrast)}.files-list-drag-image__icon .material-design-icon.folder-icon{color:var(--color-primary-element)}.files-list-drag-image__icon>span{display:flex}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon{margin-top:6px;margin-left:-26px}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon+.files-list__row-icon{margin-top:12px}.files-list-drag-image__icon>span:not(:empty)+*{display:none}.files-list-drag-image__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}","",{version:3,sources:["webpack://./apps/files/src/components/DragAndDropPreview.vue"],names:[],mappings:"AAIA,uBACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,WAAA,CACA,gBAAA,CACA,uCAAA,CAEA,0EAEC,YAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kCAAA,CAGD,6BACC,gBAAA,CACA,iBAAA,CAEA,iCACC,cAAA,CACA,eAAA,CAGD,mDACC,mCAAA,CACA,+DACC,kCAAA,CAKF,kCACC,YAAA,CAGA,8EACC,cA9CU,CA+CV,iBAAA,CACA,oGACC,eAAA,CAKF,gDACC,YAAA,CAKH,6BACC,eAAA,CACA,kBAAA,CACA,sBAAA",sourcesContent:["\n$size: 32px;\n$stack-shift: 6px;\n\n.files-list-drag-image {\n\tposition: absolute;\n\ttop: -9999px;\n\tleft: -9999px;\n\tdisplay: flex;\n\toverflow: hidden;\n\talign-items: center;\n\theight: 44px;\n\tpadding: 6px 12px;\n\tbackground: var(--color-main-background);\n\n\t&__icon,\n\t.files-list__row-icon {\n\t\tdisplay: flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tborder-radius: var(--border-radius);\n\t}\n\n\t&__icon {\n\t\toverflow: visible;\n\t\tmargin-right: 12px;\n\n\t\timg {\n\t\t\tmax-width: 100%;\n\t\t\tmax-height: 100%;\n\t\t}\n\n\t\t.material-design-icon {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t&.folder-icon {\n\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t}\n\t\t}\n\n\t\t// Previews container\n\t\t> span {\n\t\t\tdisplay: flex;\n\n\t\t\t// Stack effect if more than one element\n\t\t\t.files-list__row-icon + .files-list__row-icon {\n\t\t\t\tmargin-top: $stack-shift;\n\t\t\t\tmargin-left: $stack-shift - $size;\n\t\t\t\t& + .files-list__row-icon {\n\t\t\t\t\tmargin-top: $stack-shift * 2;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If we have manually clone the preview,\n\t\t\t// let's hide any fallback icons\n\t\t\t&:not(:empty) + * {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n"],sourceRoot:""}]);const o=a},14781:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".favorite-marker-icon[data-v-42ea6dd4]{color:var(--color-favorite);min-width:unset !important;min-height:unset !important}.favorite-marker-icon[data-v-42ea6dd4] svg{width:26px !important;height:26px !important;max-width:unset !important;max-height:unset !important}.favorite-marker-icon[data-v-42ea6dd4] svg path{stroke:var(--color-main-background);stroke-width:8px;stroke-linejoin:round;paint-order:stroke}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FavoriteIcon.vue"],names:[],mappings:"AACA,uCACC,2BAAA,CAEA,0BAAA,CACG,2BAAA,CAGF,4CAEC,qBAAA,CACA,sBAAA,CAGA,0BAAA,CACA,2BAAA,CAGA,iDACC,mCAAA,CACA,gBAAA,CACA,qBAAA,CACA,kBAAA",sourcesContent:["\n.favorite-marker-icon {\n\tcolor: var(--color-favorite);\n\t// Override NcIconSvgWrapper defaults (clickable area)\n\tmin-width: unset !important;\n min-height: unset !important;\n\n\t:deep() {\n\t\tsvg {\n\t\t\t// We added a stroke for a11y so we must increase the size to include the stroke\n\t\t\twidth: 26px !important;\n\t\t\theight: 26px !important;\n\n\t\t\t// Override NcIconSvgWrapper defaults of 20px\n\t\t\tmax-width: unset !important;\n\t\t\tmax-height: unset !important;\n\n\t\t\t// Sow a border around the icon for better contrast\n\t\t\tpath {\n\t\t\t\tstroke: var(--color-main-background);\n\t\t\t\tstroke-width: 8px;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t\tpaint-order: stroke;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=a},37546:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,"main.app-content[style*=mouse-pos-x] .v-popper__popper{transform:translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important}main.app-content[style*=mouse-pos-x] .v-popper__popper[data-popper-placement=top]{transform:translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh + 34px), 0px) !important}main.app-content[style*=mouse-pos-x] .v-popper__popper .v-popper__arrow-container{display:none}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue"],names:[],mappings:"AAGA,uDACC,6EAAA,CAGA,kFAEC,iGAAA,CAGD,kFACC,YAAA",sourcesContent:['\n// Allow right click to define the position of the menu\n// only if defined\nmain.app-content[style*="mouse-pos-x"] .v-popper__popper {\n\ttransform: translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important;\n\n\t// If the menu is too close to the bottom, we move it up\n\t&[data-popper-placement="top"] {\n\t\t// 34px added to align with the top of the cursor\n\t\ttransform: translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh + 34px), 0px) !important;\n\t}\n\t// Hide arrow if floating\n\t.v-popper__arrow-container {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const o=a},48846:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,"[data-v-0ef7511c] .button-vue--icon-and-text .button-vue__text{color:var(--color-primary-element)}[data-v-0ef7511c] .button-vue--icon-and-text .button-vue__icon{color:var(--color-primary-element)}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue"],names:[],mappings:"AAEC,+DACC,kCAAA,CAED,+DACC,kCAAA",sourcesContent:["\n:deep(.button-vue--icon-and-text, .files-list__row-action-sharing-status) {\n\t.button-vue__text {\n\t\tcolor: var(--color-primary-element);\n\t}\n\t.button-vue__icon {\n\t\tcolor: var(--color-primary-element);\n\t}\n}\n"],sourceRoot:""}]);const o=a},31840:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,"tr[data-v-a85bde20]{margin-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}tr td[data-v-a85bde20]{user-select:none;color:var(--color-text-maxcontrast) !important}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableFooter.vue"],names:[],mappings:"AAEA,oBACC,mBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAEA,uBACC,gBAAA,CAEA,8CAAA",sourcesContent:["\n// Scoped row\ntr {\n\tmargin-bottom: 300px;\n\tborder-top: 1px solid var(--color-border);\n\t// Prevent hover effect on the whole row\n\tbackground-color: transparent !important;\n\tborder-bottom: none !important;\n\n\ttd {\n\t\tuser-select: none;\n\t\t// Make sure the cell colors don't apply to column headers\n\t\tcolor: var(--color-text-maxcontrast) !important;\n\t}\n}\n"],sourceRoot:""}]);const o=a},75458:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list__column[data-v-68d3de81]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-68d3de81]{cursor:pointer}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeader.vue"],names:[],mappings:"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA",sourcesContent:["\n.files-list__column {\n\tuser-select: none;\n\t// Make sure the cell colors don't apply to column headers\n\tcolor: var(--color-text-maxcontrast) !important;\n\n\t&--sortable {\n\t\tcursor: pointer;\n\t}\n}\n\n"],sourceRoot:""}]);const o=a},30651:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list__row-actions-batch[data-v-91476734]{flex:1 1 100% !important;max-width:100%}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeaderActions.vue"],names:[],mappings:"AACA,gDACC,wBAAA,CACA,cAAA",sourcesContent:["\n.files-list__row-actions-batch {\n\tflex: 1 1 100% !important;\n\tmax-width: 100%;\n}\n"],sourceRoot:""}]);const o=a},69426:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list__column-sort-button[data-v-2dd1845e]{margin:0 calc(var(--cell-margin)*-1);min-width:calc(100% - 3*var(--cell-margin)) !important}.files-list__column-sort-button-text[data-v-2dd1845e]{color:var(--color-text-maxcontrast);font-weight:normal}.files-list__column-sort-button-icon[data-v-2dd1845e]{color:var(--color-text-maxcontrast);opacity:0;transition:opacity var(--animation-quick);inset-inline-start:-10px}.files-list__column-sort-button--size .files-list__column-sort-button-icon[data-v-2dd1845e]{inset-inline-start:10px}.files-list__column-sort-button--active .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:hover .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:focus .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:active .files-list__column-sort-button-icon[data-v-2dd1845e]{opacity:1}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeaderButton.vue"],names:[],mappings:"AACA,iDAEC,oCAAA,CACA,sDAAA,CAEA,sDACC,mCAAA,CACA,kBAAA,CAGD,sDACC,mCAAA,CACA,SAAA,CACA,yCAAA,CACA,wBAAA,CAGD,4FACC,uBAAA,CAGD,mXAIC,SAAA",sourcesContent:["\n.files-list__column-sort-button {\n\t// Compensate for cells margin\n\tmargin: 0 calc(var(--cell-margin) * -1);\n\tmin-width: calc(100% - 3 * var(--cell-margin))!important;\n\n\t&-text {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tfont-weight: normal;\n\t}\n\n\t&-icon {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\topacity: 0;\n\t\ttransition: opacity var(--animation-quick);\n\t\tinset-inline-start: -10px;\n\t}\n\n\t&--size &-icon {\n\t\tinset-inline-start: 10px;\n\t}\n\n\t&--active &-icon,\n\t&:hover &-icon,\n\t&:focus &-icon,\n\t&:active &-icon {\n\t\topacity: 1;\n\t}\n}\n"],sourceRoot:""}]);const o=a},67436:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list[data-v-1e2b43b6]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;overflow:auto;height:100%;will-change:scroll-position}.files-list[data-v-1e2b43b6] tbody{will-change:padding;contain:layout paint style;display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-1e2b43b6] tbody tr{contain:strict}.files-list[data-v-1e2b43b6] tbody tr:hover,.files-list[data-v-1e2b43b6] tbody tr:focus{background-color:var(--color-background-dark)}.files-list[data-v-1e2b43b6] .files-list__before{display:flex;flex-direction:column}.files-list[data-v-1e2b43b6] .files-list__selected{padding-right:12px;white-space:nowrap}.files-list[data-v-1e2b43b6] .files-list__table{display:block}.files-list[data-v-1e2b43b6] .files-list__table.files-list__table--with-thead-overlay{margin-top:calc(-1*var(--row-height))}.files-list[data-v-1e2b43b6] .files-list__thead-overlay{position:sticky;top:0;margin-left:var(--row-height);z-index:20;display:flex;align-items:center;background-color:var(--color-main-background);border-bottom:1px solid var(--color-border);height:var(--row-height)}.files-list[data-v-1e2b43b6] .files-list__thead,.files-list[data-v-1e2b43b6] .files-list__tfoot{display:flex;flex-direction:column;width:100%;background-color:var(--color-main-background)}.files-list[data-v-1e2b43b6] .files-list__thead{position:sticky;z-index:10;top:0}.files-list[data-v-1e2b43b6] .files-list__tfoot{min-height:300px}.files-list[data-v-1e2b43b6] tr{position:relative;display:flex;align-items:center;width:100%;user-select:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;user-select:none;height:var(--row-height)}.files-list[data-v-1e2b43b6] td,.files-list[data-v-1e2b43b6] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-1e2b43b6] td span,.files-list[data-v-1e2b43b6] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-1e2b43b6] .files-list__row--failed{position:absolute;display:block;top:0;left:0;right:0;bottom:0;opacity:.1;z-index:-1;background:var(--color-error)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox{justify-content:center}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-1e2b43b6] .files-list__row:hover,.files-list[data-v-1e2b43b6] .files-list__row:focus,.files-list[data-v-1e2b43b6] .files-list__row:active,.files-list[data-v-1e2b43b6] .files-list__row--active,.files-list[data-v-1e2b43b6] .files-list__row--dragover{background-color:var(--color-background-hover);--color-text-maxcontrast: var(--color-main-text)}.files-list[data-v-1e2b43b6] .files-list__row:hover>*,.files-list[data-v-1e2b43b6] .files-list__row:focus>*,.files-list[data-v-1e2b43b6] .files-list__row:active>*,.files-list[data-v-1e2b43b6] .files-list__row--active>*,.files-list[data-v-1e2b43b6] .files-list__row--dragover>*{--color-border: var(--color-border-dark)}.files-list[data-v-1e2b43b6] .files-list__row:hover .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row:focus .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row:active .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row--active .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row--dragover .favorite-marker-icon svg path{stroke:var(--color-background-hover)}.files-list[data-v-1e2b43b6] .files-list__row--dragover *{pointer-events:none}.files-list[data-v-1e2b43b6] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-1e2b43b6] .files-list__row-icon *{cursor:pointer}.files-list[data-v-1e2b43b6] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-1e2b43b6] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-icon,.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-open-icon{margin:-3px}.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-icon svg,.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-open-icon svg{width:calc(var(--icon-preview-size) + 6px);height:calc(var(--icon-preview-size) + 6px)}.files-list[data-v-1e2b43b6] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);object-fit:contain;object-position:center}.files-list[data-v-1e2b43b6] .files-list__row-icon-preview:not(.files-list__row-icon-preview--loaded){background:var(--color-loading-dark)}.files-list[data-v-1e2b43b6] .files-list__row-icon-favorite{position:absolute;top:0px;right:-10px}.files-list[data-v-1e2b43b6] .files-list__row-icon-overlay{position:absolute;max-height:calc(var(--icon-preview-size)*.5);max-width:calc(var(--icon-preview-size)*.5);color:var(--color-primary-element-text);margin-top:2px}.files-list[data-v-1e2b43b6] .files-list__row-icon-overlay--file{color:var(--color-main-text);background:var(--color-main-background);border-radius:100%}.files-list[data-v-1e2b43b6] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-1e2b43b6] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%;min-width:0}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus-visible{outline:none}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus:not(:focus-visible) .files-list__row-name-text{outline:none !important}.files-list[data-v-1e2b43b6] .files-list__row-name .files-list__row-name-text{color:var(--color-main-text);padding:5px 10px;margin-left:-10px;display:inline-flex}.files-list[data-v-1e2b43b6] .files-list__row-name .files-list__row-name-ext{color:var(--color-text-maxcontrast);overflow:visible}.files-list[data-v-1e2b43b6] .files-list__row-rename{width:100%;max-width:600px}.files-list[data-v-1e2b43b6] .files-list__row-rename input{width:100%;margin-left:-8px;padding:2px 6px;border-width:2px}.files-list[data-v-1e2b43b6] .files-list__row-rename input:invalid{border-color:var(--color-error);color:red}.files-list[data-v-1e2b43b6] .files-list__row-actions{width:auto}.files-list[data-v-1e2b43b6] .files-list__row-actions~td,.files-list[data-v-1e2b43b6] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-1e2b43b6] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-1e2b43b6] .files-list__row-action--inline{margin-right:7px}.files-list[data-v-1e2b43b6] .files-list__row-mtime,.files-list[data-v-1e2b43b6] .files-list__row-size{color:var(--color-text-maxcontrast)}.files-list[data-v-1e2b43b6] .files-list__row-size{width:calc(var(--row-height)*1.5);justify-content:flex-end}.files-list[data-v-1e2b43b6] .files-list__row-mtime{width:calc(var(--row-height)*2)}.files-list[data-v-1e2b43b6] .files-list__row-column-custom{width:calc(var(--row-height)*2)}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListVirtual.vue"],names:[],mappings:"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,aAAA,CACA,WAAA,CACA,2BAAA,CAIC,oCACC,mBAAA,CACA,0BAAA,CACA,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAGA,uCACC,cAAA,CACA,0FAEC,6CAAA,CAMH,kDACC,YAAA,CACA,qBAAA,CAGD,oDACC,kBAAA,CACA,kBAAA,CAGD,iDACC,aAAA,CAEA,uFAEC,qCAAA,CAIF,yDAEC,eAAA,CACA,KAAA,CAEA,6BAAA,CAEA,UAAA,CAEA,YAAA,CACA,kBAAA,CAGA,6CAAA,CACA,2CAAA,CACA,wBAAA,CAGD,kGAEC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,6CAAA,CAKD,iDAEC,eAAA,CACA,UAAA,CACA,KAAA,CAID,iDACC,gBAAA,CAGD,iCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,gBAAA,CACA,2CAAA,CACA,qBAAA,CACA,gBAAA,CACA,wBAAA,CAGD,kEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,4EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,UAAA,CACA,6BAAA,CAGD,wDACC,sBAAA,CAEA,+EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,kHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,4GACC,mBAAA,CAMF,gRAEC,8CAAA,CAGA,gDAAA,CACA,0RACC,wCAAA,CAID,2aACC,oCAAA,CAIF,2DAEC,mBAAA,CAKF,oDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAGA,sDACC,cAAA,CAGD,yDACC,0BAAA,CAEA,iGACC,8BAAA,CACA,+BAAA,CAID,+IAEC,WAAA,CACA,uJACC,0CAAA,CACA,2CAAA,CAKH,4DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CAEA,kBAAA,CACA,sBAAA,CAGA,uGACC,oCAAA,CAKF,6DACC,iBAAA,CACA,OAAA,CACA,WAAA,CAID,4DACC,iBAAA,CACA,4CAAA,CACA,2CAAA,CACA,uCAAA,CAEA,cAAA,CAGA,kEACC,4BAAA,CACA,uCAAA,CACA,kBAAA,CAMH,oDAEC,eAAA,CAEA,aAAA,CAEA,sDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAEA,WAAA,CAGA,oEACC,YAAA,CAID,uFACC,mDAAA,CACA,kBAAA,CAED,2GACC,uBAAA,CAIF,+EACC,4BAAA,CAEA,gBAAA,CACA,iBAAA,CAEA,mBAAA,CAGD,8EACC,mCAAA,CAEA,gBAAA,CAKF,sDACC,UAAA,CACA,eAAA,CACA,4DACC,UAAA,CAEA,gBAAA,CACA,eAAA,CACA,gBAAA,CAEA,oEAEC,+BAAA,CACA,SAAA,CAKH,uDAEC,UAAA,CAGA,oHAEC,2BAAA,CAIA,gFAEC,kBAAA,CAKH,8DACC,gBAAA,CAGD,yGAEC,mCAAA,CAED,oDACC,iCAAA,CAEA,wBAAA,CAGD,qDACC,+BAAA,CAGD,6DACC,+BAAA",sourcesContent:["\n.files-list {\n\t--row-height: 55px;\n\t--cell-margin: 14px;\n\n\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\n\t--checkbox-size: 24px;\n\t--clickable-area: 44px;\n\t--icon-preview-size: 32px;\n\n\toverflow: auto;\n\theight: 100%;\n\twill-change: scroll-position;\n\n\t& :deep() {\n\t\t// Table head, body and footer\n\t\ttbody {\n\t\t\twill-change: padding;\n\t\t\tcontain: layout paint style;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\t// Necessary for virtual scrolling absolute\n\t\t\tposition: relative;\n\n\t\t\t/* Hover effect on tbody lines only */\n\t\t\ttr {\n\t\t\t\tcontain: strict;\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Before table and thead\n\t\t.files-list__before {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\n\t\t.files-list__selected {\n\t\t\tpadding-right: 12px;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t.files-list__table {\n\t\t\tdisplay: block;\n\n\t\t\t&.files-list__table--with-thead-overlay {\n\t\t\t\t// Hide the table header below the overlay\n\t\t\t\tmargin-top: calc(-1 * var(--row-height));\n\t\t\t}\n\t\t}\n\n\t\t.files-list__thead-overlay {\n\t\t\t// Pinned on top when scrolling\n\t\t\tposition: sticky;\n\t\t\ttop: 0;\n\t\t\t// Save space for a row checkbox\n\t\t\tmargin-left: var(--row-height);\n\t\t\t// More than .files-list__thead\n\t\t\tz-index: 20;\n\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t// Reuse row styles\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\theight: var(--row-height);\n\t\t}\n\n\t\t.files-list__thead,\n\t\t.files-list__tfoot {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--color-main-background);\n\n\t\t}\n\n\t\t// Table header\n\t\t.files-list__thead {\n\t\t\t// Pinned on top when scrolling\n\t\t\tposition: sticky;\n\t\t\tz-index: 10;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t// Table footer\n\t\t.files-list__tfoot {\n\t\t\tmin-height: 300px;\n\t\t}\n\n\t\ttr {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\twidth: 100%;\n\t\t\tuser-select: none;\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\tbox-sizing: border-box;\n\t\t\tuser-select: none;\n\t\t\theight: var(--row-height);\n\t\t}\n\n\t\ttd, th {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tflex: 0 0 auto;\n\t\t\tjustify-content: left;\n\t\t\twidth: var(--row-height);\n\t\t\theight: var(--row-height);\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tborder: none;\n\n\t\t\t// Columns should try to add any text\n\t\t\t// node wrapped in a span. That should help\n\t\t\t// with the ellipsis on overflow.\n\t\t\tspan {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row--failed {\n\t\t\tposition: absolute;\n\t\t\tdisplay: block;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\topacity: .1;\n\t\t\tz-index: -1;\n\t\t\tbackground: var(--color-error);\n\t\t}\n\n\t\t.files-list__row-checkbox {\n\t\t\tjustify-content: center;\n\n\t\t\t.checkbox-radio-switch {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: center;\n\n\t\t\t\t--icon-size: var(--checkbox-size);\n\n\t\t\t\tlabel.checkbox-radio-switch__label {\n\t\t\t\t\twidth: var(--clickable-area);\n\t\t\t\t\theight: var(--clickable-area);\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\n\t\t\t\t}\n\n\t\t\t\t.checkbox-radio-switch__icon {\n\t\t\t\t\tmargin: 0 !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row {\n\t\t\t&:hover, &:focus, &:active, &--active, &--dragover {\n\t\t\t\t// WCAG AA compliant\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\t// text-maxcontrast have been designed to pass WCAG AA over\n\t\t\t\t// a white background, we need to adjust then.\n\t\t\t\t--color-text-maxcontrast: var(--color-main-text);\n\t\t\t\t> * {\n\t\t\t\t\t--color-border: var(--color-border-dark);\n\t\t\t\t}\n\n\t\t\t\t// Hover state of the row should also change the favorite markers background\n\t\t\t\t.favorite-marker-icon svg path {\n\t\t\t\t\tstroke: var(--color-background-hover);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&--dragover * {\n\t\t\t\t// Prevent dropping on row children\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\n\t\t// Entry preview or mime icon\n\t\t.files-list__row-icon {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\toverflow: visible;\n\t\t\talign-items: center;\n\t\t\t// No shrinking or growing allowed\n\t\t\tflex: 0 0 var(--icon-preview-size);\n\t\t\tjustify-content: center;\n\t\t\twidth: var(--icon-preview-size);\n\t\t\theight: 100%;\n\t\t\t// Show same padding as the checkbox right padding for visual balance\n\t\t\tmargin-right: var(--checkbox-padding);\n\t\t\tcolor: var(--color-primary-element);\n\n\t\t\t// Icon is also clickable\n\t\t\t* {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t& > span {\n\t\t\t\tjustify-content: flex-start;\n\n\t\t\t\t&:not(.files-list__row-icon-favorite) svg {\n\t\t\t\t\twidth: var(--icon-preview-size);\n\t\t\t\t\theight: var(--icon-preview-size);\n\t\t\t\t}\n\n\t\t\t\t// Slightly increase the size of the folder icon\n\t\t\t\t&.folder-icon,\n\t\t\t\t&.folder-open-icon {\n\t\t\t\t\tmargin: -3px;\n\t\t\t\t\tsvg {\n\t\t\t\t\t\twidth: calc(var(--icon-preview-size) + 6px);\n\t\t\t\t\t\theight: calc(var(--icon-preview-size) + 6px);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&-preview {\n\t\t\t\toverflow: hidden;\n\t\t\t\twidth: var(--icon-preview-size);\n\t\t\t\theight: var(--icon-preview-size);\n\t\t\t\tborder-radius: var(--border-radius);\n\t\t\t\t// Center and contain the preview\n\t\t\t\tobject-fit: contain;\n\t\t\t\tobject-position: center;\n\n\t\t\t\t/* Preview not loaded animation effect */\n\t\t\t\t&:not(.files-list__row-icon-preview--loaded) {\n\t\t\t\t\tbackground: var(--color-loading-dark);\n\t\t\t\t\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&-favorite {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0px;\n\t\t\t\tright: -10px;\n\t\t\t}\n\n\t\t\t// File and folder overlay\n\t\t\t&-overlay {\n\t\t\t\tposition: absolute;\n\t\t\t\tmax-height: calc(var(--icon-preview-size) * 0.5);\n\t\t\t\tmax-width: calc(var(--icon-preview-size) * 0.5);\n\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t\t// better alignment with the folder icon\n\t\t\t\tmargin-top: 2px;\n\n\t\t\t\t// Improve icon contrast with a background for files\n\t\t\t\t&--file {\n\t\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t\tbackground: var(--color-main-background);\n\t\t\t\t\tborder-radius: 100%;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Entry link\n\t\t.files-list__row-name {\n\t\t\t// Prevent link from overflowing\n\t\t\toverflow: hidden;\n\t\t\t// Take as much space as possible\n\t\t\tflex: 1 1 auto;\n\n\t\t\ta {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\t// Fill cell height and width\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\t// Necessary for flex grow to work\n\t\t\t\tmin-width: 0;\n\n\t\t\t\t// Already added to the inner text, see rule below\n\t\t\t\t&:focus-visible {\n\t\t\t\t\toutline: none;\n\t\t\t\t}\n\n\t\t\t\t// Keyboard indicator a11y\n\t\t\t\t&:focus .files-list__row-name-text {\n\t\t\t\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t\t\t\tborder-radius: 20px;\n\t\t\t\t}\n\t\t\t\t&:focus:not(:focus-visible) .files-list__row-name-text {\n\t\t\t\t\toutline: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.files-list__row-name-text {\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t// Make some space for the outline\n\t\t\t\tpadding: 5px 10px;\n\t\t\t\tmargin-left: -10px;\n\t\t\t\t// Align two name and ext\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\n\t\t\t.files-list__row-name-ext {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t\t// always show the extension\n\t\t\t\toverflow: visible;\n\t\t\t}\n\t\t}\n\n\t\t// Rename form\n\t\t.files-list__row-rename {\n\t\t\twidth: 100%;\n\t\t\tmax-width: 600px;\n\t\t\tinput {\n\t\t\t\twidth: 100%;\n\t\t\t\t// Align with text, 0 - padding - border\n\t\t\t\tmargin-left: -8px;\n\t\t\t\tpadding: 2px 6px;\n\t\t\t\tborder-width: 2px;\n\n\t\t\t\t&:invalid {\n\t\t\t\t\t// Show red border on invalid input\n\t\t\t\t\tborder-color: var(--color-error);\n\t\t\t\t\tcolor: red;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-actions {\n\t\t\t// take as much space as necessary\n\t\t\twidth: auto;\n\n\t\t\t// Add margin to all cells after the actions\n\t\t\t& ~ td,\n\t\t\t& ~ th {\n\t\t\t\tmargin: 0 var(--cell-margin);\n\t\t\t}\n\n\t\t\tbutton {\n\t\t\t\t.button-vue__text {\n\t\t\t\t\t// Remove bold from default button styling\n\t\t\t\t\tfont-weight: normal;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-action--inline {\n\t\t\tmargin-right: 7px;\n\t\t}\n\n\t\t.files-list__row-mtime,\n\t\t.files-list__row-size {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t\t.files-list__row-size {\n\t\t\twidth: calc(var(--row-height) * 1.5);\n\t\t\t// Right align content/text\n\t\t\tjustify-content: flex-end;\n\t\t}\n\n\t\t.files-list__row-mtime {\n\t\t\twidth: calc(var(--row-height) * 2);\n\t\t}\n\n\t\t.files-list__row-column-custom {\n\t\t\twidth: calc(var(--row-height) * 2);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=a},31772:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,"tbody.files-list__tbody.files-list__tbody--grid{--half-clickable-area: calc(var(--clickable-area) / 2);--row-width: 160px;--row-height: calc(var(--row-width) - var(--half-clickable-area));--icon-preview-size: calc(var(--row-width) - var(--clickable-area));--checkbox-padding: 0px;display:grid;grid-template-columns:repeat(auto-fill, var(--row-width));grid-gap:15px;row-gap:15px;align-content:center;align-items:center;justify-content:space-around;justify-items:center}tbody.files-list__tbody.files-list__tbody--grid tr{width:var(--row-width);height:calc(var(--row-height) + var(--clickable-area));border:none;border-radius:var(--border-radius)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-checkbox{position:absolute;z-index:9;top:0;left:0;overflow:hidden;width:var(--clickable-area);height:var(--clickable-area);border-radius:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-icon-favorite{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--clickable-area);height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name{display:grid;justify-content:stretch;width:100%;height:100%;grid-auto-rows:var(--row-height) var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name span.files-list__row-icon{width:100%;height:100%;padding-top:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name a.files-list__row-name-link{width:calc(100% - var(--clickable-area));height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name .files-list__row-name-text{margin:0;padding-right:0}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-actions{position:absolute;right:0;bottom:0;width:var(--clickable-area);height:var(--clickable-area)}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListVirtual.vue"],names:[],mappings:"AAEA,gDACC,sDAAA,CACA,kBAAA,CAEA,iEAAA,CACA,mEAAA,CACA,uBAAA,CAEA,YAAA,CACA,yDAAA,CACA,aAAA,CACA,YAAA,CAEA,oBAAA,CACA,kBAAA,CACA,4BAAA,CACA,oBAAA,CAEA,mDACC,sBAAA,CACA,sDAAA,CACA,WAAA,CACA,kCAAA,CAID,0EACC,iBAAA,CACA,SAAA,CACA,KAAA,CACA,MAAA,CACA,eAAA,CACA,2BAAA,CACA,4BAAA,CACA,wCAAA,CAID,+EACC,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,2BAAA,CACA,4BAAA,CAGD,sEACC,YAAA,CACA,uBAAA,CACA,UAAA,CACA,WAAA,CACA,sDAAA,CAEA,gGACC,UAAA,CACA,WAAA,CAGA,sCAAA,CAGD,kGAEC,wCAAA,CACA,4BAAA,CAGD,iGACC,QAAA,CACA,eAAA,CAIF,yEACC,iBAAA,CACA,OAAA,CACA,QAAA,CACA,2BAAA,CACA,4BAAA",sourcesContent:["\n// Grid mode\ntbody.files-list__tbody.files-list__tbody--grid {\n\t--half-clickable-area: calc(var(--clickable-area) / 2);\n\t--row-width: 160px;\n\t// We use half of the clickable area as visual balance margin\n\t--row-height: calc(var(--row-width) - var(--half-clickable-area));\n\t--icon-preview-size: calc(var(--row-width) - var(--clickable-area));\n\t--checkbox-padding: 0px;\n\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fill, var(--row-width));\n\tgrid-gap: 15px;\n\trow-gap: 15px;\n\n\talign-content: center;\n\talign-items: center;\n\tjustify-content: space-around;\n\tjustify-items: center;\n\n\ttr {\n\t\twidth: var(--row-width);\n\t\theight: calc(var(--row-height) + var(--clickable-area));\n\t\tborder: none;\n\t\tborder-radius: var(--border-radius);\n\t}\n\n\t// Checkbox in the top left\n\t.files-list__row-checkbox {\n\t\tposition: absolute;\n\t\tz-index: 9;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\toverflow: hidden;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t\tborder-radius: var(--half-clickable-area);\n\t}\n\n\t// Star icon in the top right\n\t.files-list__row-icon-favorite {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t}\n\n\t.files-list__row-name {\n\t\tdisplay: grid;\n\t\tjustify-content: stretch;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tgrid-auto-rows: var(--row-height) var(--clickable-area);\n\n\t\tspan.files-list__row-icon {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\t// Visual balance, we use half of the clickable area\n\t\t\t// as a margin around the preview\n\t\t\tpadding-top: var(--half-clickable-area);\n\t\t}\n\n\t\ta.files-list__row-name-link {\n\t\t\t// Minus action menu\n\t\t\twidth: calc(100% - var(--clickable-area));\n\t\t\theight: var(--clickable-area);\n\t\t}\n\n\t\t.files-list__row-name-text {\n\t\t\tmargin: 0;\n\t\t\tpadding-right: 0;\n\t\t}\n\t}\n\n\t.files-list__row-actions {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t}\n}\n"],sourceRoot:""}]);const o=a},33149:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".app-navigation-entry__settings-quota--not-unlimited[data-v-063ed938] .app-navigation-entry__name{margin-top:-6px}.app-navigation-entry__settings-quota progress[data-v-063ed938]{position:absolute;bottom:12px;margin-left:44px;width:calc(100% - 44px - 22px)}","",{version:3,sources:["webpack://./apps/files/src/components/NavigationQuota.vue"],names:[],mappings:"AAIC,kGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA",sourcesContent:["\n// User storage stats display\n.app-navigation-entry__settings-quota {\n\t// Align title with progress and icon\n\t&--not-unlimited::v-deep .app-navigation-entry__name {\n\t\tmargin-top: -6px;\n\t}\n\n\tprogress {\n\t\tposition: absolute;\n\t\tbottom: 12px;\n\t\tmargin-left: 44px;\n\t\twidth: calc(100% - 44px - 22px);\n\t}\n}\n"],sourceRoot:""}]);const o=a},79335:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".app-content[data-v-139727ec]{display:flex;overflow:hidden;flex-direction:column;max-height:100%;position:relative !important}.files-list__header[data-v-139727ec]{display:flex;align-items:center;flex:0 0;max-width:100%;margin-block:var(--app-navigation-padding, 4px);margin-inline:calc(var(--default-clickable-area, 44px) + 2*var(--app-navigation-padding, 4px)) var(--app-navigation-padding, 4px)}.files-list__header>*[data-v-139727ec]{flex:0 0}.files-list__header-share-button[data-v-139727ec]{color:var(--color-text-maxcontrast) !important}.files-list__header-share-button--shared[data-v-139727ec]{color:var(--color-main-text) !important}.files-list__refresh-icon[data-v-139727ec]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-139727ec]{margin:auto}","",{version:3,sources:["webpack://./apps/files/src/views/FilesList.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CACA,4BAAA,CAIA,qCACC,YAAA,CACA,kBAAA,CAEA,QAAA,CACA,cAAA,CAEA,+CAAA,CACA,iIAAA,CAEA,uCAGC,QAAA,CAGD,kDACC,8CAAA,CAEA,0DACC,uCAAA,CAKH,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAGD,2CACC,WAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n\tposition: relative !important;\n}\n\n.files-list {\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\t// Do not grow or shrink (vertically)\n\t\tflex: 0 0;\n\t\tmax-width: 100%;\n\t\t// Align with the navigation toggle icon\n\t\tmargin-block: var(--app-navigation-padding, 4px);\n\t\tmargin-inline: calc(var(--default-clickable-area, 44px) + 2 * var(--app-navigation-padding, 4px)) var(--app-navigation-padding, 4px);\n\n\t\t>* {\n\t\t\t// Do not grow or shrink (horizontally)\n\t\t\t// Only the breadcrumbs shrinks\n\t\t\tflex: 0 0;\n\t\t}\n\n\t\t&-share-button {\n\t\t\tcolor: var(--color-text-maxcontrast) !important;\n\n\t\t\t&--shared {\n\t\t\t\tcolor: var(--color-main-text) !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__refresh-icon {\n\t\tflex: 0 0 44px;\n\t\twidth: 44px;\n\t\theight: 44px;\n\t}\n\n\t&__loading-icon {\n\t\tmargin: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=a},90840:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".app-navigation[data-v-7387953c] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation[data-v-7387953c] .app-navigation-entry.active .button-vue.icon-collapse:not(:hover){color:var(--color-primary-element-text)}.app-navigation>ul.app-navigation__list[data-v-7387953c]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-7387953c]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}","",{version:3,sources:["webpack://./apps/files/src/views/Navigation.vue"],names:[],mappings:"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,oGACC,uCAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA",sourcesContent:["\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\n.app-navigation::v-deep .app-navigation-entry-icon {\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n}\n\n.app-navigation::v-deep .app-navigation-entry.active .button-vue.icon-collapse:not(:hover) {\n\tcolor: var(--color-primary-element-text);\n}\n\n.app-navigation > ul.app-navigation__list {\n\t// Use flex gap value for more elegant spacing\n\tpadding-bottom: var(--default-grid-baseline, 4px);\n}\n\n.app-navigation-entry__settings {\n\theight: auto !important;\n\toverflow: hidden !important;\n\tpadding-top: 0 !important;\n\t// Prevent shrinking or growing\n\tflex: 0 0 auto;\n}\n"],sourceRoot:""}]);const o=a},60335:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".setting-link[data-v-00f09e69]:hover{text-decoration:underline}","",{version:3,sources:["webpack://./apps/files/src/views/Settings.vue"],names:[],mappings:"AACA,qCACC,yBAAA",sourcesContent:["\n.setting-link:hover {\n\ttext-decoration: underline;\n}\n"],sourceRoot:""}]);const o=a},37007:(t,e,n)=>{"use strict";var s,i=n(96763),r="object"==typeof Reflect?Reflect:null,a=r&&"function"==typeof r.apply?r.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};s=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function l(){l.init.call(this)}t.exports=l,t.exports.once=function(t,e){return new Promise((function(n,s){function i(n){t.removeListener(e,r),s(n)}function r(){"function"==typeof t.removeListener&&t.removeListener("error",i),n([].slice.call(arguments))}w(t,e,r,{once:!0}),"error"!==e&&function(t,e,n){"function"==typeof t.on&&w(t,"error",e,{once:!0})}(t,i)}))},l.EventEmitter=l,l.prototype._events=void 0,l.prototype._eventsCount=0,l.prototype._maxListeners=void 0;var c=10;function d(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?l.defaultMaxListeners:t._maxListeners}function m(t,e,n,s){var r,a,o,l;if(d(n),void 0===(a=t._events)?(a=t._events=Object.create(null),t._eventsCount=0):(void 0!==a.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),a=t._events),o=a[e]),void 0===o)o=a[e]=n,++t._eventsCount;else if("function"==typeof o?o=a[e]=s?[n,o]:[o,n]:s?o.unshift(n):o.push(n),(r=u(t))>0&&o.length>r&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,l=c,i&&i.warn&&i.warn(l)}return t}function p(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,n){var s={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},i=p.bind(s);return i.listener=n,s.wrapFn=i,i}function g(t,e,n){var s=t._events;if(void 0===s)return[];var i=s[e];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(r=e[0]),r instanceof Error)throw r;var o=new Error("Unhandled error."+(r?" ("+r.message+")":""));throw o.context=r,o}var l=i[t];if(void 0===l)return!1;if("function"==typeof l)a(l,this,e);else{var c=l.length,d=v(l,c);for(n=0;n=0;r--)if(n[r]===e||n[r].listener===e){a=n[r].listener,i=r;break}if(i<0)return this;0===i?n.shift():function(t,e){for(;e+1=0;s--)this.removeListener(t,e[s]);return this},l.prototype.listeners=function(t){return g(this,t,!0)},l.prototype.rawListeners=function(t){return g(this,t,!1)},l.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):h.call(t,e)},l.prototype.listenerCount=h,l.prototype.eventNames=function(){return this._eventsCount>0?s(this._events):[]}},86048:t=>{"use strict";var e={};function n(t,n,s){s||(s=Error);var i=function(t){var e,s;function i(e,s,i){return t.call(this,function(t,e,s){return"string"==typeof n?n:n(t,e,s)}(e,s,i))||this}return s=t,(e=i).prototype=Object.create(s.prototype),e.prototype.constructor=e,e.__proto__=s,i}(s);i.prototype.name=s.name,i.prototype.code=t,e[t]=i}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map((function(t){return String(t)})),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}n("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(t,e,n){var i,r,a,o,l;if("string"==typeof e&&(r="not ",e.substr(0,4)===r)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-9,n)===e}(t," argument"))a="The ".concat(t," ").concat(i," ").concat(s(e,"type"));else{var c=("number"!=typeof l&&(l=0),l+1>(o=t).length||-1===o.indexOf(".",l)?"argument":"property");a='The "'.concat(t,'" ').concat(c," ").concat(i," ").concat(s(e,"type"))}return a+". Received type ".concat(typeof n)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.F=e},25382:(t,e,n)=>{"use strict";var s=n(65606),i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=d;var r=n(45412),a=n(16708);n(56698)(d,r);for(var o=i(a.prototype),l=0;l{"use strict";t.exports=i;var s=n(74610);function i(t){if(!(this instanceof i))return new i(t);s.call(this,t)}n(56698)(i,s),i.prototype._transform=function(t,e,n){n(null,t)}},45412:(t,e,n)=>{"use strict";var s,i=n(65606);t.exports=x,x.ReadableState=T,n(37007).EventEmitter;var r,a=function(t,e){return t.listeners(e).length},o=n(40345),l=n(48287).Buffer,c=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},d=n(79838);r=d&&d.debuglog?d.debuglog("stream"):function(){};var u,m,p,f=n(80345),g=n(75896),h=n(65291).getHighWaterMark,v=n(86048).F,w=v.ERR_INVALID_ARG_TYPE,y=v.ERR_STREAM_PUSH_AFTER_EOF,A=v.ERR_METHOD_NOT_IMPLEMENTED,b=v.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;n(56698)(x,o);var C=g.errorOrDestroy,_=["error","close","destroy","pause","resume"];function T(t,e,i){s=s||n(25382),t=t||{},"boolean"!=typeof i&&(i=e instanceof s),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=h(this,t,"readableHighWaterMark",i),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(u||(u=n(83141).I),this.decoder=new u(t.encoding),this.encoding=t.encoding)}function x(t){if(s=s||n(25382),!(this instanceof x))return new x(t);var e=this instanceof s;this._readableState=new T(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),o.call(this)}function S(t,e,n,s,i){r("readableAddChunk",e);var a,o=t._readableState;if(null===e)o.reading=!1,function(t,e){if(r("onEofChunk"),!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length)}e.ended=!0,e.sync?N(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,F(t)))}}(t,o);else if(i||(a=function(t,e){var n,s;return s=e,l.isBuffer(s)||s instanceof c||"string"==typeof e||void 0===e||t.objectMode||(n=new w("chunk",["string","Buffer","Uint8Array"],e)),n}(o,e)),a)C(t,a);else if(o.objectMode||e&&e.length>0)if("string"==typeof e||o.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),s)o.endEmitted?C(t,new b):k(t,o,e,!0);else if(o.ended)C(t,new y);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?k(t,o,e,!1):P(t,o)):k(t,o,e,!1)}else s||(o.reading=!1,P(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=L?t=L:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function N(t){var e=t._readableState;r("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(r("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(F,t))}function F(t){var e=t._readableState;r("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,B(t)}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function O(t){r("readable nexttick read 0"),t.read(0)}function U(t,e){r("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),B(t),e.flowing&&!e.reading&&t.read(0)}function B(t){var e=t._readableState;for(r("flow",e.flowing);e.flowing&&null!==t.read(););}function M(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n}function j(t){var e=t._readableState;r("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(R,e,t))}function R(t,e){if(r("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var n=e._writableState;(!n||n.autoDestroy&&n.finished)&&e.destroy()}}function z(t,e){for(var n=0,s=t.length;n=e.highWaterMark:e.length>0)||e.ended))return r("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?j(this):N(this),null;if(0===(t=E(t,e))&&e.ended)return 0===e.length&&j(this),null;var s,i=e.needReadable;return r("need readable",i),(0===e.length||e.length-t0?M(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&j(this)),null!==s&&this.emit("data",s),s},x.prototype._read=function(t){C(this,new A("_read()"))},x.prototype.pipe=function(t,e){var n=this,s=this._readableState;switch(s.pipesCount){case 0:s.pipes=t;break;case 1:s.pipes=[s.pipes,t];break;default:s.pipes.push(t)}s.pipesCount+=1,r("pipe count=%d opts=%j",s.pipesCount,e);var o=e&&!1===e.end||t===i.stdout||t===i.stderr?g:l;function l(){r("onend"),t.end()}s.endEmitted?i.nextTick(o):n.once("end",o),t.on("unpipe",(function e(i,a){r("onunpipe"),i===n&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,r("cleanup"),t.removeListener("close",p),t.removeListener("finish",f),t.removeListener("drain",c),t.removeListener("error",m),t.removeListener("unpipe",e),n.removeListener("end",l),n.removeListener("end",g),n.removeListener("data",u),d=!0,!s.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}));var c=function(t){return function(){var e=t._readableState;r("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,"data")&&(e.flowing=!0,B(t))}}(n);t.on("drain",c);var d=!1;function u(e){r("ondata");var i=t.write(e);r("dest.write",i),!1===i&&((1===s.pipesCount&&s.pipes===t||s.pipesCount>1&&-1!==z(s.pipes,t))&&!d&&(r("false write response, pause",s.awaitDrain),s.awaitDrain++),n.pause())}function m(e){r("onerror",e),g(),t.removeListener("error",m),0===a(t,"error")&&C(t,e)}function p(){t.removeListener("finish",f),g()}function f(){r("onfinish"),t.removeListener("close",p),g()}function g(){r("unpipe"),n.unpipe(t)}return n.on("data",u),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",m),t.once("close",p),t.once("finish",f),t.emit("pipe",n),s.flowing||(r("pipe resume"),n.resume()),t},x.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var s=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var r=0;r0,!1!==s.flowing&&this.resume()):"readable"===t&&(s.endEmitted||s.readableListening||(s.readableListening=s.needReadable=!0,s.flowing=!1,s.emittedReadable=!1,r("on readable",s.length,s.reading),s.length?N(this):s.reading||i.nextTick(O,this))),n},x.prototype.addListener=x.prototype.on,x.prototype.removeListener=function(t,e){var n=o.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(D,this),n},x.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(D,this),e},x.prototype.resume=function(){var t=this._readableState;return t.flowing||(r("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(U,t,e))}(this,t)),t.paused=!1,this},x.prototype.pause=function(){return r("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(r("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},x.prototype.wrap=function(t){var e=this,n=this._readableState,s=!1;for(var i in t.on("end",(function(){if(r("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){r("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i||(n.objectMode||i&&i.length)&&(e.push(i)||(s=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var a=0;a<_.length;a++)t.on(_[a],this.emit.bind(this,_[a]));return this._read=function(e){r("wrapped _read",e),s&&(s=!1,t.resume())},this},"function"==typeof Symbol&&(x.prototype[Symbol.asyncIterator]=function(){return void 0===m&&(m=n(2955)),m(this)}),Object.defineProperty(x.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(x.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(x.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),x._fromList=M,Object.defineProperty(x.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(x.from=function(t,e){return void 0===p&&(p=n(55157)),p(x,t,e)})},74610:(t,e,n)=>{"use strict";t.exports=d;var s=n(86048).F,i=s.ERR_METHOD_NOT_IMPLEMENTED,r=s.ERR_MULTIPLE_CALLBACK,a=s.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=s.ERR_TRANSFORM_WITH_LENGTH_0,l=n(25382);function c(t,e){var n=this._transformState;n.transforming=!1;var s=n.writecb;if(null===s)return this.emit("error",new r);n.writechunk=null,n.writecb=null,null!=e&&this.push(e),s(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";var s,i=n(65606);function r(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,n){var s=t.entry;for(t.entry=null;s;){var i=s.callback;e.pendingcb--,i(undefined),s=s.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=x,x.WritableState=T;var a,o={deprecate:n(94643)},l=n(40345),c=n(48287).Buffer,d=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},u=n(75896),m=n(65291).getHighWaterMark,p=n(86048).F,f=p.ERR_INVALID_ARG_TYPE,g=p.ERR_METHOD_NOT_IMPLEMENTED,h=p.ERR_MULTIPLE_CALLBACK,v=p.ERR_STREAM_CANNOT_PIPE,w=p.ERR_STREAM_DESTROYED,y=p.ERR_STREAM_NULL_VALUES,A=p.ERR_STREAM_WRITE_AFTER_END,b=p.ERR_UNKNOWN_ENCODING,C=u.errorOrDestroy;function _(){}function T(t,e,a){s=s||n(25382),t=t||{},"boolean"!=typeof a&&(a=e instanceof s),this.objectMode=!!t.objectMode,a&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=m(this,t,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===t.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,s=n.sync,r=n.writecb;if("function"!=typeof r)throw new h;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,s,r){--e.pendingcb,n?(i.nextTick(r,s),i.nextTick(F,t,e),t._writableState.errorEmitted=!0,C(t,s)):(r(s),t._writableState.errorEmitted=!0,C(t,s),F(t,e))}(t,n,s,e,r);else{var a=E(n)||t.destroyed;a||n.corked||n.bufferProcessing||!n.bufferedRequest||L(t,n),s?i.nextTick(k,t,n,a,r):k(t,n,a,r)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function x(t){var e=this instanceof(s=s||n(25382));if(!e&&!a.call(x,this))return new x(t);this._writableState=new T(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),l.call(this)}function S(t,e,n,s,i,r,a){e.writelen=s,e.writecb=a,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new w("write")):n?t._writev(i,e.onwrite):t._write(i,r,e.onwrite),e.sync=!1}function k(t,e,n,s){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,s(),F(t,e)}function L(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var s=e.bufferedRequestCount,i=new Array(s),a=e.corkedRequestsFree;a.entry=n;for(var o=0,l=!0;n;)i[o]=n,n.isBuf||(l=!1),n=n.next,o+=1;i.allBuffers=l,S(t,e,!0,e.length,i,"",a.finish),e.pendingcb++,e.lastBufferedRequest=null,a.next?(e.corkedRequestsFree=a.next,a.next=null):e.corkedRequestsFree=new r(e),e.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,d=n.encoding,u=n.callback;if(S(t,e,!1,e.objectMode?1:c.length,c,d,u),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequest=n,e.bufferProcessing=!1}function E(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function N(t,e){t._final((function(n){e.pendingcb--,n&&C(t,n),e.prefinished=!0,t.emit("prefinish"),F(t,e)}))}function F(t,e){var n=E(e);if(n&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,i.nextTick(N,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var s=t._readableState;(!s||s.autoDestroy&&s.endEmitted)&&t.destroy()}return n}n(56698)(x,l),T.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(T.prototype,"buffer",{get:o.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(a=Function.prototype[Symbol.hasInstance],Object.defineProperty(x,Symbol.hasInstance,{value:function(t){return!!a.call(this,t)||this===x&&t&&t._writableState instanceof T}})):a=function(t){return t instanceof this},x.prototype.pipe=function(){C(this,new v)},x.prototype.write=function(t,e,n){var s,r=this._writableState,a=!1,o=!r.objectMode&&(s=t,c.isBuffer(s)||s instanceof d);return o&&!c.isBuffer(t)&&(t=function(t){return c.from(t)}(t)),"function"==typeof e&&(n=e,e=null),o?e="buffer":e||(e=r.defaultEncoding),"function"!=typeof n&&(n=_),r.ending?function(t,e){var n=new A;C(t,n),i.nextTick(e,n)}(this,n):(o||function(t,e,n,s){var r;return null===n?r=new y:"string"==typeof n||e.objectMode||(r=new f("chunk",["string","Buffer"],n)),!r||(C(t,r),i.nextTick(s,r),!1)}(this,r,t,n))&&(r.pendingcb++,a=function(t,e,n,s,i,r){if(!n){var a=function(t,e,n){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=c.from(e,n)),e}(e,s,i);s!==a&&(n=!0,i="buffer",s=a)}var o=e.objectMode?1:s.length;e.length+=o;var l=e.length-1))throw new b(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(x.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(x.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),x.prototype._write=function(t,e,n){n(new g("_write()"))},x.prototype._writev=null,x.prototype.end=function(t,e,n){var s=this._writableState;return"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),s.corked&&(s.corked=1,this.uncork()),s.ending||function(t,e,n){e.ending=!0,F(t,e),n&&(e.finished?i.nextTick(n):t.once("finish",n)),e.ended=!0,t.writable=!1}(this,s,n),this},Object.defineProperty(x.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(x.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),x.prototype.destroy=u.destroy,x.prototype._undestroy=u.undestroy,x.prototype._destroy=function(t,e){e(t)}},2955:(t,e,n)=>{"use strict";var s,i=n(65606);function r(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var a=n(86238),o=Symbol("lastResolve"),l=Symbol("lastReject"),c=Symbol("error"),d=Symbol("ended"),u=Symbol("lastPromise"),m=Symbol("handlePromise"),p=Symbol("stream");function f(t,e){return{value:t,done:e}}function g(t){var e=t[o];if(null!==e){var n=t[p].read();null!==n&&(t[u]=null,t[o]=null,t[l]=null,e(f(n,!1)))}}function h(t){i.nextTick(g,t)}var v=Object.getPrototypeOf((function(){})),w=Object.setPrototypeOf((r(s={get stream(){return this[p]},next:function(){var t=this,e=this[c];if(null!==e)return Promise.reject(e);if(this[d])return Promise.resolve(f(void 0,!0));if(this[p].destroyed)return new Promise((function(e,n){i.nextTick((function(){t[c]?n(t[c]):e(f(void 0,!0))}))}));var n,s=this[u];if(s)n=new Promise(function(t,e){return function(n,s){t.then((function(){e[d]?n(f(void 0,!0)):e[m](n,s)}),s)}}(s,this));else{var r=this[p].read();if(null!==r)return Promise.resolve(f(r,!1));n=new Promise(this[m])}return this[u]=n,n}},Symbol.asyncIterator,(function(){return this})),r(s,"return",(function(){var t=this;return new Promise((function(e,n){t[p].destroy(null,(function(t){t?n(t):e(f(void 0,!0))}))}))})),s),v);t.exports=function(t){var e,n=Object.create(w,(r(e={},p,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:null,writable:!0}),r(e,d,{value:t._readableState.endEmitted,writable:!0}),r(e,m,{value:function(t,e){var s=n[p].read();s?(n[u]=null,n[o]=null,n[l]=null,t(f(s,!1))):(n[o]=t,n[l]=e)},writable:!0}),e));return n[u]=null,a(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=n[l];return null!==e&&(n[u]=null,n[o]=null,n[l]=null,e(t)),void(n[c]=t)}var s=n[o];null!==s&&(n[u]=null,n[o]=null,n[l]=null,s(f(void 0,!0))),n[d]=!0})),t.on("readable",h.bind(null,n)),n}},80345:(t,e,n)=>{"use strict";function s(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,s)}return n}function i(t){for(var e=1;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return l.alloc(0);for(var e,n,s,i=l.allocUnsafe(t>>>0),r=this.head,a=0;r;)e=r.data,n=i,s=a,l.prototype.copy.call(e,n,s),a+=r.data.length,r=r.next;return i}},{key:"consume",value:function(t,e){var n;return ti.length?i.length:t;if(r===i.length?s+=i:s+=i.slice(0,t),0==(t-=r)){r===i.length?(++n,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(r));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(t){var e=l.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var i=n.data,r=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,r),0==(t-=r)){r===i.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(r));break}++s}return this.length-=s,e}},{key:d,value:function(t,e){return c(this,i(i({},e),{},{depth:0,customInspect:!1}))}}])&&a(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}()},75896:(t,e,n)=>{"use strict";var s=n(65606);function i(t,e){a(t,e),r(t)}function r(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function a(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var n=this,o=this._readableState&&this._readableState.destroyed,l=this._writableState&&this._writableState.destroyed;return o||l?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,s.nextTick(a,this,t)):s.nextTick(a,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?n._writableState?n._writableState.errorEmitted?s.nextTick(r,n):(n._writableState.errorEmitted=!0,s.nextTick(i,n,t)):s.nextTick(i,n,t):e?(s.nextTick(r,n),e(t)):s.nextTick(r,n)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var n=t._readableState,s=t._writableState;n&&n.autoDestroy||s&&s.autoDestroy?t.destroy(e):t.emit("error",e)}}},86238:(t,e,n)=>{"use strict";var s=n(86048).F.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,n,r){if("function"==typeof n)return t(e,null,n);n||(n={}),r=function(t){var e=!1;return function(){if(!e){e=!0;for(var n=arguments.length,s=new Array(n),i=0;i{t.exports=function(){throw new Error("Readable.from is not available in the browser")}},57758:(t,e,n)=>{"use strict";var s,i=n(86048).F,r=i.ERR_MISSING_ARGS,a=i.ERR_STREAM_DESTROYED;function o(t){if(t)throw t}function l(t){t()}function c(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i0,(function(t){d||(d=t),t&&m.forEach(l),r||(m.forEach(l),u(d))}))}));return e.reduce(c)}},65291:(t,e,n)=>{"use strict";var s=n(86048).F.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,n,i){var r=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,i,n);if(null!=r){if(!isFinite(r)||Math.floor(r)!==r||r<0)throw new s(i?n:"highWaterMark",r);return Math.floor(r)}return t.objectMode?16:16384}}},40345:(t,e,n)=>{t.exports=n(37007).EventEmitter},92861:(t,e,n)=>{var s=n(48287),i=s.Buffer;function r(t,e){for(var n in t)e[n]=t[n]}function a(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=s:(r(s,e),e.Buffer=a),a.prototype=Object.create(i.prototype),r(i,a),a.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},a.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var s=i(t);return void 0!==e?"string"==typeof n?s.fill(e,n):s.fill(e):s.fill(0),s},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return s.SlowBuffer(t)}},64043:(t,e,n)=>{var s=n(48287).Buffer;!function(t){t.parser=function(t,e){return new r(t,e)},t.SAXParser=r,t.SAXStream=o,t.createStream=function(t,e){return new o(t,e)},t.MAX_BUFFER_LENGTH=65536;var e,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function r(e,n){if(!(this instanceof r))return new r(e,n);var s=this;!function(t){for(var e=0,n=i.length;e"===r?(L(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=x.TEXT):w(r)?(n.state=x.SGML_DECL_QUOTED,n.sgmlDecl+=r):n.sgmlDecl+=r;continue;case x.SGML_DECL_QUOTED:r===n.q&&(n.state=x.SGML_DECL,n.q=""),n.sgmlDecl+=r;continue;case x.DOCTYPE:">"===r?(n.state=x.TEXT,L(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=r,"["===r?n.state=x.DOCTYPE_DTD:w(r)&&(n.state=x.DOCTYPE_QUOTED,n.q=r));continue;case x.DOCTYPE_QUOTED:n.doctype+=r,r===n.q&&(n.q="",n.state=x.DOCTYPE);continue;case x.DOCTYPE_DTD:n.doctype+=r,"]"===r?n.state=x.DOCTYPE:w(r)&&(n.state=x.DOCTYPE_DTD_QUOTED,n.q=r);continue;case x.DOCTYPE_DTD_QUOTED:n.doctype+=r,r===n.q&&(n.state=x.DOCTYPE_DTD,n.q="");continue;case x.COMMENT:"-"===r?n.state=x.COMMENT_ENDING:n.comment+=r;continue;case x.COMMENT_ENDING:"-"===r?(n.state=x.COMMENT_ENDED,n.comment=N(n.opt,n.comment),n.comment&&L(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+r,n.state=x.COMMENT);continue;case x.COMMENT_ENDED:">"!==r?(I(n,"Malformed comment"),n.comment+="--"+r,n.state=x.COMMENT):n.state=x.TEXT;continue;case x.CDATA:"]"===r?n.state=x.CDATA_ENDING:n.cdata+=r;continue;case x.CDATA_ENDING:"]"===r?n.state=x.CDATA_ENDING_2:(n.cdata+="]"+r,n.state=x.CDATA);continue;case x.CDATA_ENDING_2:">"===r?(n.cdata&&L(n,"oncdata",n.cdata),L(n,"onclosecdata"),n.cdata="",n.state=x.TEXT):"]"===r?n.cdata+="]":(n.cdata+="]]"+r,n.state=x.CDATA);continue;case x.PROC_INST:"?"===r?n.state=x.PROC_INST_ENDING:v(r)?n.state=x.PROC_INST_BODY:n.procInstName+=r;continue;case x.PROC_INST_BODY:if(!n.procInstBody&&v(r))continue;"?"===r?n.state=x.PROC_INST_ENDING:n.procInstBody+=r;continue;case x.PROC_INST_ENDING:">"===r?(L(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=x.TEXT):(n.procInstBody+="?"+r,n.state=x.PROC_INST_BODY);continue;case x.OPEN_TAG:A(f,r)?n.tagName+=r:(D(n),">"===r?B(n):"/"===r?n.state=x.OPEN_TAG_SLASH:(v(r)||I(n,"Invalid character in tag name"),n.state=x.ATTRIB));continue;case x.OPEN_TAG_SLASH:">"===r?(B(n,!0),M(n)):(I(n,"Forward-slash in opening tag not followed by >"),n.state=x.ATTRIB);continue;case x.ATTRIB:if(v(r))continue;">"===r?B(n):"/"===r?n.state=x.OPEN_TAG_SLASH:A(p,r)?(n.attribName=r,n.attribValue="",n.state=x.ATTRIB_NAME):I(n,"Invalid attribute name");continue;case x.ATTRIB_NAME:"="===r?n.state=x.ATTRIB_VALUE:">"===r?(I(n,"Attribute without value"),n.attribValue=n.attribName,U(n),B(n)):v(r)?n.state=x.ATTRIB_NAME_SAW_WHITE:A(f,r)?n.attribName+=r:I(n,"Invalid attribute name");continue;case x.ATTRIB_NAME_SAW_WHITE:if("="===r)n.state=x.ATTRIB_VALUE;else{if(v(r))continue;I(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",L(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===r?B(n):A(p,r)?(n.attribName=r,n.state=x.ATTRIB_NAME):(I(n,"Invalid attribute name"),n.state=x.ATTRIB)}continue;case x.ATTRIB_VALUE:if(v(r))continue;w(r)?(n.q=r,n.state=x.ATTRIB_VALUE_QUOTED):(I(n,"Unquoted attribute value"),n.state=x.ATTRIB_VALUE_UNQUOTED,n.attribValue=r);continue;case x.ATTRIB_VALUE_QUOTED:if(r!==n.q){"&"===r?n.state=x.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=r;continue}U(n),n.q="",n.state=x.ATTRIB_VALUE_CLOSED;continue;case x.ATTRIB_VALUE_CLOSED:v(r)?n.state=x.ATTRIB:">"===r?B(n):"/"===r?n.state=x.OPEN_TAG_SLASH:A(p,r)?(I(n,"No whitespace between attributes"),n.attribName=r,n.attribValue="",n.state=x.ATTRIB_NAME):I(n,"Invalid attribute name");continue;case x.ATTRIB_VALUE_UNQUOTED:if(!y(r)){"&"===r?n.state=x.ATTRIB_VALUE_ENTITY_U:n.attribValue+=r;continue}U(n),">"===r?B(n):n.state=x.ATTRIB;continue;case x.CLOSE_TAG:if(n.tagName)">"===r?M(n):A(f,r)?n.tagName+=r:n.script?(n.script+=""===r?M(n):I(n,"Invalid characters in closing tag");continue;case x.TEXT_ENTITY:case x.ATTRIB_VALUE_ENTITY_Q:case x.ATTRIB_VALUE_ENTITY_U:var d,u;switch(n.state){case x.TEXT_ENTITY:d=x.TEXT,u="textNode";break;case x.ATTRIB_VALUE_ENTITY_Q:d=x.ATTRIB_VALUE_QUOTED,u="attribValue";break;case x.ATTRIB_VALUE_ENTITY_U:d=x.ATTRIB_VALUE_UNQUOTED,u="attribValue"}if(";"===r)if(n.opt.unparsedEntities){var m=j(n);n.entity="",n.state=d,n.write(m)}else n[u]+=j(n),n.entity="",n.state=d;else A(n.entity.length?h:g,r)?n.entity+=r:(I(n,"Invalid character in entity name"),n[u]+="&"+n.entity+r,n.entity="",n.state=d);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(e){for(var n=Math.max(t.MAX_BUFFER_LENGTH,10),s=0,r=0,a=i.length;rn)switch(i[r]){case"textNode":E(e);break;case"cdata":L(e,"oncdata",e.cdata),e.cdata="";break;case"script":L(e,"onscript",e.script),e.script="";break;default:F(e,"Max buffer length exceeded: "+i[r])}s=Math.max(s,o)}var l=t.MAX_BUFFER_LENGTH-s;e.bufferCheckPosition=l+e.position}(n),n},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var t;E(t=this),""!==t.cdata&&(L(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(L(t,"onscript",t.script),t.script="")}};try{e=n(88310).Stream}catch(t){e=function(){}}e||(e=function(){});var a=t.EVENTS.filter((function(t){return"error"!==t&&"end"!==t}));function o(t,n){if(!(this instanceof o))return new o(t,n);e.apply(this),this._parser=new r(t,n),this.writable=!0,this.readable=!0;var s=this;this._parser.onend=function(){s.emit("end")},this._parser.onerror=function(t){s.emit("error",t),s._parser.error=null},this._decoder=null,a.forEach((function(t){Object.defineProperty(s,"on"+t,{get:function(){return s._parser["on"+t]},set:function(e){if(!e)return s.removeAllListeners(t),s._parser["on"+t]=e,e;s.on(t,e)},enumerable:!0,configurable:!1})}))}o.prototype=Object.create(e.prototype,{constructor:{value:o}}),o.prototype.write=function(t){if("function"==typeof s&&"function"==typeof s.isBuffer&&s.isBuffer(t)){if(!this._decoder){var e=n(83141).I;this._decoder=new e("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},o.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},o.prototype.on=function(t,n){var s=this;return s._parser["on"+t]||-1===a.indexOf(t)||(s._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),s.emit.apply(s,e)}),e.prototype.on.call(s,t,n)};var l="[CDATA[",c="DOCTYPE",d="http://www.w3.org/XML/1998/namespace",u="http://www.w3.org/2000/xmlns/",m={xml:d,xmlns:u},p=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function v(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function w(t){return'"'===t||"'"===t}function y(t){return">"===t||v(t)}function A(t,e){return t.test(e)}function b(t,e){return!A(t,e)}var C,_,T,x=0;for(var S in t.STATE={BEGIN:x++,BEGIN_WHITESPACE:x++,TEXT:x++,TEXT_ENTITY:x++,OPEN_WAKA:x++,SGML_DECL:x++,SGML_DECL_QUOTED:x++,DOCTYPE:x++,DOCTYPE_QUOTED:x++,DOCTYPE_DTD:x++,DOCTYPE_DTD_QUOTED:x++,COMMENT_STARTING:x++,COMMENT:x++,COMMENT_ENDING:x++,COMMENT_ENDED:x++,CDATA:x++,CDATA_ENDING:x++,CDATA_ENDING_2:x++,PROC_INST:x++,PROC_INST_BODY:x++,PROC_INST_ENDING:x++,OPEN_TAG:x++,OPEN_TAG_SLASH:x++,ATTRIB:x++,ATTRIB_NAME:x++,ATTRIB_NAME_SAW_WHITE:x++,ATTRIB_VALUE:x++,ATTRIB_VALUE_QUOTED:x++,ATTRIB_VALUE_CLOSED:x++,ATTRIB_VALUE_UNQUOTED:x++,ATTRIB_VALUE_ENTITY_Q:x++,ATTRIB_VALUE_ENTITY_U:x++,CLOSE_TAG:x++,CLOSE_TAG_SAW_WHITE:x++,SCRIPT:x++,SCRIPT_ENDING:x++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach((function(e){var n=t.ENTITIES[e],s="number"==typeof n?String.fromCharCode(n):n;t.ENTITIES[e]=s})),t.STATE)t.STATE[t.STATE[S]]=S;function k(t,e,n){t[e]&&t[e](n)}function L(t,e,n){t.textNode&&E(t),k(t,e,n)}function E(t){t.textNode=N(t.opt,t.textNode),t.textNode&&k(t,"ontext",t.textNode),t.textNode=""}function N(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function F(t,e){return E(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,k(t,"onerror",e),t}function P(t){return t.sawRoot&&!t.closedRoot&&I(t,"Unclosed root tag"),t.state!==x.BEGIN&&t.state!==x.BEGIN_WHITESPACE&&t.state!==x.TEXT&&F(t,"Unexpected end"),E(t),t.c="",t.closed=!0,k(t,"onend"),r.call(t,t.strict,t.opt),t}function I(t,e){if("object"!=typeof t||!(t instanceof r))throw new Error("bad call to strictFail");t.strict&&F(t,e)}function D(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,L(t,"onopentagstart",n)}function O(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),s=n[0],i=n[1];return e&&"xmlns"===t&&(s="xmlns",i=""),{prefix:s,local:i}}function U(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=O(t.attribName,!0),n=e.prefix,s=e.local;if("xmlns"===n)if("xml"===s&&t.attribValue!==d)I(t,"xml: prefix must be bound to "+d+"\nActual: "+t.attribValue);else if("xmlns"===s&&t.attribValue!==u)I(t,"xmlns: prefix must be bound to "+u+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[s]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,L(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function B(t,e){if(t.opt.xmlns){var n=t.tag,s=O(t.tagName);n.prefix=s.prefix,n.local=s.local,n.uri=n.ns[s.prefix]||"",n.prefix&&!n.uri&&(I(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=s.prefix);var i=t.tags[t.tags.length-1]||t;n.ns&&i.ns!==n.ns&&Object.keys(n.ns).forEach((function(e){L(t,"onopennamespace",{prefix:e,uri:n.ns[e]})}));for(var r=0,a=t.attribList.length;r",t.tagName="",void(t.state=x.SCRIPT);L(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var s=n;e--&&t.tags[e].name!==s;)I(t,"Unexpected close tag");if(e<0)return I(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=x.TEXT);t.tagName=n;for(var i=t.tags.length;i-- >e;){var r=t.tag=t.tags.pop();t.tagName=t.tag.name,L(t,"onclosetag",t.tagName);var a={};for(var o in r.ns)a[o]=r.ns[o];var l=t.tags[t.tags.length-1]||t;t.opt.xmlns&&r.ns!==l.ns&&Object.keys(r.ns).forEach((function(e){var n=r.ns[e];L(t,"onclosenamespace",{prefix:e,uri:n})}))}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=x.TEXT}function j(t){var e,n=t.entity,s=n.toLowerCase(),i="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[s]?t.ENTITIES[s]:("#"===(n=s).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),i=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),i=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||i.toLowerCase()!==n?(I(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function R(t,e){"<"===e?(t.state=x.OPEN_WAKA,t.startTagPosition=t.position):v(e)||(I(t,"Non-whitespace before first tag."),t.textNode=e,t.state=x.TEXT)}function z(t,e){var n="";return e1114111||_(a)!==a)throw RangeError("Invalid code point: "+a);a<=65535?n.push(a):(t=55296+((a-=65536)>>10),e=a%1024+56320,n.push(t,e)),(s+1===i||n.length>16384)&&(r+=C.apply(null,n),n.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:T,configurable:!0,writable:!0}):String.fromCodePoint=T)}(e)},42791:function(t,e,n){var s=n(65606);!function(t,e){"use strict";if(!t.setImmediate){var n,i,r,a,o,l=1,c={},d=!1,u=t.document,m=Object.getPrototypeOf&&Object.getPrototypeOf(t);m=m&&m.setTimeout?m:t,"[object process]"==={}.toString.call(t.process)?n=function(t){s.nextTick((function(){f(t)}))}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(a="setImmediate$"+Math.random()+"$",o=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(a)&&f(+e.data.slice(a.length))},t.addEventListener?t.addEventListener("message",o,!1):t.attachEvent("onmessage",o),n=function(e){t.postMessage(a+e,"*")}):t.MessageChannel?((r=new MessageChannel).port1.onmessage=function(t){f(t.data)},n=function(t){r.port2.postMessage(t)}):u&&"onreadystatechange"in u.createElement("script")?(i=u.documentElement,n=function(t){var e=u.createElement("script");e.onreadystatechange=function(){f(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(f,0,t)},m.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),s=0;s{function e(t,e){return null==t?e:t}t.exports=function(t){var n,s=e((t=t||{}).max,1),i=e(t.min,0),r=e(t.autostart,!0),a=e(t.ignoreSameProgress,!1),o=null,l=null,c=null,d=(n=e(t.historyTimeConstant,2.5),function(t,e,s){return t+s/(s+n)*(e-t)});function u(){m(i)}function m(t,e){if("number"!=typeof e&&(e=Date.now()),l!==e&&(!a||c!==t)){if(null===l||null===c)return c=t,void(l=e);var n=.001*(e-l),s=(t-c)/n;o=null===o?s:d(o,s,n),c=t,l=e}}return{start:u,reset:function(){o=null,l=null,c=null,r&&u()},report:m,estimate:function(t){if(null===c)return 1/0;if(c>=s)return 0;if(null===o)return 1/0;var e=(s-c)/o;return"number"==typeof t&&"number"==typeof l&&(e-=.001*(t-l)),Math.max(0,e)},rate:function(){return null===o?0:o}}}},88310:(t,e,n)=>{t.exports=i;var s=n(37007).EventEmitter;function i(){s.call(this)}n(56698)(i,s),i.Readable=n(45412),i.Writable=n(16708),i.Duplex=n(25382),i.Transform=n(74610),i.PassThrough=n(63600),i.finished=n(86238),i.pipeline=n(57758),i.Stream=i,i.prototype.pipe=function(t,e){var n=this;function i(e){t.writable&&!1===t.write(e)&&n.pause&&n.pause()}function r(){n.readable&&n.resume&&n.resume()}n.on("data",i),t.on("drain",r),t._isStdio||e&&!1===e.end||(n.on("end",o),n.on("close",l));var a=!1;function o(){a||(a=!0,t.end())}function l(){a||(a=!0,"function"==typeof t.destroy&&t.destroy())}function c(t){if(d(),0===s.listenerCount(this,"error"))throw t}function d(){n.removeListener("data",i),t.removeListener("drain",r),n.removeListener("end",o),n.removeListener("close",l),n.removeListener("error",c),t.removeListener("error",c),n.removeListener("end",d),n.removeListener("close",d),t.removeListener("close",d)}return n.on("error",c),t.on("error",c),n.on("end",d),n.on("close",d),t.on("close",d),t.emit("pipe",n),t}},83141:(t,e,n)=>{"use strict";var s=n(92861).Buffer,i=s.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(s.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=c,e=4;break;case"utf8":this.fillLast=o,e=4;break;case"base64":this.text=d,this.end=u,e=3;break;default:return this.write=m,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=s.allocUnsafe(e)}function a(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function o(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var s=n.charCodeAt(n.length-1);if(s>=55296&&s<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function d(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function m(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.I=r,r.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(i>0&&(t.lastNeed=i-1),i):--s=0?(i>0&&(t.lastNeed=i-2),i):--s=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var s=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,s),t.toString("utf8",e,s)},r.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},97103:function(t,e,n){var s=void 0!==n.g&&n.g||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function r(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new r(i.call(setTimeout,s,arguments),clearTimeout)},e.setInterval=function(){return new r(i.call(setInterval,s,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(s,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},n(42791),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==n.g&&n.g.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==n.g&&n.g.clearImmediate||this&&this.clearImmediate},94643:(t,e,n)=>{var s=n(96763);function i(t){try{if(!n.g.localStorage)return!1}catch(t){return!1}var e=n.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(i("noDeprecation"))return t;var n=!1;return function(){if(!n){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?s.trace(e):s.warn(e),n=!0}return t.apply(this,arguments)}}},83177:function(t,e){(function(){"use strict";e.stripBOM=function(t){return"\ufeff"===t[0]?t.substring(1):t}}).call(this)},56712:function(t,e,n){(function(){"use strict";var t,s,i,r,a,o={}.hasOwnProperty;t=n(59665),s=n(66465).defaults,r=function(t){return"string"==typeof t&&(t.indexOf("&")>=0||t.indexOf(">")>=0||t.indexOf("<")>=0)},a=function(t){return""},i=function(t){return t.replace("]]>","]]]]>")},e.Builder=function(){function e(t){var e,n,i;for(e in this.options={},n=s[.2])o.call(n,e)&&(i=n[e],this.options[e]=i);for(e in t)o.call(t,e)&&(i=t[e],this.options[e]=i)}return e.prototype.buildObject=function(e){var n,i,l,c,d,u;return n=this.options.attrkey,i=this.options.charkey,1===Object.keys(e).length&&this.options.rootName===s[.2].rootName?e=e[d=Object.keys(e)[0]]:d=this.options.rootName,u=this,l=function(t,e){var s,c,d,m,p,f;if("object"!=typeof e)u.options.cdata&&r(e)?t.raw(a(e)):t.txt(e);else if(Array.isArray(e)){for(m in e)if(o.call(e,m))for(p in c=e[m])d=c[p],t=l(t.ele(p),d).up()}else for(p in e)if(o.call(e,p))if(c=e[p],p===n){if("object"==typeof c)for(s in c)f=c[s],t=t.att(s,f)}else if(p===i)t=u.options.cdata&&r(c)?t.raw(a(c)):t.txt(c);else if(Array.isArray(c))for(m in c)o.call(c,m)&&(t="string"==typeof(d=c[m])?u.options.cdata&&r(d)?t.ele(p).raw(a(d)).up():t.ele(p,d).up():l(t.ele(p),d).up());else"object"==typeof c?t=l(t.ele(p),c).up():"string"==typeof c&&u.options.cdata&&r(c)?t=t.ele(p).raw(a(c)).up():(null==c&&(c=""),t=t.ele(p,c.toString()).up());return t},c=t.create(d,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(c,e).end(this.options.renderOpts)},e}()}).call(this)},66465:function(t,e){(function(){e.defaults={.1:{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:"\n"},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}).call(this)},11912:function(t,e,n){(function(){"use strict";var t,s,i,r,a,o,l,c,d,u=function(t,e){return function(){return t.apply(e,arguments)}},m={}.hasOwnProperty;c=n(64043),r=n(37007),t=n(83177),l=n(92114),d=n(97103).setImmediate,s=n(66465).defaults,a=function(t){return"object"==typeof t&&null!=t&&0===Object.keys(t).length},o=function(t,e,n){var s,i;for(s=0,i=t.length;s0&&(c[t.options.childkey]=u),u=c;return s.length>0?t.assignOrPush(g,d,u):(t.options.explicitRoot&&(f=u,i(u={},d,f)),t.resultObject=u,t.saxParser.ended=!0,t.emit("end",t.resultObject))}}(this),n=function(t){return function(n){var i,r;if(r=s[s.length-1])return r[e]+=n,t.options.explicitChildren&&t.options.preserveChildrenOrder&&t.options.charsAsChildren&&(t.options.includeWhiteChars||""!==n.replace(/\\n/g,"").trim())&&(r[t.options.childkey]=r[t.options.childkey]||[],(i={"#name":"__text__"})[e]=n,t.options.normalize&&(i[e]=i[e].replace(/\s{2,}/g," ").trim()),r[t.options.childkey].push(i)),r}}(this),this.saxParser.ontext=n,this.saxParser.oncdata=function(t){var e;if(e=n(t))return e.cdata=!0}},r.prototype.parseString=function(e,n){var s;null!=n&&"function"==typeof n&&(this.on("end",(function(t){return this.reset(),n(null,t)})),this.on("error",(function(t){return this.reset(),n(t)})));try{return""===(e=e.toString()).trim()?(this.emit("end",null),!0):(e=t.stripBOM(e),this.options.async?(this.remaining=e,d(this.processAsync),this.saxParser):this.saxParser.write(e).close())}catch(t){if(s=t,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",s),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw s}},r.prototype.parseStringPromise=function(t){return new Promise((e=this,function(n,s){return e.parseString(t,(function(t,e){return t?s(t):n(e)}))}));var e},r}(r),e.parseString=function(t,n,s){var i,r;return null!=s?("function"==typeof s&&(i=s),"object"==typeof n&&(r=n)):("function"==typeof n&&(i=n),r={}),new e.Parser(r).parseString(t,i)},e.parseStringPromise=function(t,n){var s;return"object"==typeof n&&(s=n),new e.Parser(s).parseStringPromise(t)}}).call(this)},92114:function(t,e){(function(){"use strict";var t;t=new RegExp(/(?!xmlns)^.*:/),e.normalize=function(t){return t.toLowerCase()},e.firstCharLowerCase=function(t){return t.charAt(0).toLowerCase()+t.slice(1)},e.stripPrefix=function(e){return e.replace(t,"")},e.parseNumbers=function(t){return isNaN(t)||(t=t%1==0?parseInt(t,10):parseFloat(t)),t},e.parseBooleans=function(t){return/^(?:true|false)$/i.test(t)&&(t="true"===t.toLowerCase()),t}}).call(this)},38805:function(t,e,n){(function(){"use strict";var t,s,i,r,a={}.hasOwnProperty;s=n(66465),t=n(56712),i=n(11912),r=n(92114),e.defaults=s.defaults,e.processors=r,e.ValidationError=function(t){function e(t){this.message=t}return function(t,e){for(var n in e)a.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(e,Error),e}(),e.Builder=t.Builder,e.Parser=i.Parser,e.parseString=i.parseString,e.parseStringPromise=i.parseStringPromise}).call(this)},34923:function(t){(function(){t.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this)},71737:function(t){(function(){t.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this)},49241:function(t){(function(){var e,n,s,i,r,a,o,l=[].slice,c={}.hasOwnProperty;e=function(){var t,e,n,s,i,a;if(a=arguments[0],i=2<=arguments.length?l.call(arguments,1):[],r(Object.assign))Object.assign.apply(null,arguments);else for(t=0,n=i.length;t":"attribute: {"+t+"}, parent: <"+this.parent.name+">"},t.prototype.isEqualNode=function(t){return t.namespaceURI===this.namespaceURI&&t.prefix===this.prefix&&t.localName===this.localName&&t.value===this.value},t}()}).call(this)},92691:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;e=n(71737),s=n(17457),t.exports=function(t){function n(t,s){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=e.CData,this.value=this.stringify.cdata(s)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.cdata(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},17457:function(t,e,n){(function(){var e,s={}.hasOwnProperty;e=n(10468),t.exports=function(t){function e(t){e.__super__.constructor.call(this,t),this.value=""}return function(t,e){for(var n in e)s.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,t),Object.defineProperty(e.prototype,"data",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(e.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(e.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),e.prototype.clone=function(){return Object.create(this)},e.prototype.substringData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.appendData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.insertData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.deleteData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.replaceData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.isEqualNode=function(t){return!!e.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.data===this.data},e}(e)}).call(this)},32679:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;e=n(71737),s=n(17457),t.exports=function(t){function n(t,s){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=e.Comment,this.value=this.stringify.comment(s)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.comment(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},33074:function(t,e,n){(function(){var e,s;e=n(55660),s=n(92527),t.exports=function(){function t(){this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new e,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=Object.create(this.defaultParams)}return Object.defineProperty(t.prototype,"parameterNames",{get:function(){return new s(Object.keys(this.defaultParams))}}),t.prototype.getParameter=function(t){return this.params.hasOwnProperty(t)?this.params[t]:null},t.prototype.canSetParameter=function(t,e){return!0},t.prototype.setParameter=function(t,e){return null!=e?this.params[t]=e:delete this.params[t]},t}()}).call(this)},55660:function(t){(function(){t.exports=function(){function t(){}return t.prototype.handleError=function(t){throw new Error(t)},t}()}).call(this)},67260:function(t){(function(){t.exports=function(){function t(){}return t.prototype.hasFeature=function(t,e){return!0},t.prototype.createDocumentType=function(t,e,n){throw new Error("This DOM method is not implemented.")},t.prototype.createDocument=function(t,e,n){throw new Error("This DOM method is not implemented.")},t.prototype.createHTMLDocument=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this)},92527:function(t){(function(){t.exports=function(){function t(t){this.arr=t||[]}return Object.defineProperty(t.prototype,"length",{get:function(){return this.arr.length}}),t.prototype.item=function(t){return this.arr[t]||null},t.prototype.contains=function(t){return-1!==this.arr.indexOf(t)},t}()}).call(this)},34111:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(10468),e=n(71737),t.exports=function(t){function n(t,s,i,r,a,o){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD element name. "+this.debugInfo());if(null==i)throw new Error("Missing DTD attribute name. "+this.debugInfo(s));if(!r)throw new Error("Missing DTD attribute type. "+this.debugInfo(s));if(!a)throw new Error("Missing DTD attribute default. "+this.debugInfo(s));if(0!==a.indexOf("#")&&(a="#"+a),!a.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(s));if(o&&!a.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(s));this.elementName=this.stringify.name(s),this.type=e.AttributeDeclaration,this.attributeName=this.stringify.name(i),this.attributeType=this.stringify.dtdAttType(r),o&&(this.defaultValue=this.stringify.dtdAttDefault(o)),this.defaultValueType=a}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},67696:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(10468),e=n(71737),t.exports=function(t){function n(t,s,i){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD element name. "+this.debugInfo());i||(i="(#PCDATA)"),Array.isArray(i)&&(i="("+i.join(",")+")"),this.name=this.stringify.name(s),this.type=e.ElementDeclaration,this.value=this.stringify.dtdElementValue(i)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},5529:function(t,e,n){(function(){var e,s,i,r={}.hasOwnProperty;i=n(49241).isObject,s=n(10468),e=n(71737),t.exports=function(t){function n(t,s,r,a){if(n.__super__.constructor.call(this,t),null==r)throw new Error("Missing DTD entity name. "+this.debugInfo(r));if(null==a)throw new Error("Missing DTD entity value. "+this.debugInfo(r));if(this.pe=!!s,this.name=this.stringify.name(r),this.type=e.EntityDeclaration,i(a)){if(!a.pubID&&!a.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(r));if(a.pubID&&!a.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(r));if(this.internal=!1,null!=a.pubID&&(this.pubID=this.stringify.dtdPubID(a.pubID)),null!=a.sysID&&(this.sysID=this.stringify.dtdSysID(a.sysID)),null!=a.nData&&(this.nData=this.stringify.dtdNData(a.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(r))}else this.value=this.stringify.dtdEntityValue(a),this.internal=!0}return function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),Object.defineProperty(n.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(n.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(n.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(n.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(n.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(n.prototype,"xmlVersion",{get:function(){return null}}),n.prototype.toString=function(t){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},28012:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(10468),e=n(71737),t.exports=function(t){function n(t,s,i){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD notation name. "+this.debugInfo(s));if(!i.pubID&&!i.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(s));this.name=this.stringify.name(s),this.type=e.NotationDeclaration,null!=i.pubID&&(this.pubID=this.stringify.dtdPubID(i.pubID)),null!=i.sysID&&(this.sysID=this.stringify.dtdSysID(i.sysID))}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),Object.defineProperty(n.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(n.prototype,"systemId",{get:function(){return this.sysID}}),n.prototype.toString=function(t){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},34130:function(t,e,n){(function(){var e,s,i,r={}.hasOwnProperty;i=n(49241).isObject,s=n(10468),e=n(71737),t.exports=function(t){function n(t,s,r,a){var o;n.__super__.constructor.call(this,t),i(s)&&(s=(o=s).version,r=o.encoding,a=o.standalone),s||(s="1.0"),this.type=e.Declaration,this.version=this.stringify.xmlVersion(s),null!=r&&(this.encoding=this.stringify.xmlEncoding(r)),null!=a&&(this.standalone=this.stringify.xmlStandalone(a))}return function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.declaration(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},96376:function(t,e,n){(function(){var e,s,i,r,a,o,l,c,d={}.hasOwnProperty;c=n(49241).isObject,l=n(10468),e=n(71737),s=n(34111),r=n(5529),i=n(67696),a=n(28012),o=n(24797),t.exports=function(t){function n(t,s,i){var r,a,o,l,d,u;if(n.__super__.constructor.call(this,t),this.type=e.DocType,t.children)for(a=0,o=(l=t.children).length;a=0;)this.up();return this.onEnd()},t.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},t.prototype.openNode=function(t){var n,i,r,a;if(!t.isOpen){if(this.root||0!==this.currentLevel||t.type!==e.Element||(this.root=t),i="",t.type===e.Element){for(r in this.writerOptions.state=s.OpenTag,i=this.writer.indent(t,this.writerOptions,this.currentLevel)+"<"+t.name,a=t.attribs)x.call(a,r)&&(n=a[r],i+=this.writer.attribute(n,this.writerOptions,this.currentLevel));i+=(t.children?">":"/>")+this.writer.endline(t,this.writerOptions,this.currentLevel),this.writerOptions.state=s.InsideTag}else this.writerOptions.state=s.OpenTag,i=this.writer.indent(t,this.writerOptions,this.currentLevel)+""),i+=this.writer.endline(t,this.writerOptions,this.currentLevel);return this.onData(i,this.currentLevel),t.isOpen=!0}},t.prototype.closeNode=function(t){var n;if(!t.isClosed)return"",this.writerOptions.state=s.CloseTag,n=t.type===e.Element?this.writer.indent(t,this.writerOptions,this.currentLevel)+""+this.writer.endline(t,this.writerOptions,this.currentLevel):this.writer.indent(t,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(t,this.writerOptions,this.currentLevel),this.writerOptions.state=s.None,this.onData(n,this.currentLevel),t.isClosed=!0},t.prototype.onData=function(t,e){return this.documentStarted=!0,this.onDataCallback(t,e+1)},t.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},t.prototype.debugInfo=function(t){return null==t?"":"node: <"+t+">"},t.prototype.ele=function(){return this.element.apply(this,arguments)},t.prototype.nod=function(t,e,n){return this.node(t,e,n)},t.prototype.txt=function(t){return this.text(t)},t.prototype.dat=function(t){return this.cdata(t)},t.prototype.com=function(t){return this.comment(t)},t.prototype.ins=function(t,e){return this.instruction(t,e)},t.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},t.prototype.dtd=function(t,e,n){return this.doctype(t,e,n)},t.prototype.e=function(t,e,n){return this.element(t,e,n)},t.prototype.n=function(t,e,n){return this.node(t,e,n)},t.prototype.t=function(t){return this.text(t)},t.prototype.d=function(t){return this.cdata(t)},t.prototype.c=function(t){return this.comment(t)},t.prototype.r=function(t){return this.raw(t)},t.prototype.i=function(t,e){return this.instruction(t,e)},t.prototype.att=function(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},t.prototype.a=function(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},t.prototype.ent=function(t,e){return this.entity(t,e)},t.prototype.pent=function(t,e){return this.pEntity(t,e)},t.prototype.not=function(t,e){return this.notation(t,e)},t}()}).call(this)},21218:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(10468),e=n(71737),t.exports=function(t){function n(t){n.__super__.constructor.call(this,t),this.type=e.Dummy}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return""},n}(s)}).call(this)},33906:function(t,e,n){(function(){var e,s,i,r,a,o,l,c,d={}.hasOwnProperty;c=n(49241),l=c.isObject,o=c.isFunction,a=c.getValue,r=n(10468),e=n(71737),s=n(54238),i=n(24797),t.exports=function(t){function n(t,s,i){var r,a,o,l;if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(s),this.type=e.Element,this.attribs={},this.schemaTypeInfo=null,null!=i&&this.attribute(i),t.type===e.Document&&(this.isRoot=!0,this.documentObject=t,t.rootObject=this,t.children))for(a=0,o=(l=t.children).length;a=i;e=0<=i?++s:--s)if(!this.attribs[e].isEqualNode(t.attribs[e]))return!1;return!0},n}(r)}).call(this)},24797:function(t){(function(){t.exports=function(){function t(t){this.nodes=t}return Object.defineProperty(t.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),t.prototype.clone=function(){return this.nodes=null},t.prototype.getNamedItem=function(t){return this.nodes[t]},t.prototype.setNamedItem=function(t){var e;return e=this.nodes[t.nodeName],this.nodes[t.nodeName]=t,e||null},t.prototype.removeNamedItem=function(t){var e;return e=this.nodes[t],delete this.nodes[t],e||null},t.prototype.item=function(t){return this.nodes[Object.keys(this.nodes)[t]]||null},t.prototype.getNamedItemNS=function(t,e){throw new Error("This DOM method is not implemented.")},t.prototype.setNamedItemNS=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.removeNamedItemNS=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this)},10468:function(t,e,n){(function(){var e,s,i,r,a,o,l,c,d,u,m,p,f,g,h,v,w,y={}.hasOwnProperty;w=n(49241),v=w.isObject,h=w.isFunction,g=w.isEmpty,f=w.getValue,c=null,i=null,r=null,a=null,o=null,m=null,p=null,u=null,l=null,s=null,d=null,e=null,t.exports=function(){function t(t){this.parent=t,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,c||(c=n(33906),i=n(92691),r=n(32679),a=n(34130),o=n(96376),m=n(1268),p=n(82535),u=n(85915),l=n(21218),s=n(71737),d=n(16684),n(24797),e=n(34923))}return Object.defineProperty(t.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(t.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(t.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.childNodeList&&this.childNodeList.nodes||(this.childNodeList=new d(this.children)),this.childNodeList}}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(t.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(t.prototype,"previousSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t-1]||null}}),Object.defineProperty(t.prototype,"nextSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t+1]||null}}),Object.defineProperty(t.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(t.prototype,"textContent",{get:function(){var t,e,n,i,r;if(this.nodeType===s.Element||this.nodeType===s.DocumentFragment){for(r="",e=0,n=(i=this.children).length;e":(null!=(n=this.parent)?n.name:void 0)?"node: <"+t+">, parent: <"+this.parent.name+">":"node: <"+t+">":""},t.prototype.ele=function(t,e,n){return this.element(t,e,n)},t.prototype.nod=function(t,e,n){return this.node(t,e,n)},t.prototype.txt=function(t){return this.text(t)},t.prototype.dat=function(t){return this.cdata(t)},t.prototype.com=function(t){return this.comment(t)},t.prototype.ins=function(t,e){return this.instruction(t,e)},t.prototype.doc=function(){return this.document()},t.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},t.prototype.e=function(t,e,n){return this.element(t,e,n)},t.prototype.n=function(t,e,n){return this.node(t,e,n)},t.prototype.t=function(t){return this.text(t)},t.prototype.d=function(t){return this.cdata(t)},t.prototype.c=function(t){return this.comment(t)},t.prototype.r=function(t){return this.raw(t)},t.prototype.i=function(t,e){return this.instruction(t,e)},t.prototype.u=function(){return this.up()},t.prototype.importXMLBuilder=function(t){return this.importDocument(t)},t.prototype.replaceChild=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.removeChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.appendChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.hasChildNodes=function(){return 0!==this.children.length},t.prototype.cloneNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isSupported=function(t,e){return!0},t.prototype.hasAttributes=function(){return 0!==this.attribs.length},t.prototype.compareDocumentPosition=function(t){var n,s;return(n=this)===t?0:this.document()!==t.document()?(s=e.Disconnected|e.ImplementationSpecific,Math.random()<.5?s|=e.Preceding:s|=e.Following,s):n.isAncestor(t)?e.Contains|e.Preceding:n.isDescendant(t)?e.Contains|e.Following:n.isPreceding(t)?e.Preceding:e.Following},t.prototype.isSameNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.lookupPrefix=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isDefaultNamespace=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.lookupNamespaceURI=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isEqualNode=function(t){var e,n,s;if(t.nodeType!==this.nodeType)return!1;if(t.children.length!==this.children.length)return!1;for(e=n=0,s=this.children.length-1;0<=s?n<=s:n>=s;e=0<=s?++n:--n)if(!this.children[e].isEqualNode(t.children[e]))return!1;return!0},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.setUserData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.getUserData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.contains=function(t){return!!t&&(t===this||this.isDescendant(t))},t.prototype.isDescendant=function(t){var e,n,s,i;for(n=0,s=(i=this.children).length;nn},t.prototype.treePosition=function(t){var e,n;return n=0,e=!1,this.foreachTreeNode(this.document(),(function(s){if(n++,!e&&s===t)return e=!0})),e?n:-1},t.prototype.foreachTreeNode=function(t,e){var n,s,i,r,a;for(t||(t=this.document()),s=0,i=(r=t.children).length;s0){for(this.stream.write(" ["),this.stream.write(this.endline(t,e,n)),e.state=s.InsideTag,r=0,a=(o=t.children).length;r"),this.stream.write(this.endline(t,e,n)),e.state=s.None,this.closeNode(t,e,n)},n.prototype.element=function(t,n,i){var a,o,l,c,d,u,m,p,f;for(m in i||(i=0),this.openNode(t,n,i),n.state=s.OpenTag,this.stream.write(this.indent(t,n,i)+"<"+t.name),p=t.attribs)r.call(p,m)&&(a=p[m],this.attribute(a,n,i));if(c=0===(l=t.children.length)?null:t.children[0],0===l||t.children.every((function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value})))n.allowEmpty?(this.stream.write(">"),n.state=s.CloseTag,this.stream.write("")):(n.state=s.CloseTag,this.stream.write(n.spaceBeforeSlash+"/>"));else if(!n.pretty||1!==l||c.type!==e.Text&&c.type!==e.Raw||null==c.value){for(this.stream.write(">"+this.endline(t,n,i)),n.state=s.InsideTag,d=0,u=(f=t.children).length;d")}else this.stream.write(">"),n.state=s.InsideTag,n.suppressPrettyCount++,this.writeChildNode(c,n,i+1),n.suppressPrettyCount--,n.state=s.CloseTag,this.stream.write("");return this.stream.write(this.endline(t,n,i)),n.state=s.None,this.closeNode(t,n,i)},n.prototype.processingInstruction=function(t,e,s){return this.stream.write(n.__super__.processingInstruction.call(this,t,e,s))},n.prototype.raw=function(t,e,s){return this.stream.write(n.__super__.raw.call(this,t,e,s))},n.prototype.text=function(t,e,s){return this.stream.write(n.__super__.text.call(this,t,e,s))},n.prototype.dtdAttList=function(t,e,s){return this.stream.write(n.__super__.dtdAttList.call(this,t,e,s))},n.prototype.dtdElement=function(t,e,s){return this.stream.write(n.__super__.dtdElement.call(this,t,e,s))},n.prototype.dtdEntity=function(t,e,s){return this.stream.write(n.__super__.dtdEntity.call(this,t,e,s))},n.prototype.dtdNotation=function(t,e,s){return this.stream.write(n.__super__.dtdNotation.call(this,t,e,s))},n}(i)}).call(this)},40382:function(t,e,n){(function(){var e,s={}.hasOwnProperty;e=n(6286),t.exports=function(t){function e(t){e.__super__.constructor.call(this,t)}return function(t,e){for(var n in e)s.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,t),e.prototype.document=function(t,e){var n,s,i,r,a;for(e=this.filterOptions(e),r="",s=0,i=(a=t.children).length;s","]]]]>"),this.assertLegalChar(t))},t.prototype.comment=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/--/))throw new Error("Comment text cannot contain double-hypen: "+t);return this.assertLegalChar(t)},t.prototype.raw=function(t){return this.options.noValidation?t:""+t||""},t.prototype.attValue=function(t){return this.options.noValidation?t:this.assertLegalChar(this.attEscape(t=""+t||""))},t.prototype.insTarget=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.insValue=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/\?>/))throw new Error("Invalid processing instruction value: "+t);return this.assertLegalChar(t)},t.prototype.xmlVersion=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/1\.[0-9]+/))throw new Error("Invalid version number: "+t);return t},t.prototype.xmlEncoding=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+t);return this.assertLegalChar(t)},t.prototype.xmlStandalone=function(t){return this.options.noValidation?t:t?"yes":"no"},t.prototype.dtdPubID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdSysID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdElementValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdAttType=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdAttDefault=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdEntityValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdNData=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.convertAttKey="@",t.prototype.convertPIKey="?",t.prototype.convertTextKey="#text",t.prototype.convertCDataKey="#cdata",t.prototype.convertCommentKey="#comment",t.prototype.convertRawKey="#raw",t.prototype.assertLegalChar=function(t){var e,n;if(this.options.noValidation)return t;if(e="","1.0"===this.options.version){if(e=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(e))throw new Error("Invalid character in string: "+t+" at index "+n.index)}else if("1.1"===this.options.version&&(e=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(e)))throw new Error("Invalid character in string: "+t+" at index "+n.index);return t},t.prototype.assertLegalName=function(t){var e;if(this.options.noValidation)return t;if(this.assertLegalChar(t),e=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!t.match(e))throw new Error("Invalid character in name");return t},t.prototype.textEscape=function(t){var e;return this.options.noValidation?t:(e=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(e,"&").replace(//g,">").replace(/\r/g," "))},t.prototype.attEscape=function(t){var e;return this.options.noValidation?t:(e=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(e,"&").replace(/0?new Array(s).join(e.indent):""},t.prototype.endline=function(t,e,n){return!e.pretty||e.suppressPrettyCount?"":e.newline},t.prototype.attribute=function(t,e,n){var s;return this.openAttribute(t,e,n),s=" "+t.name+'="'+t.value+'"',this.closeAttribute(t,e,n),s},t.prototype.cdata=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.comment=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"\x3c!-- ",e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=" --\x3e"+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.declaration=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"",i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.docType=function(t,e,n){var i,r,a,o,l;if(n||(n=0),this.openNode(t,e,n),e.state=s.OpenTag,o=this.indent(t,e,n),o+="0){for(o+=" [",o+=this.endline(t,e,n),e.state=s.InsideTag,r=0,a=(l=t.children).length;r",o+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),o},t.prototype.element=function(t,n,i){var a,o,l,c,d,u,m,p,f,g,h,v,w,y;for(f in i||(i=0),g=!1,h="",this.openNode(t,n,i),n.state=s.OpenTag,h+=this.indent(t,n,i)+"<"+t.name,v=t.attribs)r.call(v,f)&&(a=v[f],h+=this.attribute(a,n,i));if(c=0===(l=t.children.length)?null:t.children[0],0===l||t.children.every((function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value})))n.allowEmpty?(h+=">",n.state=s.CloseTag,h+=""+this.endline(t,n,i)):(n.state=s.CloseTag,h+=n.spaceBeforeSlash+"/>"+this.endline(t,n,i));else if(!n.pretty||1!==l||c.type!==e.Text&&c.type!==e.Raw||null==c.value){if(n.dontPrettyTextNodes)for(d=0,m=(w=t.children).length;d"+this.endline(t,n,i),n.state=s.InsideTag,u=0,p=(y=t.children).length;u",g&&n.suppressPrettyCount--,h+=this.endline(t,n,i),n.state=s.None}else h+=">",n.state=s.InsideTag,n.suppressPrettyCount++,g=!0,h+=this.writeChildNode(c,n,i+1),n.suppressPrettyCount--,g=!1,n.state=s.CloseTag,h+=""+this.endline(t,n,i);return this.closeNode(t,n,i),h},t.prototype.writeChildNode=function(t,n,s){switch(t.type){case e.CData:return this.cdata(t,n,s);case e.Comment:return this.comment(t,n,s);case e.Element:return this.element(t,n,s);case e.Raw:return this.raw(t,n,s);case e.Text:return this.text(t,n,s);case e.ProcessingInstruction:return this.processingInstruction(t,n,s);case e.Dummy:return"";case e.Declaration:return this.declaration(t,n,s);case e.DocType:return this.docType(t,n,s);case e.AttributeDeclaration:return this.dtdAttList(t,n,s);case e.ElementDeclaration:return this.dtdElement(t,n,s);case e.EntityDeclaration:return this.dtdEntity(t,n,s);case e.NotationDeclaration:return this.dtdNotation(t,n,s);default:throw new Error("Unknown XML node type: "+t.constructor.name)}},t.prototype.processingInstruction=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"",i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.raw=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n),e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.text=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n),e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdAttList=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdElement=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdEntity=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdNotation=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.openNode=function(t,e,n){},t.prototype.closeNode=function(t,e,n){},t.prototype.openAttribute=function(t,e,n){},t.prototype.closeAttribute=function(t,e,n){},t}()}).call(this)},59665:function(t,e,n){(function(){var e,s,i,r,a,o,l,c,d,u;u=n(49241),c=u.assign,d=u.isFunction,i=n(67260),r=n(71933),a=n(80400),l=n(40382),o=n(96775),e=n(71737),s=n(88753),t.exports.create=function(t,e,n,s){var i,a;if(null==t)throw new Error("Root element needs a name.");return s=c({},e,n,s),a=(i=new r(s)).element(t),s.headless||(i.declaration(s),null==s.pubID&&null==s.sysID||i.dtd(s)),a},t.exports.begin=function(t,e,n){var s;return d(t)&&(e=(s=[t,e])[0],n=s[1],t={}),e?new a(t,e,n):new r(t)},t.exports.stringWriter=function(t){return new l(t)},t.exports.streamWriter=function(t,e){return new o(t,e)},t.exports.implementation=new i,t.exports.nodeType=e,t.exports.writerState=s}).call(this)},98383:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20viewBox=%270%200%2016%2016%27%20height=%2716%27%20width=%2716%27%20xmlns=%27http://www.w3.org/2000/svg%27%20xml:space=%27preserve%27%20style=%27fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2%27%3e%3cpath%20d=%27M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z%27%20style=%27fill-rule:nonzero%27%20transform=%27matrix%28.85714%200%200%20.85714%20-2.286%20-2.286%29%27/%3e%3c/svg%3e"},39075:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20viewBox=%270%200%2016%2016%27%20height=%2716%27%20width=%2716%27%20xmlns=%27http://www.w3.org/2000/svg%27%20xml:space=%27preserve%27%20style=%27fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2%27%3e%3cpath%20d=%27M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z%27%20style=%27fill:%23fff;fill-rule:nonzero%27%20transform=%27matrix%28.85714%200%200%20.85714%20-2.286%20-2.286%29%27/%3e%3c/svg%3e"},15340:()=>{},79838:()=>{},63642:(t,e,n)=>{"use strict";n.d(e,{U:()=>ot,a:()=>it,c:()=>$,g:()=>ct,h:()=>ut,l:()=>Y,n:()=>X,o:()=>dt,t:()=>rt});var s=n(85072),i=n.n(s),r=n(97825),a=n.n(r),o=n(77659),l=n.n(o),c=n(55056),d=n.n(c),u=n(10540),m=n.n(u),p=n(41113),f=n.n(p),g=n(30521),h={};h.styleTagTransform=f(),h.setAttributes=d(),h.insert=l().bind(null,"head"),h.domAPI=a(),h.insertStyleElement=m(),i()(g.A,h),g.A&&g.A.locals&&g.A.locals;var v=n(53110),w=n(71089),y=n(53127),A=n(63814),b=n(21777),C=n(26287);class _ extends Error{constructor(t){super(t||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}}const T=Object.freeze({pending:Symbol("pending"),canceled:Symbol("canceled"),resolved:Symbol("resolved"),rejected:Symbol("rejected")});class x{static fn(t){return(...e)=>new x(((n,s,i)=>{e.push(i),t(...e).then(n,s)}))}#t=[];#e=!0;#n=T.pending;#s;#i;constructor(t){this.#s=new Promise(((e,n)=>{this.#i=n;const s=t=>{if(this.#n!==T.pending)throw new Error(`The \`onCancel\` handler was attached after the promise ${this.#n.description}.`);this.#t.push(t)};Object.defineProperties(s,{shouldReject:{get:()=>this.#e,set:t=>{this.#e=t}}}),t((t=>{this.#n===T.canceled&&s.shouldReject||(e(t),this.#r(T.resolved))}),(t=>{this.#n===T.canceled&&s.shouldReject||(n(t),this.#r(T.rejected))}),s)}))}then(t,e){return this.#s.then(t,e)}catch(t){return this.#s.catch(t)}finally(t){return this.#s.finally(t)}cancel(t){if(this.#n===T.pending){if(this.#r(T.canceled),this.#t.length>0)try{for(const t of this.#t)t()}catch(t){return void this.#i(t)}this.#e&&this.#i(new _(t))}}get isCanceled(){return this.#n===T.canceled}#r(t){this.#n===T.pending&&(this.#n=t)}}Object.setPrototypeOf(x.prototype,Promise.prototype);var S=n(9052);class k extends Error{constructor(t){super(t),this.name="TimeoutError"}}class L extends Error{constructor(t){super(),this.name="AbortError",this.message=t}}const E=t=>void 0===globalThis.DOMException?new L(t):new DOMException(t),N=t=>{const e=void 0===t.reason?E("This operation was aborted."):t.reason;return e instanceof Error?e:E(e)};class F{#a=[];enqueue(t,e){const n={priority:(e={priority:0,...e}).priority,run:t};if(this.size&&this.#a[this.size-1].priority>=e.priority)return void this.#a.push(n);const s=function(t,e,n){let s=0,i=t.length;for(;i>0;){const n=Math.trunc(i/2);let a=s+n;r=t[a],e.priority-r.priority<=0?(s=++a,i-=n+1):i=n}var r;return s}(this.#a,n);this.#a.splice(s,0,n)}dequeue(){const t=this.#a.shift();return t?.run}filter(t){return this.#a.filter((e=>e.priority===t.priority)).map((t=>t.run))}get size(){return this.#a.length}}class P extends S{#o;#l;#c=0;#d;#u;#m=0;#p;#f;#a;#g;#h=0;#v;#w;#y;timeout;constructor(t){if(super(),!("number"==typeof(t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:F,...t}).intervalCap&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(void 0===t.interval||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#o=t.carryoverConcurrencyCount,this.#l=t.intervalCap===Number.POSITIVE_INFINITY||0===t.interval,this.#d=t.intervalCap,this.#u=t.interval,this.#a=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#y=!0===t.throwOnTimeout,this.#w=!1===t.autoStart}get#A(){return this.#l||this.#c{this.#T()}),e)),!0;this.#c=this.#o?this.#h:0}return!1}#_(){if(0===this.#a.size)return this.#p&&clearInterval(this.#p),this.#p=void 0,this.emit("empty"),0===this.#h&&this.emit("idle"),!1;if(!this.#w){const t=!this.#k;if(this.#A&&this.#b){const e=this.#a.dequeue();return!!e&&(this.emit("active"),e(),t&&this.#S(),!0)}}return!1}#S(){this.#l||void 0!==this.#p||(this.#p=setInterval((()=>{this.#x()}),this.#u),this.#m=Date.now()+this.#u)}#x(){0===this.#c&&0===this.#h&&this.#p&&(clearInterval(this.#p),this.#p=void 0),this.#c=this.#o?this.#h:0,this.#L()}#L(){for(;this.#_(););}get concurrency(){return this.#v}set concurrency(t){if(!("number"==typeof t&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#v=t,this.#L()}async#E(t){return new Promise(((e,n)=>{t.addEventListener("abort",(()=>{n(t.reason)}),{once:!0})}))}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#y,...e},new Promise(((n,s)=>{this.#a.enqueue((async()=>{this.#h++,this.#c++;try{e.signal?.throwIfAborted();let s=t({signal:e.signal});e.timeout&&(s=function(t,e){const{milliseconds:n,fallback:s,message:i,customTimers:r={setTimeout,clearTimeout}}=e;let a;const o=new Promise(((o,l)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(e.signal){const{signal:t}=e;t.aborted&&l(N(t)),t.addEventListener("abort",(()=>{l(N(t))}))}if(n===Number.POSITIVE_INFINITY)return void t.then(o,l);const c=new k;a=r.setTimeout.call(void 0,(()=>{if(s)try{o(s())}catch(t){l(t)}else"function"==typeof t.cancel&&t.cancel(),!1===i?o():i instanceof Error?l(i):(c.message=i??`Promise timed out after ${n} milliseconds`,l(c))}),n),(async()=>{try{o(await t)}catch(t){l(t)}})()})).finally((()=>{o.clear()}));return o.clear=()=>{r.clearTimeout.call(void 0,a),a=void 0},o}(Promise.resolve(s),{milliseconds:e.timeout})),e.signal&&(s=Promise.race([s,this.#E(e.signal)]));const i=await s;n(i),this.emit("completed",i)}catch(t){if(t instanceof k&&!e.throwOnTimeout)return void n();s(t),this.emit("error",t)}finally{this.#C()}}),e),this.emit("add"),this.#_()}))}async addAll(t,e){return Promise.all(t.map((async t=>this.add(t,e))))}start(){return this.#w?(this.#w=!1,this.#L(),this):this}pause(){this.#w=!0}clear(){this.#a=new this.#g}async onEmpty(){0!==this.#a.size&&await this.#N("empty")}async onSizeLessThan(t){this.#a.sizethis.#a.size{const s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)}))}get size(){return this.#a.size}sizeBy(t){return this.#a.filter(t).length}get pending(){return this.#h}get isPaused(){return this.#w}}var I=n(53529),D=n(85168),O=n(75270),U=n(85471),B=n(89257),M=n(24764),j=n(54332),R=n(6695),z=n(95101),V=n(11195);const q=async function(t,e,n,s=(()=>{}),i=void 0,r={}){let a;return a=e instanceof Blob?e:await e(),i&&(r.Destination=i),r["Content-Type"]||(r["Content-Type"]="application/octet-stream"),await C.A.request({method:"PUT",url:t,data:a,signal:n,onUploadProgress:s,headers:r})},H=function(t,e,n){return 0===e&&t.size<=n?Promise.resolve(new Blob([t],{type:t.type||"application/octet-stream"})):Promise.resolve(new Blob([t.slice(e,e+n)],{type:"application/octet-stream"}))},W=function(t=void 0){const e=window.OC?.appConfig?.files?.max_chunk_size;if(e<=0)return 0;if(!Number(e))return 10485760;const n=Math.max(Number(e),5242880);return void 0===t?n:Math.max(n,Math.ceil(t/1e4))};var $=(t=>(t[t.INITIALIZED=0]="INITIALIZED",t[t.UPLOADING=1]="UPLOADING",t[t.ASSEMBLING=2]="ASSEMBLING",t[t.FINISHED=3]="FINISHED",t[t.CANCELLED=4]="CANCELLED",t[t.FAILED=5]="FAILED",t))($||{});let G=class{_source;_file;_isChunked;_chunks;_size;_uploaded=0;_startTime=0;_status=0;_controller;_response=null;constructor(t,e=!1,n,s){const i=Math.min(W()>0?Math.ceil(n/W()):1,1e4);this._source=t,this._isChunked=e&&W()>0&&i>1,this._chunks=this._isChunked?i:1,this._size=n,this._file=s,this._controller=new AbortController}get source(){return this._source}get file(){return this._file}get isChunked(){return this._isChunked}get chunks(){return this._chunks}get size(){return this._size}get startTime(){return this._startTime}set response(t){this._response=t}get response(){return this._response}get uploaded(){return this._uploaded}set uploaded(t){if(t>=this._size)return this._status=this._isChunked?2:3,void(this._uploaded=this._size);this._status=1,this._uploaded=t,0===this._startTime&&(this._startTime=(new Date).getTime())}get status(){return this._status}set status(t){this._status=t}get signal(){return this._controller.signal}cancel(){this._controller.abort(),this._status=4}};const Y=null===(K=(0,b.HW)())?(0,I.YK)().setApp("uploader").build():(0,I.YK)().setApp("uploader").setUid(K.uid).build();var K,Q=(t=>(t[t.IDLE=0]="IDLE",t[t.UPLOADING=1]="UPLOADING",t[t.PAUSED=2]="PAUSED",t))(Q||{});class J{_destinationFolder;_isPublic;_uploadQueue=[];_jobQueue=new P({concurrency:3});_queueSize=0;_queueProgress=0;_queueStatus=0;_notifiers=[];constructor(t=!1,e){if(this._isPublic=t,!e){const t=(0,b.HW)()?.uid,n=(0,A.dC)(`dav/files/${t}`);if(!t)throw new Error("User is not logged in");e=new y.vd({id:0,owner:t,permissions:y.aX.ALL,root:`/files/${t}`,source:n})}this.destination=e,Y.debug("Upload workspace initialized",{destination:this.destination,root:this.root,isPublic:t,maxChunksSize:W()})}get destination(){return this._destinationFolder}set destination(t){if(!t)throw new Error("Invalid destination folder");Y.debug("Destination set",{folder:t}),this._destinationFolder=t}get root(){return this._destinationFolder.source}get queue(){return this._uploadQueue}reset(){this._uploadQueue.splice(0,this._uploadQueue.length),this._jobQueue.clear(),this._queueSize=0,this._queueProgress=0,this._queueStatus=0}pause(){this._jobQueue.pause(),this._queueStatus=2}start(){this._jobQueue.start(),this._queueStatus=1,this.updateStats()}get info(){return{size:this._queueSize,progress:this._queueProgress,status:this._queueStatus}}updateStats(){const t=this._uploadQueue.map((t=>t.size)).reduce(((t,e)=>t+e),0),e=this._uploadQueue.map((t=>t.uploaded)).reduce(((t,e)=>t+e),0);this._queueSize=t,this._queueProgress=e,2!==this._queueStatus&&(this._queueStatus=this._jobQueue.size>0?1:0)}addNotifier(t){this._notifiers.push(t)}upload(t,e,n){const s=`${n||this.root}/${t.replace(/^\//,"")}`,{origin:i}=new URL(s),r=i+(0,w.O0)(s.slice(i.length));Y.debug(`Uploading ${e.name} to ${r}`);const a=W(e.size),o=0===a||e.size{if(s(l.cancel),o){Y.debug("Initializing regular upload",{file:e,upload:l});const s=await H(e,0,l.size),i=async()=>{try{l.response=await q(r,s,l.signal,(t=>{l.uploaded=l.uploaded+t.bytes,this.updateStats()}),void 0,{"X-OC-Mtime":e.lastModified/1e3,"Content-Type":e.type}),l.uploaded=l.size,this.updateStats(),Y.debug(`Successfully uploaded ${e.name}`,{file:e,upload:l}),t(l)}catch(t){if(t instanceof v.k3)return l.status=$.FAILED,void n("Upload has been cancelled");t?.response&&(l.response=t.response),l.status=$.FAILED,Y.error(`Failed uploading ${e.name}`,{error:t,file:e,upload:l}),n("Failed uploading the file")}this._notifiers.forEach((t=>{try{t(l)}catch{}}))};this._jobQueue.add(i),this.updateStats()}else{Y.debug("Initializing chunked upload",{file:e,upload:l});const s=await async function(t){const e=`${(0,A.dC)(`dav/uploads/${(0,b.HW)()?.uid}`)}/web-file-upload-${[...Array(16)].map((()=>Math.floor(16*Math.random()).toString(16))).join("")}`,n=t?{Destination:t}:void 0;return await C.A.request({method:"MKCOL",url:e,headers:n}),e}(r),i=[];for(let t=0;tH(e,n,a),d=()=>q(`${s}/${t+1}`,c,l.signal,(()=>this.updateStats()),r,{"X-OC-Mtime":e.lastModified/1e3,"OC-Total-Length":e.size,"Content-Type":"application/octet-stream"}).then((()=>{l.uploaded=l.uploaded+a})).catch((e=>{throw 507===e?.response?.status?(Y.error("Upload failed, not enough space on the server or quota exceeded. Cancelling the remaining chunks",{error:e,upload:l}),l.cancel(),l.status=$.FAILED,e):(e instanceof v.k3||(Y.error(`Chunk ${t+1} ${n} - ${o} uploading failed`,{error:e,upload:l}),l.cancel(),l.status=$.FAILED),e)}));i.push(this._jobQueue.add(d))}try{await Promise.all(i),this.updateStats(),l.response=await C.A.request({method:"MOVE",url:`${s}/.file`,headers:{"X-OC-Mtime":e.lastModified/1e3,"OC-Total-Length":e.size,Destination:r}}),this.updateStats(),l.status=$.FINISHED,Y.debug(`Successfully uploaded ${e.name}`,{file:e,upload:l}),t(l)}catch(t){t instanceof v.k3?(l.status=$.FAILED,n("Upload has been cancelled")):(l.status=$.FAILED,n("Failed assembling the chunks together")),C.A.request({method:"DELETE",url:`${s}`})}this._notifiers.forEach((t=>{try{t(l)}catch{}}))}return this._jobQueue.onIdle().then((()=>this.reset())),l}))}}function X(t,e,n,s,i,r,a,o){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),s&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=o?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(t,e){return l.call(e),d(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}const Z=X({name:"CancelIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon cancel-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,tt=X({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,et=X({name:"UploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon upload-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,nt=(0,V.$)().detectLocale();[{locale:"af",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)","Content-Type":"text/plain; charset=UTF-8",Language:"af","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: af\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ar",json:{charset:"utf-8",headers:{"Last-Translator":"Ali , 2024","Language-Team":"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar","Plural-Forms":"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nAli , 2024\n"},msgstr:["Last-Translator: Ali , 2024\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} ملف متعارض","{count} ملف متعارض","{count} ملفان متعارضان","{count} ملف متعارض","{count} ملفات متعارضة","{count} ملفات متعارضة"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} ملف متعارض في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفان متعارضان في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفات متعارضة في n {dirname}","{count} ملفات متعارضة في n {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} ثانية متبقية"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} متبقية"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["باقٍ بضعُ ثوانٍ"]},Cancel:{msgid:"Cancel",msgstr:["إلغاء"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["إلغِ العملية بالكامل"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["إلغاء عمليات رفع الملفات"]},Continue:{msgid:"Continue",msgstr:["إستمر"]},"estimating time left":{msgid:"estimating time left",msgstr:["تقدير الوقت المتبقي"]},"Existing version":{msgid:"Existing version",msgstr:["الإصدار الحالي"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["إذا اخترت الإبقاء على النسختين معاً، فإن الملف المنسوخ سيتم إلحاق رقم تسلسلي في نهاية اسمه."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["تاريخ آخر تعديل غير معلوم"]},New:{msgid:"New",msgstr:["جديد"]},"New version":{msgid:"New version",msgstr:["نسخة جديدة"]},paused:{msgid:"paused",msgstr:["مُجمَّد"]},"Preview image":{msgid:"Preview image",msgstr:["معاينة الصورة"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["حدِّد كل صناديق الخيارات"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["حدِّد كل الملفات الموجودة"]},"Select all new files":{msgid:"Select all new files",msgstr:["حدِّد كل الملفات الجديدة"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف"]},"Unknown size":{msgid:"Unknown size",msgstr:["حجم غير معلوم"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["تمَّ إلغاء الرفع"]},"Upload files":{msgid:"Upload files",msgstr:["رفع ملفات"]},"Upload progress":{msgid:"Upload progress",msgstr:["تقدُّم الرفع "]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["عند تحديد مجلد وارد، أي ملفات متعارضة بداخله ستتم الكتابة فوقها."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["أيُّ الملفات ترغب في الإبقاء عليها؟"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["يجب أن تختار نسخة واحدة على الأقل من كل ملف للاستمرار."]}}}}},{locale:"ar_SA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar_SA","Plural-Forms":"nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar_SA\nPlural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ast",json:{charset:"utf-8",headers:{"Last-Translator":"enolp , 2023","Language-Team":"Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)","Content-Type":"text/plain; charset=UTF-8",Language:"ast","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nenolp , 2023\n"},msgstr:["Last-Translator: enolp , 2023\nLanguage-Team: Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ast\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} ficheru en coflictu","{count} ficheros en coflictu"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} ficheru en coflictu en {dirname}","{count} ficheros en coflictu en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Queden {seconds} segundos"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Tiempu que queda: {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["queden unos segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Encaboxar les xubes"]},Continue:{msgid:"Continue",msgstr:["Siguir"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando'l tiempu que falta"]},"Existing version":{msgid:"Existing version",msgstr:["Versión esistente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si seleiciones dambes versiones, el ficheru copiáu va tener un númberu amestáu al so nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["La data de la última modificación ye desconocida"]},New:{msgid:"New",msgstr:["Nuevu"]},"New version":{msgid:"New version",msgstr:["Versión nueva"]},paused:{msgid:"paused",msgstr:["en posa"]},"Preview image":{msgid:"Preview image",msgstr:["Previsualizar la imaxe"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marcar toles caxelles"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleicionar tolos ficheros esistentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleicionar tolos ficheros nuevos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Saltar esti ficheru","Saltar {count} ficheros"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamañu desconocíu"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Encaboxóse la xuba"]},"Upload files":{msgid:"Upload files",msgstr:["Xubir ficheros"]},"Upload progress":{msgid:"Upload progress",msgstr:["Xuba en cursu"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["¿Qué ficheros quies caltener?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Tienes de seleicionar polo menos una versión de cada ficheru pa siguir."]}}}}},{locale:"az",json:{charset:"utf-8",headers:{"Last-Translator":"Rashad Aliyev , 2023","Language-Team":"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)","Content-Type":"text/plain; charset=UTF-8",Language:"az","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRashad Aliyev , 2023\n"},msgstr:["Last-Translator: Rashad Aliyev , 2023\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: az\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniyə qalıb"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} qalıb"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir neçə saniyə qalıb"]},Add:{msgid:"Add",msgstr:["Əlavə et"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yükləməni imtina et"]},"estimating time left":{msgid:"estimating time left",msgstr:["Təxmini qalan vaxt"]},paused:{msgid:"paused",msgstr:["pauzadadır"]},"Upload files":{msgid:"Upload files",msgstr:["Faylları yüklə"]}}}}},{locale:"be",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)","Content-Type":"text/plain; charset=UTF-8",Language:"be","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: be\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bg_BG",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)","Content-Type":"text/plain; charset=UTF-8",Language:"bg_BG","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bg_BG\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bn_BD",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)","Content-Type":"text/plain; charset=UTF-8",Language:"bn_BD","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bn_BD\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"br",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)","Content-Type":"text/plain; charset=UTF-8",Language:"br","Plural-Forms":"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bs",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)","Content-Type":"text/plain; charset=UTF-8",Language:"bs","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bs\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ca",json:{charset:"utf-8",headers:{"Last-Translator":"Toni Hermoso Pulido , 2022","Language-Team":"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)","Content-Type":"text/plain; charset=UTF-8",Language:"ca","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMarc Riera , 2022\nToni Hermoso Pulido , 2022\n"},msgstr:["Last-Translator: Toni Hermoso Pulido , 2022\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Queden {seconds} segons"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["Queden {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Queden uns segons"]},Add:{msgid:"Add",msgstr:["Afegeix"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel·la les pujades"]},"estimating time left":{msgid:"estimating time left",msgstr:["S'està estimant el temps restant"]},paused:{msgid:"paused",msgstr:["En pausa"]},"Upload files":{msgid:"Upload files",msgstr:["Puja els fitxers"]}}}}},{locale:"cs",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki , 2022","Language-Team":"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPavel Borecki , 2022\n"},msgstr:["Last-Translator: Pavel Borecki , 2022\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},Add:{msgid:"Add",msgstr:["Přidat"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhadovaný zbývající čas"]},paused:{msgid:"paused",msgstr:["pozastaveno"]}}}}},{locale:"cs_CZ",json:{charset:"utf-8",headers:{"Last-Translator":"Michal Šmahel , 2024","Language-Team":"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs_CZ","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMichal Šmahel , 2024\n"},msgstr:["Last-Translator: Michal Šmahel , 2024\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} kolize souborů","{count} kolize souborů","{count} kolizí souborů","{count} kolize souborů"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} kolize souboru v {dirname}","{count} kolize souboru v {dirname}","{count} kolizí souborů v {dirname}","{count} kolize souboru v {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},Cancel:{msgid:"Cancel",msgstr:["Zrušit"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Zrušit celou operaci"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},Continue:{msgid:"Continue",msgstr:["Pokračovat"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhaduje se zbývající čas"]},"Existing version":{msgid:"Existing version",msgstr:["Existující verze"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Pokud vyberete obě verze, zkopírovaný soubor bude mít k názvu přidáno číslo."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Neznámé datum poslední úpravy"]},New:{msgid:"New",msgstr:["Nové"]},"New version":{msgid:"New version",msgstr:["Nová verze"]},paused:{msgid:"paused",msgstr:["pozastaveno"]},"Preview image":{msgid:"Preview image",msgstr:["Náhled obrázku"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Označit všechny zaškrtávací kolonky"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vybrat veškeré stávající soubory"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vybrat veškeré nové soubory"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Přeskočit tento soubor","Přeskočit {count} soubory","Přeskočit {count} souborů","Přeskočit {count} soubory"]},"Unknown size":{msgid:"Unknown size",msgstr:["Neznámá velikost"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Nahrávání zrušeno"]},"Upload files":{msgid:"Upload files",msgstr:["Nahrát soubory"]},"Upload progress":{msgid:"Upload progress",msgstr:["Postup v nahrávání"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Po výběru příchozí složky budou rovněž přepsány všechny v ní obsažené konfliktní soubory"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Které soubory si přejete ponechat?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru."]}}}}},{locale:"cy_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"cy_GB","Plural-Forms":"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cy_GB\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"da",json:{charset:"utf-8",headers:{"Last-Translator":"Martin Bonde , 2024","Language-Team":"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)","Content-Type":"text/plain; charset=UTF-8",Language:"da","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMartin Bonde , 2024\n"},msgstr:["Last-Translator: Martin Bonde , 2024\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fil konflikt","{count} filer i konflikt"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fil konflikt i {dirname}","{count} filer i konflikt i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{sekunder} sekunder tilbage"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{tid} tilbage"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["et par sekunder tilbage"]},Cancel:{msgid:"Cancel",msgstr:["Annuller"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Annuller hele handlingen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuller uploads"]},Continue:{msgid:"Continue",msgstr:["Fortsæt"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimering af resterende tid"]},"Existing version":{msgid:"Existing version",msgstr:["Eksisterende version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Hvis du vælger begge versioner vil den kopierede fil få et nummer tilføjet til sit navn."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Sidste modifikationsdato ukendt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pauset"]},"Preview image":{msgid:"Preview image",msgstr:["Forhåndsvisning af billede"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Vælg alle felter"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vælg alle eksisterende filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vælg alle nye filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Spring denne fil over","Spring {count} filer over"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukendt størrelse"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload annulleret"]},"Upload files":{msgid:"Upload files",msgstr:["Upload filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Upload fremskridt"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Når en indgående mappe er valgt, vil alle modstridende filer i den også blive overskrevet."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer ønsker du at beholde?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du skal vælge mindst én version af hver fil for at fortsætte."]}}}}},{locale:"de",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2024","Language-Team":"German (https://app.transifex.com/nextcloud/teams/64236/de/)","Content-Type":"text/plain; charset=UTF-8",Language:"de","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n"},msgstr:["Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleibend"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noch ein paar Sekunden"]},Cancel:{msgid:"Cancel",msgstr:["Abbrechen"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn du beide Versionen auswählst, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Diese Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fortschritt beim Hochladen"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchtest du behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du musst mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"de_DE",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2024","Language-Team":"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)","Content-Type":"text/plain; charset=UTF-8",Language:"de_DE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n"},msgstr:["Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleiben"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["ein paar Sekunden verbleiben"]},Cancel:{msgid:"Cancel",msgstr:["Abbrechen"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn Sie beide Versionen auswählen, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["{count} Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fortschritt beim Hochladen"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchten Sie behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Sie müssen mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"el",json:{charset:"utf-8",headers:{"Last-Translator":"Nik Pap, 2022","Language-Team":"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)","Content-Type":"text/plain; charset=UTF-8",Language:"el","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nNik Pap, 2022\n"},msgstr:["Last-Translator: Nik Pap, 2022\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["απομένουν {seconds} δευτερόλεπτα"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["απομένουν {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["απομένουν λίγα δευτερόλεπτα"]},Add:{msgid:"Add",msgstr:["Προσθήκη"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ακύρωση μεταφορτώσεων"]},"estimating time left":{msgid:"estimating time left",msgstr:["εκτίμηση του χρόνου που απομένει"]},paused:{msgid:"paused",msgstr:["σε παύση"]},"Upload files":{msgid:"Upload files",msgstr:["Μεταφόρτωση αρχείων"]}}}}},{locale:"el_GR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)","Content-Type":"text/plain; charset=UTF-8",Language:"el_GR","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el_GR\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"en_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Andi Chandler , 2023","Language-Team":"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"en_GB","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nAndi Chandler , 2023\n"},msgstr:["Last-Translator: Andi Chandler , 2023\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: en_GB\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file conflict","{count} files conflict"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file conflict in {dirname}","{count} file conflicts in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} seconds left"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} left"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["a few seconds left"]},Add:{msgid:"Add",msgstr:["Add"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel uploads"]},Continue:{msgid:"Continue",msgstr:["Continue"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimating time left"]},"Existing version":{msgid:"Existing version",msgstr:["Existing version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["If you select both versions, the copied file will have a number added to its name."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Last modified date unknown"]},"New version":{msgid:"New version",msgstr:["New version"]},paused:{msgid:"paused",msgstr:["paused"]},"Preview image":{msgid:"Preview image",msgstr:["Preview image"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Select all checkboxes"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Select all existing files"]},"Select all new files":{msgid:"Select all new files",msgstr:["Select all new files"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Skip this file","Skip {count} files"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unknown size"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload cancelled"]},"Upload files":{msgid:"Upload files",msgstr:["Upload files"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Which files do you want to keep?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["You need to select at least one version of each file to continue."]}}}}},{locale:"eo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)","Content-Type":"text/plain; charset=UTF-8",Language:"eo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es",json:{charset:"utf-8",headers:{"Last-Translator":"Julio C. Ortega, 2024","Language-Team":"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)","Content-Type":"text/plain; charset=UTF-8",Language:"es","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nFranciscoFJ , 2023\nNext Cloud , 2023\nJulio C. Ortega, 2024\n"},msgstr:["Last-Translator: Julio C. Ortega, 2024\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} archivo en conflicto","{count} archivos en conflicto","{count} archivos en conflicto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} archivo en conflicto en {dirname}","{count} archivos en conflicto en {dirname}","{count} archivos en conflicto en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si selecciona ambas versiones, al archivo copiado se le añadirá un número en el nombre."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Última fecha de modificación desconocida"]},New:{msgid:"New",msgstr:["Nuevo"]},"New version":{msgid:"New version",msgstr:["Nueva versión"]},paused:{msgid:"paused",msgstr:["pausado"]},"Preview image":{msgid:"Preview image",msgstr:["Previsualizar imagen"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleccionar todas las casillas de verificación"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos los archivos existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos los archivos nuevos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Saltar este archivo","Saltar {count} archivos","Saltar {count} archivos"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño desconocido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Subida cancelada"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progreso de la subida"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["¿Qué archivos desea conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar al menos una versión de cada archivo para continuar."]}}}}},{locale:"es_419",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_419","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_419\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_AR",json:{charset:"utf-8",headers:{"Last-Translator":"Matias Iglesias, 2022","Language-Team":"Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_AR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatias Iglesias, 2022\n"},msgstr:["Last-Translator: Matias Iglesias, 2022\nLanguage-Team: Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_AR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},Add:{msgid:"Add",msgstr:["Añadir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_CL",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CL","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CL\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_DO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_DO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_DO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_EC",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_EC","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_EC\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_GT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_GT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_GT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_HN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_HN","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_HN\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_MX",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_MX","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nLuis Francisco Castro, 2022\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_MX\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["cancelar las cargas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["en pausa"]},"Upload files":{msgid:"Upload files",msgstr:["cargar archivos"]}}}}},{locale:"es_NI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_NI","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_NI\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PA","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PA\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PE","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PE\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_SV",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_SV","Plural-Forms":"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_SV\nPlural-Forms: nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_UY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_UY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_UY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"et_EE",json:{charset:"utf-8",headers:{"Last-Translator":"Taavo Roos, 2023","Language-Team":"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)","Content-Type":"text/plain; charset=UTF-8",Language:"et_EE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMait R, 2022\nTaavo Roos, 2023\n"},msgstr:["Last-Translator: Taavo Roos, 2023\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: et_EE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} jäänud sekundid"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} aega jäänud"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["jäänud mõni sekund"]},Add:{msgid:"Add",msgstr:["Lisa"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Tühista üleslaadimine"]},"estimating time left":{msgid:"estimating time left",msgstr:["hinnanguline järelejäänud aeg"]},paused:{msgid:"paused",msgstr:["pausil"]},"Upload files":{msgid:"Upload files",msgstr:["Lae failid üles"]}}}}},{locale:"eu",json:{charset:"utf-8",headers:{"Last-Translator":"Unai Tolosa Pontesta , 2022","Language-Team":"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)","Content-Type":"text/plain; charset=UTF-8",Language:"eu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nUnai Tolosa Pontesta , 2022\n"},msgstr:["Last-Translator: Unai Tolosa Pontesta , 2022\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundo geratzen dira"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} geratzen da"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["segundo batzuk geratzen dira"]},Add:{msgid:"Add",msgstr:["Gehitu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ezeztatu igoerak"]},"estimating time left":{msgid:"estimating time left",msgstr:["kalkulatutako geratzen den denbora"]},paused:{msgid:"paused",msgstr:["geldituta"]},"Upload files":{msgid:"Upload files",msgstr:["Igo fitxategiak"]}}}}},{locale:"fa",json:{charset:"utf-8",headers:{"Last-Translator":"Fatemeh Komeily, 2023","Language-Team":"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)","Content-Type":"text/plain; charset=UTF-8",Language:"fa","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nFatemeh Komeily, 2023\n"},msgstr:["Last-Translator: Fatemeh Komeily, 2023\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fa\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["ثانیه های باقی مانده"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["باقی مانده"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["چند ثانیه مانده"]},Add:{msgid:"Add",msgstr:["اضافه کردن"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["کنسل کردن فایل های اپلود شده"]},"estimating time left":{msgid:"estimating time left",msgstr:["تخمین زمان باقی مانده"]},paused:{msgid:"paused",msgstr:["مکث کردن"]},"Upload files":{msgid:"Upload files",msgstr:["بارگذاری فایل ها"]}}}}},{locale:"fi_FI",json:{charset:"utf-8",headers:{"Last-Translator":"Jiri Grönroos , 2022","Language-Team":"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)","Content-Type":"text/plain; charset=UTF-8",Language:"fi_FI","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJiri Grönroos , 2022\n"},msgstr:["Last-Translator: Jiri Grönroos , 2022\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekuntia jäljellä"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} jäljellä"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["muutama sekunti jäljellä"]},Add:{msgid:"Add",msgstr:["Lisää"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Peruuta lähetykset"]},"estimating time left":{msgid:"estimating time left",msgstr:["arvioidaan jäljellä olevaa aikaa"]},paused:{msgid:"paused",msgstr:["keskeytetty"]},"Upload files":{msgid:"Upload files",msgstr:["Lähetä tiedostoja"]}}}}},{locale:"fo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)","Content-Type":"text/plain; charset=UTF-8",Language:"fo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"fr",json:{charset:"utf-8",headers:{"Last-Translator":"jed boulahya, 2024","Language-Team":"French (https://app.transifex.com/nextcloud/teams/64236/fr/)","Content-Type":"text/plain; charset=UTF-8",Language:"fr","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nBenoit Pruneau, 2024\njed boulahya, 2024\n"},msgstr:["Last-Translator: jed boulahya, 2024\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fichier en conflit","{count} fichiers en conflit","{count} fichiers en conflit"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fichier en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondes restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restant"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quelques secondes restantes"]},Cancel:{msgid:"Cancel",msgstr:["Annuler"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Annuler l'opération entière"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuler les envois"]},Continue:{msgid:"Continue",msgstr:["Continuer"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimation du temps restant"]},"Existing version":{msgid:"Existing version",msgstr:["Version existante"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si vous sélectionnez les deux versions, le fichier copié aura un numéro ajouté àname."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Date de la dernière modification est inconnue"]},New:{msgid:"New",msgstr:["Nouveau"]},"New version":{msgid:"New version",msgstr:["Nouvelle version"]},paused:{msgid:"paused",msgstr:["en pause"]},"Preview image":{msgid:"Preview image",msgstr:["Aperçu de l'image"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Sélectionner toutes les cases à cocher"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Sélectionner tous les fichiers existants"]},"Select all new files":{msgid:"Select all new files",msgstr:["Sélectionner tous les nouveaux fichiers"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Ignorer ce fichier","Ignorer {count} fichiers","Ignorer {count} fichiers"]},"Unknown size":{msgid:"Unknown size",msgstr:["Taille inconnue"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:[" annulé"]},"Upload files":{msgid:"Upload files",msgstr:["Téléchargement des fichiers"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progression du téléchargement"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Lorsqu'un dossier entrant est sélectionné, tous les fichiers en conflit qu'il contient seront également écrasés."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quels fichiers souhaitez-vous conserver ?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Vous devez sélectionner au moins une version de chaque fichier pour continuer."]}}}}},{locale:"gd",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)","Content-Type":"text/plain; charset=UTF-8",Language:"gd","Plural-Forms":"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gd\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"gl",json:{charset:"utf-8",headers:{"Last-Translator":"Miguel Anxo Bouzada , 2023","Language-Team":"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)","Content-Type":"text/plain; charset=UTF-8",Language:"gl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nNacho , 2023\nMiguel Anxo Bouzada , 2023\n"},msgstr:["Last-Translator: Miguel Anxo Bouzada , 2023\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} conflito de ficheiros","{count} conflitos de ficheiros"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} conflito de ficheiros en {dirname}","{count} conflitos de ficheiros en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltan {seconds} segundos"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["falta {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltan uns segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envíos"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["calculando canto tempo falta"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selecciona ambas as versións, o ficheiro copiado terá un número engadido ao seu nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Data da última modificación descoñecida"]},New:{msgid:"New",msgstr:["Nova"]},"New version":{msgid:"New version",msgstr:["Nova versión"]},paused:{msgid:"paused",msgstr:["detido"]},"Preview image":{msgid:"Preview image",msgstr:["Vista previa da imaxe"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marcar todas as caixas de selección"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos os ficheiros existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos os ficheiros novos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Omita este ficheiro","Omitir {count} ficheiros"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño descoñecido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envío cancelado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progreso do envío"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Que ficheiros quere conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar polo menos unha versión de cada ficheiro para continuar."]}}}}},{locale:"he",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)","Content-Type":"text/plain; charset=UTF-8",Language:"he","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hi_IN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)","Content-Type":"text/plain; charset=UTF-8",Language:"hi_IN","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hi_IN\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)","Content-Type":"text/plain; charset=UTF-8",Language:"hr","Plural-Forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hr\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hsb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)","Content-Type":"text/plain; charset=UTF-8",Language:"hsb","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hsb\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu_HU",json:{charset:"utf-8",headers:{"Last-Translator":"Balázs Úr, 2022","Language-Team":"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu_HU","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBalázs Meskó , 2022\nBalázs Úr, 2022\n"},msgstr:["Last-Translator: Balázs Úr, 2022\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{} másodperc van hátra"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} van hátra"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["pár másodperc van hátra"]},Add:{msgid:"Add",msgstr:["Hozzáadás"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Feltöltések megszakítása"]},"estimating time left":{msgid:"estimating time left",msgstr:["hátralévő idő becslése"]},paused:{msgid:"paused",msgstr:["szüneteltetve"]},"Upload files":{msgid:"Upload files",msgstr:["Fájlok feltöltése"]}}}}},{locale:"hy",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)","Content-Type":"text/plain; charset=UTF-8",Language:"hy","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hy\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ia",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)","Content-Type":"text/plain; charset=UTF-8",Language:"ia","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ia\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"id",json:{charset:"utf-8",headers:{"Last-Translator":"Linerly , 2023","Language-Team":"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)","Content-Type":"text/plain; charset=UTF-8",Language:"id","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nEmpty Slot Filler, 2023\nLinerly , 2023\n"},msgstr:["Last-Translator: Linerly , 2023\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: id\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} berkas berkonflik"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} berkas berkonflik dalam {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} detik tersisa"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} tersisa"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["tinggal sebentar lagi"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Batalkan unggahan"]},Continue:{msgid:"Continue",msgstr:["Lanjutkan"]},"estimating time left":{msgid:"estimating time left",msgstr:["memperkirakan waktu yang tersisa"]},"Existing version":{msgid:"Existing version",msgstr:["Versi yang ada"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jika Anda memilih kedua versi, nama berkas yang disalin akan ditambahi angka."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Tanggal perubahan terakhir tidak diketahui"]},New:{msgid:"New",msgstr:["Baru"]},"New version":{msgid:"New version",msgstr:["Versi baru"]},paused:{msgid:"paused",msgstr:["dijeda"]},"Preview image":{msgid:"Preview image",msgstr:["Gambar pratinjau"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Pilih semua kotak centang"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Pilih semua berkas yang ada"]},"Select all new files":{msgid:"Select all new files",msgstr:["Pilih semua berkas baru"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Lewati {count} berkas"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukuran tidak diketahui"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Unggahan dibatalkan"]},"Upload files":{msgid:"Upload files",msgstr:["Unggah berkas"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Berkas mana yang Anda ingin tetap simpan?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Anda harus memilih setidaknya satu versi dari masing-masing berkas untuk melanjutkan."]}}}}},{locale:"ig",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)","Content-Type":"text/plain; charset=UTF-8",Language:"ig","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ig\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"is",json:{charset:"utf-8",headers:{"Last-Translator":"Sveinn í Felli , 2023","Language-Team":"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)","Content-Type":"text/plain; charset=UTF-8",Language:"is","Plural-Forms":"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nSveinn í Felli , 2023\n"},msgstr:["Last-Translator: Sveinn í Felli , 2023\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} árekstur skráa","{count} árekstrar skráa"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} árekstur skráa í {dirname}","{count} árekstrar skráa í {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekúndur eftir"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} eftir"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["nokkrar sekúndur eftir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hætta við innsendingar"]},Continue:{msgid:"Continue",msgstr:["Halda áfram"]},"estimating time left":{msgid:"estimating time left",msgstr:["áætla tíma sem eftir er"]},"Existing version":{msgid:"Existing version",msgstr:["Fyrirliggjandi útgáfa"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ef þú velur báðar útgáfur, þá mun verða bætt tölustaf aftan við heiti afrituðu skrárinnar."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Síðasta breytingadagsetning er óþekkt"]},New:{msgid:"New",msgstr:["Nýtt"]},"New version":{msgid:"New version",msgstr:["Ný útgáfa"]},paused:{msgid:"paused",msgstr:["í bið"]},"Preview image":{msgid:"Preview image",msgstr:["Forskoðun myndar"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Velja gátreiti"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Velja allar fyrirliggjandi skrár"]},"Select all new files":{msgid:"Select all new files",msgstr:["Velja allar nýjar skrár"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Sleppa þessari skrá","Sleppa {count} skrám"]},"Unknown size":{msgid:"Unknown size",msgstr:["Óþekkt stærð"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hætt við innsendingu"]},"Upload files":{msgid:"Upload files",msgstr:["Senda inn skrár"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvaða skrám vilt þú vilt halda eftir?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Þú verður að velja að minnsta kosti eina útgáfu af hverri skrá til að halda áfram."]}}}}},{locale:"it",json:{charset:"utf-8",headers:{"Last-Translator":"Random_R, 2023","Language-Team":"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)","Content-Type":"text/plain; charset=UTF-8",Language:"it","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nLep Lep, 2023\nRandom_R, 2023\n"},msgstr:["Last-Translator: Random_R, 2023\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file in conflitto","{count} file in conflitto","{count} file in conflitto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondi rimanenti "]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} rimanente"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alcuni secondi rimanenti"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annulla i caricamenti"]},Continue:{msgid:"Continue",msgstr:["Continua"]},"estimating time left":{msgid:"estimating time left",msgstr:["calcolo il tempo rimanente"]},"Existing version":{msgid:"Existing version",msgstr:["Versione esistente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selezioni entrambe le versioni, nel nome del file copiato verrà aggiunto un numero "]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Ultima modifica sconosciuta"]},New:{msgid:"New",msgstr:["Nuovo"]},"New version":{msgid:"New version",msgstr:["Nuova versione"]},paused:{msgid:"paused",msgstr:["pausa"]},"Preview image":{msgid:"Preview image",msgstr:["Anteprima immagine"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleziona tutte le caselle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleziona tutti i file esistenti"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleziona tutti i nuovi file"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Salta questo file","Salta {count} file","Salta {count} file"]},"Unknown size":{msgid:"Unknown size",msgstr:["Dimensione sconosciuta"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Caricamento cancellato"]},"Upload files":{msgid:"Upload files",msgstr:["Carica i file"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quali file vuoi mantenere?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Devi selezionare almeno una versione di ogni file per continuare"]}}}}},{locale:"it_IT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)","Content-Type":"text/plain; charset=UTF-8",Language:"it_IT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it_IT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ja_JP",json:{charset:"utf-8",headers:{"Last-Translator":"かたかめ, 2022","Language-Team":"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)","Content-Type":"text/plain; charset=UTF-8",Language:"ja_JP","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nT.S, 2022\nかたかめ, 2022\n"},msgstr:["Last-Translator: かたかめ, 2022\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["残り {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["残り {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["残り数秒"]},Add:{msgid:"Add",msgstr:["追加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["アップロードをキャンセル"]},"estimating time left":{msgid:"estimating time left",msgstr:["概算残り時間"]},paused:{msgid:"paused",msgstr:["一時停止中"]},"Upload files":{msgid:"Upload files",msgstr:["ファイルをアップデート"]}}}}},{locale:"ka",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ka_GE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka_GE","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka_GE\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kab",json:{charset:"utf-8",headers:{"Last-Translator":"ZiriSut, 2023","Language-Team":"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)","Content-Type":"text/plain; charset=UTF-8",Language:"kab","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nZiriSut, 2023\n"},msgstr:["Last-Translator: ZiriSut, 2023\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kab\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} tesdatin i d-yeqqimen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} i d-yeqqimen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["qqiment-d kra n tesdatin kan"]},Add:{msgid:"Add",msgstr:["Rnu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Sefsex asali"]},"estimating time left":{msgid:"estimating time left",msgstr:["asizel n wakud i d-yeqqimen"]},paused:{msgid:"paused",msgstr:["yeḥbes"]},"Upload files":{msgid:"Upload files",msgstr:["Sali-d ifuyla"]}}}}},{locale:"kk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)","Content-Type":"text/plain; charset=UTF-8",Language:"kk","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kk\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"km",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)","Content-Type":"text/plain; charset=UTF-8",Language:"km","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: km\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)","Content-Type":"text/plain; charset=UTF-8",Language:"kn","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kn\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ko",json:{charset:"utf-8",headers:{"Last-Translator":"Brandon Han, 2024","Language-Team":"Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)","Content-Type":"text/plain; charset=UTF-8",Language:"ko","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nhosun Lee, 2023\nBrandon Han, 2024\n"},msgstr:["Last-Translator: Brandon Han, 2024\nLanguage-Team: Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ko\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count}개의 파일이 충돌함"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname}에서 {count}개의 파일이 충돌함"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} 남음"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} 남음"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["곧 완료"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["업로드 취소"]},Continue:{msgid:"Continue",msgstr:["확인"]},"estimating time left":{msgid:"estimating time left",msgstr:["남은 시간 계산"]},"Existing version":{msgid:"Existing version",msgstr:["현재 버전"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["두 버전을 모두 선택할 경우, 복제된 파일 이름에 숫자가 추가됩니다."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["최근 수정일 알 수 없음"]},New:{msgid:"New",msgstr:["새로 만들기"]},"New version":{msgid:"New version",msgstr:["새 버전"]},paused:{msgid:"paused",msgstr:["일시정지됨"]},"Preview image":{msgid:"Preview image",msgstr:["미리보기 이미지"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["모든 체크박스 선택"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["모든 파일 선택"]},"Select all new files":{msgid:"Select all new files",msgstr:["모든 새 파일 선택"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["{count}개의 파일 넘기기"]},"Unknown size":{msgid:"Unknown size",msgstr:["크기를 알 수 없음"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["업로드 취소됨"]},"Upload files":{msgid:"Upload files",msgstr:["파일 업로드"]},"Upload progress":{msgid:"Upload progress",msgstr:["업로드 진행도"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["어떤 파일을 보존하시겠습니까?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["계속하기 위해서는 한 파일에 최소 하나의 버전을 선택해야 합니다."]}}}}},{locale:"la",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latin (https://www.transifex.com/nextcloud/teams/64236/la/)","Content-Type":"text/plain; charset=UTF-8",Language:"la","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: la\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)","Content-Type":"text/plain; charset=UTF-8",Language:"lb","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lb\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)","Content-Type":"text/plain; charset=UTF-8",Language:"lo","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lo\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lt_LT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)","Content-Type":"text/plain; charset=UTF-8",Language:"lt_LT","Plural-Forms":"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lv",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)","Content-Type":"text/plain; charset=UTF-8",Language:"lv","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"mk",json:{charset:"utf-8",headers:{"Last-Translator":"Сашко Тодоров , 2022","Language-Team":"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)","Content-Type":"text/plain; charset=UTF-8",Language:"mk","Plural-Forms":"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nСашко Тодоров , 2022\n"},msgstr:["Last-Translator: Сашко Тодоров , 2022\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостануваат {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["преостанува {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["уште неколку секунди"]},Add:{msgid:"Add",msgstr:["Додади"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Прекини прикачување"]},"estimating time left":{msgid:"estimating time left",msgstr:["приближно преостанато време"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Upload files":{msgid:"Upload files",msgstr:["Прикачување датотеки"]}}}}},{locale:"mn",json:{charset:"utf-8",headers:{"Last-Translator":"BATKHUYAG Ganbold, 2023","Language-Team":"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)","Content-Type":"text/plain; charset=UTF-8",Language:"mn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBATKHUYAG Ganbold, 2023\n"},msgstr:["Last-Translator: BATKHUYAG Ganbold, 2023\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} секунд үлдсэн"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} үлдсэн"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["хэдхэн секунд үлдсэн"]},Add:{msgid:"Add",msgstr:["Нэмэх"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Илгээлтийг цуцлах"]},"estimating time left":{msgid:"estimating time left",msgstr:["Үлдсэн хугацааг тооцоолж байна"]},paused:{msgid:"paused",msgstr:["түр зогсоосон"]},"Upload files":{msgid:"Upload files",msgstr:["Файл илгээх"]}}}}},{locale:"mr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)","Content-Type":"text/plain; charset=UTF-8",Language:"mr","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mr\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ms_MY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)","Content-Type":"text/plain; charset=UTF-8",Language:"ms_MY","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ms_MY\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"my",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)","Content-Type":"text/plain; charset=UTF-8",Language:"my","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: my\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nb_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Syvert Fossdal, 2024","Language-Team":"Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nb_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nSyvert Fossdal, 2024\n"},msgstr:["Last-Translator: Syvert Fossdal, 2024\nLanguage-Team: Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file conflict","{count} filkonflikter"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file conflict in {dirname}","{count} filkonflikter i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder igjen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} igjen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noen få sekunder igjen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt opplastninger"]},Continue:{msgid:"Continue",msgstr:["Fortsett"]},"estimating time left":{msgid:"estimating time left",msgstr:["Estimerer tid igjen"]},"Existing version":{msgid:"Existing version",msgstr:["Gjeldende versjon"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Hvis du velger begge versjoner, vil den kopierte filen få et tall lagt til navnet."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Siste gang redigert ukjent"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny versjon"]},paused:{msgid:"paused",msgstr:["pauset"]},"Preview image":{msgid:"Preview image",msgstr:["Forhåndsvis bilde"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Velg alle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Velg alle eksisterende filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Velg alle nye filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Skip this file","Hopp over {count} filer"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukjent størrelse"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Opplasting avbrutt"]},"Upload files":{msgid:"Upload files",msgstr:["Last opp filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fremdrift, opplasting"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer vil du beholde?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du må velge minst en versjon av hver fil for å fortsette."]}}}}},{locale:"ne",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)","Content-Type":"text/plain; charset=UTF-8",Language:"ne","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ne\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nl",json:{charset:"utf-8",headers:{"Last-Translator":"Rico , 2023","Language-Team":"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)","Content-Type":"text/plain; charset=UTF-8",Language:"nl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRico , 2023\n"},msgstr:["Last-Translator: Rico , 2023\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Nog {seconds} seconden"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{seconds} over"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Nog een paar seconden"]},Add:{msgid:"Add",msgstr:["Voeg toe"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Uploads annuleren"]},"estimating time left":{msgid:"estimating time left",msgstr:["Schatting van de resterende tijd"]},paused:{msgid:"paused",msgstr:["Gepauzeerd"]},"Upload files":{msgid:"Upload files",msgstr:["Upload bestanden"]}}}}},{locale:"nn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nn_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"oc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)","Content-Type":"text/plain; charset=UTF-8",Language:"oc","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pl",json:{charset:"utf-8",headers:{"Last-Translator":"Valdnet, 2024","Language-Team":"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)","Content-Type":"text/plain; charset=UTF-8",Language:"pl","Plural-Forms":"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nM H , 2023\nValdnet, 2024\n"},msgstr:["Last-Translator: Valdnet, 2024\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["konflikt 1 pliku","{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} konfliktowy plik w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Pozostało {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Pozostało {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Pozostało kilka sekund"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anuluj wysyłanie"]},Continue:{msgid:"Continue",msgstr:["Kontynuuj"]},"estimating time left":{msgid:"estimating time left",msgstr:["Szacowanie pozostałego czasu"]},"Existing version":{msgid:"Existing version",msgstr:["Istniejąca wersja"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jeżeli wybierzesz obie wersje to do nazw skopiowanych plików zostanie dodany numer"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Nieznana data ostatniej modyfikacji"]},New:{msgid:"New",msgstr:["Nowy"]},"New version":{msgid:"New version",msgstr:["Nowa wersja"]},paused:{msgid:"paused",msgstr:["Wstrzymane"]},"Preview image":{msgid:"Preview image",msgstr:["Podgląd obrazu"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Zaznacz wszystkie boxy"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Zaznacz wszystkie istniejące pliki"]},"Select all new files":{msgid:"Select all new files",msgstr:["Zaznacz wszystkie nowe pliki"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Pomiń 1 plik","Pomiń {count} plików","Pomiń {count} plików","Pomiń {count} plików"]},"Unknown size":{msgid:"Unknown size",msgstr:["Nieznany rozmiar"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Anulowano wysyłanie"]},"Upload files":{msgid:"Upload files",msgstr:["Wyślij pliki"]},"Upload progress":{msgid:"Upload progress",msgstr:["Postęp wysyłania"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Które pliki chcesz zachować"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku."]}}}}},{locale:"ps",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)","Content-Type":"text/plain; charset=UTF-8",Language:"ps","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ps\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pt_BR",json:{charset:"utf-8",headers:{"Last-Translator":"Leonardo Colman Lopes , 2024","Language-Team":"Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_BR","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nLeonardo Colman Lopes , 2024\n"},msgstr:["Last-Translator: Leonardo Colman Lopes , 2024\nLanguage-Team: Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} arquivos em conflito","{count} arquivos em conflito","{count} arquivos em conflito"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} conflitos de arquivo em {dirname}","{count} conflitos de arquivo em {dirname}","{count} conflitos de arquivo em {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alguns segundos restantes"]},Cancel:{msgid:"Cancel",msgstr:["Cancelar"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Cancelar a operação inteira"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar uploads"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tempo restante"]},"Existing version":{msgid:"Existing version",msgstr:["Versão existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se você selecionar ambas as versões, o arquivo copiado terá um número adicionado ao seu nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Data da última modificação desconhecida"]},New:{msgid:"New",msgstr:["Novo"]},"New version":{msgid:"New version",msgstr:["Nova versão"]},paused:{msgid:"paused",msgstr:["pausado"]},"Preview image":{msgid:"Preview image",msgstr:["Visualizar imagem"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marque todas as caixas de seleção"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Selecione todos os arquivos existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Selecione todos os novos arquivos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Ignorar {count} arquivos","Ignorar {count} arquivos","Ignorar {count} arquivos"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamanho desconhecido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envio cancelado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar arquivos"]},"Upload progress":{msgid:"Upload progress",msgstr:["Envio em progresso"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Quando uma pasta é selecionada, quaisquer arquivos dentro dela também serão sobrescritos."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quais arquivos você deseja manter?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Você precisa selecionar pelo menos uma versão de cada arquivo para continuar."]}}}}},{locale:"pt_PT",json:{charset:"utf-8",headers:{"Last-Translator":"Manuela Silva , 2022","Language-Team":"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_PT","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nManuela Silva , 2022\n"},msgstr:["Last-Translator: Manuela Silva , 2022\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltam {seconds} segundo(s)"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["faltam {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltam uns segundos"]},Add:{msgid:"Add",msgstr:["Adicionar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envios"]},"estimating time left":{msgid:"estimating time left",msgstr:["tempo em falta estimado"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]}}}}},{locale:"ro",json:{charset:"utf-8",headers:{"Last-Translator":"Mădălin Vasiliu , 2022","Language-Team":"Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)","Content-Type":"text/plain; charset=UTF-8",Language:"ro","Plural-Forms":"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMădălin Vasiliu , 2022\n"},msgstr:["Last-Translator: Mădălin Vasiliu , 2022\nLanguage-Team: Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ro\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secunde rămase"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} rămas"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["câteva secunde rămase"]},Add:{msgid:"Add",msgstr:["Adaugă"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anulați încărcările"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimarea timpului rămas"]},paused:{msgid:"paused",msgstr:["pus pe pauză"]},"Upload files":{msgid:"Upload files",msgstr:["Încarcă fișiere"]}}}}},{locale:"ru",json:{charset:"utf-8",headers:{"Last-Translator":"Александр, 2023","Language-Team":"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMax Smith , 2023\nАлександр, 2023\n"},msgstr:["Last-Translator: Александр, 2023\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["конфликт {count} файла","конфликт {count} файлов","конфликт {count} файлов","конфликт {count} файлов"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["конфликт {count} файла в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["осталось {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["осталось {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["осталось несколько секунд"]},Add:{msgid:"Add",msgstr:["Добавить"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Отменить загрузки"]},Continue:{msgid:"Continue",msgstr:["Продолжить"]},"estimating time left":{msgid:"estimating time left",msgstr:["оценка оставшегося времени"]},"Existing version":{msgid:"Existing version",msgstr:["Текущая версия"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Если вы выберете обе версии, к имени скопированного файла будет добавлен номер."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата последнего изменения неизвестна"]},"New version":{msgid:"New version",msgstr:["Новая версия"]},paused:{msgid:"paused",msgstr:["приостановлено"]},"Preview image":{msgid:"Preview image",msgstr:["Предварительный просмотр"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Установить все флажки"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Выбрать все существующие файлы"]},"Select all new files":{msgid:"Select all new files",msgstr:["Выбрать все новые файлы"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустить файл","Пропустить {count} файла","Пропустить {count} файлов","Пропустить {count} файлов"]},"Unknown size":{msgid:"Unknown size",msgstr:["Неизвестный размер"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Загрузка отменена"]},"Upload files":{msgid:"Upload files",msgstr:["Загрузка файлов"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Какие файлы вы хотите сохранить?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продолжения вам нужно выбрать по крайней мере одну версию каждого файла."]}}}}},{locale:"ru_RU",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru_RU","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru_RU\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)","Content-Type":"text/plain; charset=UTF-8",Language:"sc","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sc\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)","Content-Type":"text/plain; charset=UTF-8",Language:"si","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"si_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sk_SK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)","Content-Type":"text/plain; charset=UTF-8",Language:"sk_SK","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sl",json:{charset:"utf-8",headers:{"Last-Translator":"Matej Urbančič <>, 2022","Language-Team":"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatej Urbančič <>, 2022\n"},msgstr:["Last-Translator: Matej Urbančič <>, 2022\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["še {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["še {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["še nekaj sekund"]},Add:{msgid:"Add",msgstr:["Dodaj"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Prekliči pošiljanje"]},"estimating time left":{msgid:"estimating time left",msgstr:["ocenjen čas do konca"]},paused:{msgid:"paused",msgstr:["v premoru"]},"Upload files":{msgid:"Upload files",msgstr:["Pošlji datoteke"]}}}}},{locale:"sl_SI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl_SI","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl_SI\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sq",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)","Content-Type":"text/plain; charset=UTF-8",Language:"sq","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sq\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sr",json:{charset:"utf-8",headers:{"Last-Translator":"Иван Пешић, 2023","Language-Team":"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nИван Пешић, 2023\n"},msgstr:["Last-Translator: Иван Пешић, 2023\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} фајл конфликт","{count} фајл конфликта","{count} фајл конфликта"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} фајл конфликт у {dirname}","{count} фајл конфликта у {dirname}","{count} фајл конфликта у {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостало је {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} преостало"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["преостало је неколико секунди"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Обустави отпремања"]},Continue:{msgid:"Continue",msgstr:["Настави"]},"estimating time left":{msgid:"estimating time left",msgstr:["процена преосталог времена"]},"Existing version":{msgid:"Existing version",msgstr:["Постојећа верзија"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ако изаберете обе верзије, на име копираног фајла ће се додати број."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Није познат датум последње измене"]},New:{msgid:"New",msgstr:["Ново"]},"New version":{msgid:"New version",msgstr:["Нова верзија"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Preview image":{msgid:"Preview image",msgstr:["Слика прегледа"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Штиклирај сва поља за штиклирање"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Изабери све постојеће фајлове"]},"Select all new files":{msgid:"Select all new files",msgstr:["Изабери све нове фајлове"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Прескочи овај фајл","Прескочи {count} фајла","Прескочи {count} фајлова"]},"Unknown size":{msgid:"Unknown size",msgstr:["Непозната величина"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Отпремање је отказано"]},"Upload files":{msgid:"Upload files",msgstr:["Отпреми фајлове"]},"Upload progress":{msgid:"Upload progress",msgstr:["Напредак отпремања"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Које фајлове желите да задржите?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Морате да изаберете барем једну верзију сваког фајла да наставите."]}}}}},{locale:"sr@latin",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr@latin","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr@latin\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sv",json:{charset:"utf-8",headers:{"Last-Translator":"Magnus Höglund, 2024","Language-Team":"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)","Content-Type":"text/plain; charset=UTF-8",Language:"sv","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMagnus Höglund, 2024\n"},msgstr:["Last-Translator: Magnus Höglund, 2024\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} filkonflikt","{count} filkonflikter"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} filkonflikt i {dirname}","{count} filkonflikter i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder kvarstår"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kvarstår"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["några sekunder kvar"]},Cancel:{msgid:"Cancel",msgstr:["Avbryt"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Avbryt hela operationen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt uppladdningar"]},Continue:{msgid:"Continue",msgstr:["Fortsätt"]},"estimating time left":{msgid:"estimating time left",msgstr:["uppskattar kvarstående tid"]},"Existing version":{msgid:"Existing version",msgstr:["Nuvarande version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Om du väljer båda versionerna kommer den kopierade filen att få ett nummer tillagt i namnet."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Senaste ändringsdatum okänt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pausad"]},"Preview image":{msgid:"Preview image",msgstr:["Förhandsgranska bild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Markera alla kryssrutor"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Välj alla befintliga filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Välj alla nya filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Hoppa över denna fil","Hoppa över {count} filer"]},"Unknown size":{msgid:"Unknown size",msgstr:["Okänd storlek"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Uppladdningen avbröts"]},"Upload files":{msgid:"Upload files",msgstr:["Ladda upp filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Uppladdningsförlopp"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["När en inkommande mapp väljs skrivs även alla konfliktande filer i den över."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Vilka filer vill du behålla?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du måste välja minst en version av varje fil för att fortsätta."]}}}}},{locale:"sw",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)","Content-Type":"text/plain; charset=UTF-8",Language:"sw","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sw\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Thai (https://www.transifex.com/nextcloud/teams/64236/th/)","Content-Type":"text/plain; charset=UTF-8",Language:"th","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Thai (https://www.transifex.com/nextcloud/teams/64236/th/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th_TH",json:{charset:"utf-8",headers:{"Last-Translator":"Phongpanot Phairat , 2022","Language-Team":"Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)","Content-Type":"text/plain; charset=UTF-8",Language:"th_TH","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhongpanot Phairat , 2022\n"},msgstr:["Last-Translator: Phongpanot Phairat , 2022\nLanguage-Team: Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th_TH\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["เหลืออีก {seconds} วินาที"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["เหลืออีก {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["เหลืออีกไม่กี่วินาที"]},Add:{msgid:"Add",msgstr:["เพิ่ม"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["ยกเลิกการอัปโหลด"]},"estimating time left":{msgid:"estimating time left",msgstr:["กำลังคำนวณเวลาที่เหลือ"]},paused:{msgid:"paused",msgstr:["หยุดชั่วคราว"]},"Upload files":{msgid:"Upload files",msgstr:["อัปโหลดไฟล์"]}}}}},{locale:"tk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)","Content-Type":"text/plain; charset=UTF-8",Language:"tk","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tk\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"tr",json:{charset:"utf-8",headers:{"Last-Translator":"Kaya Zeren , 2024","Language-Team":"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)","Content-Type":"text/plain; charset=UTF-8",Language:"tr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nKaya Zeren , 2024\n"},msgstr:["Last-Translator: Kaya Zeren , 2024\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} dosya çakışması var","{count} dosya çakışması var"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} klasöründe {count} dosya çakışması var","{dirname} klasöründe {count} dosya çakışması var"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniye kaldı"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kaldı"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir kaç saniye kaldı"]},Cancel:{msgid:"Cancel",msgstr:["İptal"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Tüm işlemi iptal et"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yüklemeleri iptal et"]},Continue:{msgid:"Continue",msgstr:["İlerle"]},"estimating time left":{msgid:"estimating time left",msgstr:["öngörülen kalan süre"]},"Existing version":{msgid:"Existing version",msgstr:["Var olan sürüm"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["İki sürümü de seçerseniz, kopyalanan dosyanın adına bir sayı eklenir."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Son değiştirilme tarihi bilinmiyor"]},New:{msgid:"New",msgstr:["Yeni"]},"New version":{msgid:"New version",msgstr:["Yeni sürüm"]},paused:{msgid:"paused",msgstr:["duraklatıldı"]},"Preview image":{msgid:"Preview image",msgstr:["Görsel ön izlemesi"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Tüm kutuları işaretle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Tüm var olan dosyaları seç"]},"Select all new files":{msgid:"Select all new files",msgstr:["Tüm yeni dosyaları seç"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Bu dosyayı atla","{count} dosyayı atla"]},"Unknown size":{msgid:"Unknown size",msgstr:["Boyut bilinmiyor"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Yükleme iptal edildi"]},"Upload files":{msgid:"Upload files",msgstr:["Dosyaları yükle"]},"Upload progress":{msgid:"Upload progress",msgstr:["Yükleme ilerlemesi"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hangi dosyaları tutmak istiyorsunuz?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["İlerlemek için her dosyanın en az bir sürümünü seçmelisiniz."]}}}}},{locale:"ug",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)","Content-Type":"text/plain; charset=UTF-8",Language:"ug","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ug\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uk",json:{charset:"utf-8",headers:{"Last-Translator":"O St , 2024","Language-Team":"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)","Content-Type":"text/plain; charset=UTF-8",Language:"uk","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nO St , 2024\n"},msgstr:["Last-Translator: O St , 2024\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} конфліктний файл","{count} конфліктних файли","{count} конфліктних файлів","{count} конфліктних файлів"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} конфліктний файл у каталозі {dirname}","{count} конфліктних файли у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Залишилося {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Залишилося {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["залишилося кілька секунд"]},Cancel:{msgid:"Cancel",msgstr:["Скасувати"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Скасувати операцію повністю"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Скасувати завантаження"]},Continue:{msgid:"Continue",msgstr:["Продовжити"]},"estimating time left":{msgid:"estimating time left",msgstr:["оцінка часу, що залишився"]},"Existing version":{msgid:"Existing version",msgstr:["Присутня версія"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Якщо ви виберете обидві версії, то буде створено копію файлу, до назви якої буде додано цифру."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата останньої зміни невідома"]},New:{msgid:"New",msgstr:["Нове"]},"New version":{msgid:"New version",msgstr:["Нова версія"]},paused:{msgid:"paused",msgstr:["призупинено"]},"Preview image":{msgid:"Preview image",msgstr:["Попередній перегляд"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Вибрати все"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Вибрати усі присутні файли"]},"Select all new files":{msgid:"Select all new files",msgstr:["Вибрати усі нові файли"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустити файл","Пропустити {count} файли","Пропустити {count} файлів","Пропустити {count} файлів"]},"Unknown size":{msgid:"Unknown size",msgstr:["Невідомий розмір"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Завантаження скасовано"]},"Upload files":{msgid:"Upload files",msgstr:["Завантажити файли"]},"Upload progress":{msgid:"Upload progress",msgstr:["Поступ завантаження"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Усі конфліктні файли у вибраному каталозі призначення буде перезаписано поверх."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Які файли залишити?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продовження потрібно вибрати принаймні одну версію для кожного файлу."]}}}}},{locale:"ur_PK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ur_PK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ur_PK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uz",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)","Content-Type":"text/plain; charset=UTF-8",Language:"uz","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uz\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"vi",json:{charset:"utf-8",headers:{"Last-Translator":"Tung DangQuang, 2023","Language-Team":"Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)","Content-Type":"text/plain; charset=UTF-8",Language:"vi","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nTung DangQuang, 2023\n"},msgstr:["Last-Translator: Tung DangQuang, 2023\nLanguage-Team: Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: vi\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Tập tin xung đột"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} tập tin lỗi trong {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Còn {second} giây"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Còn lại {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Còn lại một vài giây"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Huỷ tải lên"]},Continue:{msgid:"Continue",msgstr:["Tiếp Tục"]},"estimating time left":{msgid:"estimating time left",msgstr:["Thời gian còn lại dự kiến"]},"Existing version":{msgid:"Existing version",msgstr:["Phiên Bản Hiện Tại"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Nếu bạn chọn cả hai phiên bản, tệp được sao chép sẽ có thêm một số vào tên của nó."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Ngày sửa dổi lần cuối không xác định"]},New:{msgid:"New",msgstr:["Tạo Mới"]},"New version":{msgid:"New version",msgstr:["Phiên Bản Mới"]},paused:{msgid:"paused",msgstr:["đã tạm dừng"]},"Preview image":{msgid:"Preview image",msgstr:["Xem Trước Ảnh"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Chọn tất cả hộp checkbox"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Chọn tất cả các tập tin có sẵn"]},"Select all new files":{msgid:"Select all new files",msgstr:["Chọn tất cả các tập tin mới"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Bỏ Qua {count} tập tin"]},"Unknown size":{msgid:"Unknown size",msgstr:["Không rõ dung lượng"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Dừng Tải Lên"]},"Upload files":{msgid:"Upload files",msgstr:["Tập tin tải lên"]},"Upload progress":{msgid:"Upload progress",msgstr:["Đang Tải Lên"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Bạn muốn giữ tập tin nào?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Bạn cần chọn ít nhất một phiên bản tập tin mới có thể tiếp tục"]}}}}},{locale:"zh_CN",json:{charset:"utf-8",headers:{"Last-Translator":"Hongbo Chen, 2023","Language-Team":"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_CN","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nHongbo Chen, 2023\n"},msgstr:["Last-Translator: Hongbo Chen, 2023\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count}文件冲突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["在{dirname}目录下有{count}个文件冲突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩余 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩余 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["还剩几秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上传"]},Continue:{msgid:"Continue",msgstr:["继续"]},"estimating time left":{msgid:"estimating time left",msgstr:["估计剩余时间"]},"Existing version":{msgid:"Existing version",msgstr:["版本已存在"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["如果选择所有的版本,新增版本的文件名为原文件名加数字"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["文件最后修改日期未知"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暂停"]},"Preview image":{msgid:"Preview image",msgstr:["图片预览"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["选择所有的选择框"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["选择所有存在的文件"]},"Select all new files":{msgid:"Select all new files",msgstr:["选择所有的新文件"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["跳过{count}个文件"]},"Unknown size":{msgid:"Unknown size",msgstr:["文件大小未知"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["取消上传"]},"Upload files":{msgid:"Upload files",msgstr:["上传文件"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["你要保留哪些文件?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["每个文件至少选择一个版本"]}}}}},{locale:"zh_HK",json:{charset:"utf-8",headers:{"Last-Translator":"Café Tango, 2023","Language-Team":"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_HK","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nCafé Tango, 2023\n"},msgstr:["Last-Translator: Café Tango, 2023\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期不詳"]},"New version":{msgid:"New version",msgstr:["新版本 "]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 個檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["大小不詳"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}},{locale:"zh_TW",json:{charset:"utf-8",headers:{"Last-Translator":"黃柏諺 , 2024","Language-Team":"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_TW","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\n黃柏諺 , 2024\n"},msgstr:["Last-Translator: 黃柏諺 , 2024\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Cancel:{msgid:"Cancel",msgstr:["取消"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["取消整個操作"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期未知"]},New:{msgid:"New",msgstr:["新增"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["未知大小"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Upload progress":{msgid:"Upload progress",msgstr:["上傳進度"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["選取傳入資料夾後,其中任何的衝突檔案都會被覆寫。"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}}].map((t=>nt.addTranslation(t.locale,t.json)));const st=nt.build(),it=st.ngettext.bind(st),rt=st.gettext.bind(st),at=U.Ay.extend({name:"UploadPicker",components:{Cancel:Z,NcActionButton:B.A,NcActions:M.A,NcButton:j.A,NcIconSvgWrapper:R.A,NcProgressBar:z.A,Plus:tt,Upload:et},props:{accept:{type:Array,default:null},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},destination:{type:y.vd,default:void 0},content:{type:Array,default:()=>[]},forbiddenCharacters:{type:Array,default:()=>[]}},data:()=>({addLabel:rt("New"),cancelLabel:rt("Cancel uploads"),uploadLabel:rt("Upload files"),progressLabel:rt("Upload progress"),progressTimeId:`nc-uploader-progress-${Math.random().toString(36).slice(7)}`,eta:null,timeLeft:"",newFileMenuEntries:[],uploadManager:ct()}),computed:{totalQueueSize(){return this.uploadManager.info?.size||0},uploadedQueueSize(){return this.uploadManager.info?.progress||0},progress(){return Math.round(this.uploadedQueueSize/this.totalQueueSize*100)||0},queue(){return this.uploadManager.queue},hasFailure(){return 0!==this.queue?.filter((t=>t.status===$.FAILED)).length},isUploading(){return this.queue?.length>0},isAssembling(){return 0!==this.queue?.filter((t=>t.status===$.ASSEMBLING)).length},isPaused(){return this.uploadManager.info?.status===Q.PAUSED},buttonName(){if(!this.isUploading)return this.addLabel}},watch:{destination(t){this.setDestination(t)},totalQueueSize(t){this.eta=O({min:0,max:t}),this.updateStatus()},uploadedQueueSize(t){this.eta?.report?.(t),this.updateStatus()},isPaused(t){t?this.$emit("paused",this.queue):this.$emit("resumed",this.queue)}},beforeMount(){this.destination&&this.setDestination(this.destination),this.uploadManager.addNotifier(this.onUploadCompletion),Y.debug("UploadPicker initialised")},methods:{onClick(){this.$refs.input.click()},async onPick(){let t=[...this.$refs.input.files];if(ut(t,this.content)){const e=t.filter((t=>this.content.find((e=>e.basename===t.name)))).filter(Boolean),n=t.filter((t=>!e.includes(t)));try{const{selected:s,renamed:i}=await dt(this.destination.basename,e,this.content);t=[...n,...s,...i]}catch{return void(0,D.Qg)(rt("Upload cancelled"))}}t.forEach((t=>{const e=(this.forbiddenCharacters||[]).find((e=>t.name.includes(e)));e?(0,D.Qg)(rt(`"${e}" is not allowed inside a file name.`)):this.uploadManager.upload(t.name,t).catch((()=>{}))})),this.$refs.form.reset()},onCancel(){this.uploadManager.queue.forEach((t=>{t.cancel()})),this.$refs.form.reset()},updateStatus(){if(this.isPaused)return void(this.timeLeft=rt("paused"));const t=Math.round(this.eta.estimate());if(t!==1/0)if(t<10)this.timeLeft=rt("a few seconds left");else if(t>60){const e=new Date(0);e.setSeconds(t);const n=e.toISOString().slice(11,19);this.timeLeft=rt("{time} left",{time:n})}else this.timeLeft=rt("{seconds} seconds left",{seconds:t});else this.timeLeft=rt("estimating time left")},setDestination(t){this.destination?(this.uploadManager.destination=t,this.newFileMenuEntries=(0,y.m1)(t)):Y.debug("Invalid destination")},onUploadCompletion(t){t.status===$.FAILED?this.$emit("failed",t):this.$emit("uploaded",t)}}}),ot=X(at,(function(){var t=this,e=t._self._c;return t._self._setupProxy,t.destination?e("form",{ref:"form",staticClass:"upload-picker",class:{"upload-picker--uploading":t.isUploading,"upload-picker--paused":t.isPaused},attrs:{"data-cy-upload-picker":""}},[t.newFileMenuEntries&&0===t.newFileMenuEntries.length?e("NcButton",{attrs:{disabled:t.disabled,"data-cy-upload-picker-add":"",type:"secondary"},on:{click:t.onClick},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[t._v(" "+t._s(t.buttonName)+" ")]):e("NcActions",{attrs:{"menu-name":t.buttonName,"menu-title":t.addLabel,type:"secondary"},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[e("NcActionButton",{attrs:{"data-cy-upload-picker-add":"","close-after-click":!0},on:{click:t.onClick},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Upload",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,3606034491)},[t._v(" "+t._s(t.uploadLabel)+" ")]),t._l(t.newFileMenuEntries,(function(n){return e("NcActionButton",{key:n.id,staticClass:"upload-picker__menu-entry",attrs:{icon:n.iconClass,"close-after-click":!0},on:{click:function(e){return n.handler(t.destination,t.content)}},scopedSlots:t._u([n.iconSvgInline?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline}})]},proxy:!0}:null],null,!0)},[t._v(" "+t._s(n.displayName)+" ")])}))],2),e("div",{directives:[{name:"show",rawName:"v-show",value:t.isUploading,expression:"isUploading"}],staticClass:"upload-picker__progress"},[e("NcProgressBar",{attrs:{"aria-label":t.progressLabel,"aria-describedby":t.progressTimeId,error:t.hasFailure,value:t.progress,size:"medium"}}),e("p",{attrs:{id:t.progressTimeId}},[t._v(" "+t._s(t.timeLeft)+" ")])],1),t.isUploading?e("NcButton",{staticClass:"upload-picker__cancel",attrs:{type:"tertiary","aria-label":t.cancelLabel,"data-cy-upload-picker-cancel":""},on:{click:t.onCancel},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Cancel",{attrs:{title:"",size:20}})]},proxy:!0}],null,!1,4076886712)}):t._e(),e("input",{directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}],ref:"input",attrs:{type:"file",accept:t.accept?.join?.(", "),multiple:t.multiple,"data-cy-upload-picker-input":""},on:{change:t.onPick}})],1):t._e()}),[],!1,null,"eca9500a",null,null).exports;let lt=null;function ct(){const t=null!==document.querySelector('input[name="isPublic"][value="1"]');return lt instanceof J||(lt=new J(t)),lt}async function dt(t,e,s){const i=(0,U.$V)((()=>Promise.all([n.e(4208),n.e(6075)]).then(n.bind(n,56075))));return new Promise(((n,r)=>{const a=new U.Ay({name:"ConflictPickerRoot",render:o=>o(i,{props:{dirname:t,conflicts:e,content:s},on:{submit(t){n(t),a.$destroy(),a.$el?.parentNode?.removeChild(a.$el)},cancel(t){r(t??new Error("Canceled")),a.$destroy(),a.$el?.parentNode?.removeChild(a.$el)}}})});a.$mount(),document.body.appendChild(a.$el)}))}function ut(t,e){const n=e.map((t=>t.basename));return t.filter((t=>{const e=t instanceof File?t.name:t.basename;return-1!==n.indexOf(e)})).length>0}},53110:(t,e,n)=>{"use strict";n.d(e,{k3:()=>a,pe:()=>r});var s=n(28893);const{Axios:i,AxiosError:r,CanceledError:a,isCancel:o,CancelToken:l,VERSION:c,all:d,Cancel:u,isAxiosError:m,spread:p,toFormData:f,AxiosHeaders:g,HttpStatusCode:h,formToJSON:v,getAdapter:w,mergeConfig:y}=s.A}},r={};function a(t){var e=r[t];if(void 0!==e)return e.exports;var n=r[t]={id:t,loaded:!1,exports:{}};return i[t].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.m=i,e=[],a.O=(t,n,s,i)=>{if(!n){var r=1/0;for(d=0;d=i)&&Object.keys(a.O).every((t=>a.O[t](n[l])))?n.splice(l--,1):(o=!1,i0&&e[d-1][2]>i;d--)e[d]=e[d-1];e[d]=[n,s,i]},a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.f={},a.e=t=>Promise.all(Object.keys(a.f).reduce(((e,n)=>(a.f[n](t,e),e)),[])),a.u=t=>t+"-"+t+".js?v="+{4065:"9661e9d1e1b32699b74a",4254:"96661b9f421b07ce7189",6075:"d640b65b03c7259e0129"}[t],a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},s="nextcloud:",a.l=(t,e,i,r)=>{if(n[t])n[t].push(e);else{var o,l;if(void 0!==i)for(var c=document.getElementsByTagName("script"),d=0;d{o.onerror=o.onload=null,clearTimeout(p);var i=n[t];if(delete n[t],o.parentNode&&o.parentNode.removeChild(o),i&&i.forEach((t=>t(s))),e)return e(s)},p=setTimeout(m.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=m.bind(null,o.onerror),o.onload=m.bind(null,o.onload),l&&document.head.appendChild(o)}},a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),a.j=2882,(()=>{var t;a.g.importScripts&&(t=a.g.location+"");var e=a.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var s=n.length-1;s>-1&&(!t||!/^http(s?):/.test(t));)t=n[s--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t})(),(()=>{a.b=document.baseURI||self.location.href;var t={2882:0};a.f.j=(e,n)=>{var s=a.o(t,e)?t[e]:void 0;if(0!==s)if(s)n.push(s[2]);else{var i=new Promise(((n,i)=>s=t[e]=[n,i]));n.push(s[2]=i);var r=a.p+a.u(e),o=new Error;a.l(r,(n=>{if(a.o(t,e)&&(0!==(s=t[e])&&(t[e]=void 0),s)){var i=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+e+" failed.\n("+i+": "+r+")",o.name="ChunkLoadError",o.type=i,o.request=r,s[1](o)}}),"chunk-"+e,e)}},a.O.j=e=>0===t[e];var e=(e,n)=>{var s,i,r=n[0],o=n[1],l=n[2],c=0;if(r.some((e=>0!==t[e]))){for(s in o)a.o(o,s)&&(a.m[s]=o[s]);if(l)var d=l(a)}for(e&&e(n);ca(3998)));o=a.O(o)})(); -//# sourceMappingURL=files-main.js.map?v=dc3e7f7e429ef0cffa99 \ No newline at end of file +(()=>{var e,n,s,i={9052:t=>{"use strict";var e=Object.prototype.hasOwnProperty,n="~";function s(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function r(t,e,s,r,a){if("function"!=typeof s)throw new TypeError("The listener must be a function");var o=new i(s,r||t,a),l=n?n+e:e;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],o]:t._events[l].push(o):(t._events[l]=o,t._eventsCount++),t}function a(t,e){0==--t._eventsCount?t._events=new s:delete t._events[e]}function o(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(n=!1)),o.prototype.eventNames=function(){var t,s,i=[];if(0===this._eventsCount)return i;for(s in t=this._events)e.call(t,s)&&i.push(n?s.slice(1):s);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},o.prototype.listeners=function(t){var e=n?n+t:t,s=this._events[e];if(!s)return[];if(s.fn)return[s.fn];for(var i=0,r=s.length,a=new Array(r);i{"use strict";var i={};s.r(i),s.d(i,{exclude:()=>I,extract:()=>k,parse:()=>L,parseUrl:()=>N,pick:()=>P,stringify:()=>E,stringifyUrl:()=>F});var r=s(65899),a=s(53127),o=s(21777),l=s(85471);const c=(0,r.Ey)();var d=s(63814);const u="%[a-f0-9]{2}",m=new RegExp("("+u+")|([^%]+?)","gi"),p=new RegExp("("+u+")+","gi");function g(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(1===t.length)return t;e=e||1;const n=t.slice(0,e),s=t.slice(e);return Array.prototype.concat.call([],g(n),g(s))}function f(t){try{return decodeURIComponent(t)}catch{let e=t.match(m)||[];for(let n=1;nnull==t,y=t=>encodeURIComponent(t).replaceAll(/[!'()*]/g,(t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`)),A=Symbol("encodeFragmentIdentifier");function b(t){if("string"!=typeof t||1!==t.length)throw new TypeError("arrayFormatSeparator must be single character string")}function C(t,e){return e.encode?e.strict?y(t):encodeURIComponent(t):t}function _(t,e){return e.decode?function(t){if("string"!=typeof t)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof t+"`");try{return decodeURIComponent(t)}catch{return function(t){const e={"%FE%FF":"��","%FF%FE":"��"};let n=p.exec(t);for(;n;){try{e[n[0]]=decodeURIComponent(n[0])}catch{const t=f(n[0]);t!==n[0]&&(e[n[0]]=t)}n=p.exec(t)}e["%C2"]="�";const s=Object.keys(e);for(const n of s)t=t.replace(new RegExp(n,"g"),e[n]);return t}(t)}}(t):t}function T(t){return Array.isArray(t)?t.sort():"object"==typeof t?T(Object.keys(t)).sort(((t,e)=>Number(t)-Number(e))).map((e=>t[e])):t}function x(t){const e=t.indexOf("#");return-1!==e&&(t=t.slice(0,e)),t}function S(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&"string"==typeof t&&""!==t.trim()?t=Number(t):!e.parseBooleans||null===t||"true"!==t.toLowerCase()&&"false"!==t.toLowerCase()||(t="true"===t.toLowerCase()),t}function k(t){const e=(t=x(t)).indexOf("?");return-1===e?"":t.slice(e+1)}function L(t,e){b((e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e}).arrayFormatSeparator);const n=function(t){let e;switch(t.arrayFormat){case"index":return(t,n,s)=>{e=/\[(\d*)]$/.exec(t),t=t.replace(/\[\d*]$/,""),e?(void 0===s[t]&&(s[t]={}),s[t][e[1]]=n):s[t]=n};case"bracket":return(t,n,s)=>{e=/(\[])$/.exec(t),t=t.replace(/\[]$/,""),e?void 0!==s[t]?s[t]=[...s[t],n]:s[t]=[n]:s[t]=n};case"colon-list-separator":return(t,n,s)=>{e=/(:list)$/.exec(t),t=t.replace(/:list$/,""),e?void 0!==s[t]?s[t]=[...s[t],n]:s[t]=[n]:s[t]=n};case"comma":case"separator":return(e,n,s)=>{const i="string"==typeof n&&n.includes(t.arrayFormatSeparator),r="string"==typeof n&&!i&&_(n,t).includes(t.arrayFormatSeparator);n=r?_(n,t):n;const a=i||r?n.split(t.arrayFormatSeparator).map((e=>_(e,t))):null===n?n:_(n,t);s[e]=a};case"bracket-separator":return(e,n,s)=>{const i=/(\[])$/.test(e);if(e=e.replace(/\[]$/,""),!i)return void(s[e]=n?_(n,t):n);const r=null===n?[]:n.split(t.arrayFormatSeparator).map((e=>_(e,t)));void 0!==s[e]?s[e]=[...s[e],...r]:s[e]=r};default:return(t,e,n)=>{void 0!==n[t]?n[t]=[...[n[t]].flat(),e]:n[t]=e}}}(e),s=Object.create(null);if("string"!=typeof t)return s;if(!(t=t.trim().replace(/^[?#&]/,"")))return s;for(const i of t.split("&")){if(""===i)continue;const t=e.decode?i.replaceAll("+"," "):i;let[r,a]=h(t,"=");void 0===r&&(r=t),a=void 0===a?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?a:_(a,e),n(_(r,e),a,s)}for(const[t,n]of Object.entries(s))if("object"==typeof n&&null!==n)for(const[t,s]of Object.entries(n))n[t]=S(s,e);else s[t]=S(n,e);return!1===e.sort?s:(!0===e.sort?Object.keys(s).sort():Object.keys(s).sort(e.sort)).reduce(((t,e)=>{const n=s[e];return t[e]=Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?T(n):n,t}),Object.create(null))}function E(t,e){if(!t)return"";b((e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e}).arrayFormatSeparator);const n=n=>e.skipNull&&w(t[n])||e.skipEmptyString&&""===t[n],s=function(t){switch(t.arrayFormat){case"index":return e=>(n,s)=>{const i=n.length;return void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[C(e,t),"[",i,"]"].join("")]:[...n,[C(e,t),"[",C(i,t),"]=",C(s,t)].join("")]};case"bracket":return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[C(e,t),"[]"].join("")]:[...n,[C(e,t),"[]=",C(s,t)].join("")];case"colon-list-separator":return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,[C(e,t),":list="].join("")]:[...n,[C(e,t),":list=",C(s,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e="bracket-separator"===t.arrayFormat?"[]=":"=";return n=>(s,i)=>void 0===i||t.skipNull&&null===i||t.skipEmptyString&&""===i?s:(i=null===i?"":i,0===s.length?[[C(n,t),e,C(i,t)].join("")]:[[s,C(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,s)=>void 0===s||t.skipNull&&null===s||t.skipEmptyString&&""===s?n:null===s?[...n,C(e,t)]:[...n,[C(e,t),"=",C(s,t)].join("")]}}(e),i={};for(const[e,s]of Object.entries(t))n(e)||(i[e]=s);const r=Object.keys(i);return!1!==e.sort&&r.sort(e.sort),r.map((n=>{const i=t[n];return void 0===i?"":null===i?C(n,e):Array.isArray(i)?0===i.length&&"bracket-separator"===e.arrayFormat?C(n,e)+"[]":i.reduce(s(n),[]).join("&"):C(n,e)+"="+C(i,e)})).filter((t=>t.length>0)).join("&")}function N(t,e){e={decode:!0,...e};let[n,s]=h(t,"#");return void 0===n&&(n=t),{url:n?.split("?")?.[0]??"",query:L(k(t),e),...e&&e.parseFragmentIdentifier&&s?{fragmentIdentifier:_(s,e)}:{}}}function F(t,e){e={encode:!0,strict:!0,[A]:!0,...e};const n=x(t.url).split("?")[0]||"";let s=E({...L(k(t.url),{sort:!1}),...t.query},e);s&&=`?${s}`;let i=function(t){let e="";const n=t.indexOf("#");return-1!==n&&(e=t.slice(n)),e}(t.url);if("string"==typeof t.fragmentIdentifier){const s=new URL(n);s.hash=t.fragmentIdentifier,i=e[A]?s.hash:`#${t.fragmentIdentifier}`}return`${n}${s}${i}`}function P(t,e,n){n={parseFragmentIdentifier:!0,[A]:!1,...n};const{url:s,query:i,fragmentIdentifier:r}=N(t,n);return F({url:s,query:v(i,e),fragmentIdentifier:r},n)}function I(t,e,n){return P(t,Array.isArray(e)?t=>!e.includes(t):(t,n)=>!e(t,n),n)}const D=i;var O=s(40173);l.Ay.use(O.Ay);const U=O.Ay.prototype.push;O.Ay.prototype.push=function(t,e,n){return e||n?U.call(this,t,e,n):U.call(this,t).catch((t=>t))};const B=new O.Ay({mode:"history",base:(0,d.Jv)("/apps/files"),linkActiveClass:"active",routes:[{path:"/",redirect:{name:"filelist",params:{view:"files"}}},{path:"/:view/:fileid(\\d+)?",name:"filelist",props:!0}],stringifyQuery(t){const e=D.stringify(t).replace(/%2F/gim,"/");return e?"?"+e:""}});function M(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var j=s(96763);var R=s(22378),z=s(61338),V=s(53334);const q={name:"CogIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var H=s(14486);const W=(0,H.A)(q,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon cog-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var $=s(42530),G=s(52439),Y=s(6695);function K(t,e,n){var s,i=n||{},r=i.noTrailing,a=void 0!==r&&r,o=i.noLeading,l=void 0!==o&&o,c=i.debounceMode,d=void 0===c?void 0:c,u=!1,m=0;function p(){s&&clearTimeout(s)}function g(){for(var n=arguments.length,i=new Array(n),r=0;rt?l?(m=Date.now(),a||(s=setTimeout(d?f:g,t))):g():!0!==a&&(s=setTimeout(d?f:g,void 0===d?t-c:t)))}return g.cancel=function(t){var e=(t||{}).upcomingOnly,n=void 0!==e&&e;p(),u=!n},g}var Q=s(32981),J=s(85168),X=s(26287);const Z={name:"ChartPieIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},tt=(0,H.A)(Z,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon chart-pie-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var et=s(95101);const nt=(0,s(53529).YK)().setApp("files").detectUser().build(),st={name:"NavigationQuota",components:{ChartPie:tt,NcAppNavigationItem:G.A,NcProgressBar:et.A},data:()=>({loadingStorageStats:!1,storageStats:(0,Q.C)("files","storageStats",null)}),computed:{storageStatsTitle(){var t,e,n;const s=(0,a.v7)(null===(t=this.storageStats)||void 0===t?void 0:t.used,!1,!1),i=(0,a.v7)(null===(e=this.storageStats)||void 0===e?void 0:e.quota,!1,!1);return(null===(n=this.storageStats)||void 0===n?void 0:n.quota)<0?this.t("files","{usedQuotaByte} used",{usedQuotaByte:s}):this.t("files","{used} of {quota} used",{used:s,quota:i})},storageStatsTooltip(){return this.storageStats.relative?this.t("files","{relative}% used",this.storageStats):""}},beforeMount(){setInterval(this.throttleUpdateStorageStats,6e4),(0,z.B1)("files:node:created",this.throttleUpdateStorageStats),(0,z.B1)("files:node:deleted",this.throttleUpdateStorageStats),(0,z.B1)("files:node:moved",this.throttleUpdateStorageStats),(0,z.B1)("files:node:updated",this.throttleUpdateStorageStats)},mounted(){var t,e;(null===(t=this.storageStats)||void 0===t?void 0:t.quota)>0&&(null===(e=this.storageStats)||void 0===e?void 0:e.free)<=0&&this.showStorageFullWarning()},methods:{debounceUpdateStorageStats:(it={}.atBegin,K(200,(function(t){this.updateStorageStats(t)}),{debounceMode:!1!==(void 0!==it&&it)})),throttleUpdateStorageStats:K(1e3,(function(t){this.updateStorageStats(t)})),async updateStorageStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!this.loadingStorageStats){this.loadingStorageStats=!0;try{var n,s,i,r;const t=await X.A.get((0,d.Jv)("/apps/files/api/v1/stats"));if(null==t||null===(n=t.data)||void 0===n||!n.data)throw new Error("Invalid storage stats");(null===(s=this.storageStats)||void 0===s?void 0:s.free)>0&&(null===(i=t.data.data)||void 0===i?void 0:i.free)<=0&&(null===(r=t.data.data)||void 0===r?void 0:r.quota)>0&&this.showStorageFullWarning(),this.storageStats=t.data.data}catch(n){nt.error("Could not refresh storage stats",{error:n}),e&&(0,J.Qg)(t("files","Could not refresh storage stats"))}finally{this.loadingStorageStats=!1}}},showStorageFullWarning(){(0,J.Qg)(this.t("files","Your storage is full, files can not be updated or synced anymore!"))},t:V.Tl}};var it,rt=s(85072),at=s.n(rt),ot=s(97825),lt=s.n(ot),ct=s(77659),dt=s.n(ct),ut=s(55056),mt=s.n(ut),pt=s(10540),gt=s.n(pt),ft=s(41113),ht=s.n(ft),vt=s(33149),wt={};wt.styleTagTransform=ht(),wt.setAttributes=mt(),wt.insert=dt().bind(null,"head"),wt.domAPI=lt(),wt.insertStyleElement=gt(),at()(vt.A,wt),vt.A&&vt.A.locals&&vt.A.locals;const yt=(0,H.A)(st,(function(){var t=this,e=t._self._c;return t.storageStats?e("NcAppNavigationItem",{staticClass:"app-navigation-entry__settings-quota",class:{"app-navigation-entry__settings-quota--not-unlimited":t.storageStats.quota>=0},attrs:{"aria-label":t.t("files","Storage informations"),loading:t.loadingStorageStats,name:t.storageStatsTitle,title:t.storageStatsTooltip,"data-cy-files-navigation-settings-quota":""},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.debounceUpdateStorageStats.apply(null,arguments)}}},[e("ChartPie",{attrs:{slot:"icon",size:20},slot:"icon"}),t._v(" "),t.storageStats.quota>=0?e("NcProgressBar",{attrs:{slot:"extra",error:t.storageStats.relative>80,value:Math.min(t.storageStats.relative,100)},slot:"extra"}):t._e()],1):t._e()}),[],!1,null,"063ed938",null).exports;var At=s(39033),bt=s(35845),Ct=s(32073);const _t={name:"ClipboardIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Tt=(0,H.A)(_t,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clipboard-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var xt=s(8369);const St={name:"Setting",props:{el:{type:Function,required:!0}},mounted(){this.$el.appendChild(this.el())}},kt=(0,H.A)(St,(function(){return(0,this._self._c)("div")}),[],!1,null,null,null).exports,Lt=(0,Q.C)("files","config",{show_hidden:!1,crop_image_previews:!0,sort_favorites_first:!0,sort_folders_first:!0,grid_view:!1}),Et=function(){const t=(0,r.nY)("userconfig",{state:()=>({userConfig:Lt}),actions:{onUpdate(t,e){l.Ay.set(this.userConfig,t,e)},async update(t,e){await X.A.put((0,d.Jv)("/apps/files/api/v1/config/"+t),{value:e}),(0,z.Ic)("files:config:updated",{key:t,value:e})}}})(...arguments);return t._initialized||((0,z.B1)("files:config:updated",(function(e){let{key:n,value:s}=e;t.onUpdate(n,s)})),t._initialized=!0),t},Nt={name:"Settings",components:{Clipboard:Tt,NcAppSettingsDialog:At.N,NcAppSettingsSection:bt.A,NcCheckboxRadioSwitch:Ct.A,NcInputField:xt.A,Setting:kt},props:{open:{type:Boolean,default:!1}},setup:()=>({userConfigStore:Et()}),data(){var t,e,n;return{settings:(null===(t=window.OCA)||void 0===t||null===(t=t.Files)||void 0===t||null===(t=t.Settings)||void 0===t?void 0:t.settings)||[],webdavUrl:(0,d.dC)("dav/files/"+encodeURIComponent(null===(e=(0,o.HW)())||void 0===e?void 0:e.uid)),webdavDocs:"https://docs.nextcloud.com/server/stable/go.php?to=user-webdav",appPasswordUrl:(0,d.Jv)("/settings/user/security#generate-app-token-section"),webdavUrlCopied:!1,enableGridView:null===(n=(0,Q.C)("core","config",[])["enable_non-accessible_features"])||void 0===n||n}},computed:{userConfig(){return this.userConfigStore.userConfig}},beforeMount(){this.settings.forEach((t=>t.open()))},beforeDestroy(){this.settings.forEach((t=>t.close()))},methods:{onClose(){this.$emit("close")},setConfig(t,e){this.userConfigStore.update(t,e)},async copyCloudId(){document.querySelector("input#webdav-url-input").select(),navigator.clipboard?(await navigator.clipboard.writeText(this.webdavUrl),this.webdavUrlCopied=!0,(0,J.Te)(t("files","WebDAV URL copied to clipboard")),setTimeout((()=>{this.webdavUrlCopied=!1}),5e3)):(0,J.Qg)(t("files","Clipboard is not available"))},t:V.Tl}},Ft=Nt;var Pt=s(60335),It={};It.styleTagTransform=ht(),It.setAttributes=mt(),It.insert=dt().bind(null,"head"),It.domAPI=lt(),It.insertStyleElement=gt(),at()(Pt.A,It),Pt.A&&Pt.A.locals&&Pt.A.locals;const Dt=(0,H.A)(Ft,(function(){var t=this,e=t._self._c;return e("NcAppSettingsDialog",{attrs:{open:t.open,"show-navigation":!0,name:t.t("files","Files settings")},on:{"update:open":t.onClose}},[e("NcAppSettingsSection",{attrs:{id:"settings",name:t.t("files","Files settings")}},[e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-settings-setting":"sort_favorites_first",checked:t.userConfig.sort_favorites_first},on:{"update:checked":function(e){return t.setConfig("sort_favorites_first",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Sort favorites first"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-settings-setting":"sort_folders_first",checked:t.userConfig.sort_folders_first},on:{"update:checked":function(e){return t.setConfig("sort_folders_first",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Sort folders before files"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-settings-setting":"show_hidden",checked:t.userConfig.show_hidden},on:{"update:checked":function(e){return t.setConfig("show_hidden",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Show hidden files"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-settings-setting":"crop_image_previews",checked:t.userConfig.crop_image_previews},on:{"update:checked":function(e){return t.setConfig("crop_image_previews",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Crop image previews"))+"\n\t\t")]),t._v(" "),t.enableGridView?e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-settings-setting":"grid_view",checked:t.userConfig.grid_view},on:{"update:checked":function(e){return t.setConfig("grid_view",e)}}},[t._v("\n\t\t\t"+t._s(t.t("files","Enable the grid view"))+"\n\t\t")]):t._e()],1),t._v(" "),0!==t.settings.length?e("NcAppSettingsSection",{attrs:{id:"more-settings",name:t.t("files","Additional settings")}},[t._l(t.settings,(function(t){return[e("Setting",{key:t.name,attrs:{el:t.el}})]}))],2):t._e(),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"webdav",name:t.t("files","WebDAV")}},[e("NcInputField",{attrs:{id:"webdav-url-input",label:t.t("files","WebDAV URL"),"show-trailing-button":!0,success:t.webdavUrlCopied,"trailing-button-label":t.t("files","Copy to clipboard"),value:t.webdavUrl,readonly:"readonly",type:"url"},on:{focus:function(t){return t.target.select()},"trailing-button-click":t.copyCloudId},scopedSlots:t._u([{key:"trailing-button-icon",fn:function(){return[e("Clipboard",{attrs:{size:20}})]},proxy:!0}])}),t._v(" "),e("em",[e("a",{staticClass:"setting-link",attrs:{href:t.webdavDocs,target:"_blank",rel:"noreferrer noopener"}},[t._v("\n\t\t\t\t"+t._s(t.t("files","Use this address to access your Files via WebDAV"))+" ↗\n\t\t\t")])]),t._v(" "),e("br"),t._v(" "),e("em",[e("a",{staticClass:"setting-link",attrs:{href:t.appPasswordUrl}},[t._v("\n\t\t\t\t"+t._s(t.t("files","If you have enabled 2FA, you must create and use a new app password by clicking here."))+" ↗\n\t\t\t")])])],1)],1)}),[],!1,null,"00f09e69",null).exports;function Ot(){const t=(0,a.bh)(),e=(0,l.IJ)(t.views),n=(0,l.IJ)(t.active);function s(t){n.value=t.detail}function i(){e.value=t.views}return(0,l.sV)((()=>{t.addEventListener("update",i),t.addEventListener("updateActive",s)})),(0,l.hi)((()=>{t.removeEventListener("update",i),t.removeEventListener("updateActive",s)})),{currentView:n,views:e}}const Ut=(0,Q.C)("files","viewConfigs",{}),Bt=function(){const t=(0,r.nY)("viewconfig",{state:()=>({viewConfig:Ut}),getters:{getConfig:t=>e=>t.viewConfig[e]||{}},actions:{onUpdate(t,e,n){this.viewConfig[t]||l.Ay.set(this.viewConfig,t,{}),l.Ay.set(this.viewConfig[t],e,n)},async update(t,e,n){X.A.put((0,d.Jv)("/apps/files/api/v1/views/".concat(t,"/").concat(e)),{value:n}),(0,z.Ic)("files:viewconfig:updated",{view:t,key:e,value:n})},setSortingBy(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"basename",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"files";this.update(e,"sorting_mode",t),this.update(e,"sorting_direction","asc")},toggleSortingDirection(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"files";const e="asc"===(this.getConfig(t)||{sorting_direction:"asc"}).sorting_direction?"desc":"asc";this.update(t,"sorting_direction",e)}}}),e=t(...arguments);return e._initialized||((0,z.B1)("files:viewconfig:updated",(function(t){let{view:n,key:s,value:i}=t;e.onUpdate(n,s,i)})),e._initialized=!0),e},Mt=(0,l.pM)({name:"Navigation",components:{IconCog:W,NavigationQuota:yt,NcAppNavigation:$.A,NcAppNavigationItem:G.A,NcIconSvgWrapper:Y.A,SettingsModal:Dt},setup(){const t=Bt(),{currentView:e,views:n}=Ot();return{currentView:e,views:n,viewConfigStore:t}},data:()=>({settingsOpened:!1}),computed:{currentViewId(){var t;return(null===(t=this.$route)||void 0===t||null===(t=t.params)||void 0===t?void 0:t.view)||"files"},parentViews(){return this.views.filter((t=>!t.parent)).sort(((t,e)=>t.order-e.order))},childViews(){return this.views.filter((t=>!!t.parent)).reduce(((t,e)=>(t[e.parent]=[...t[e.parent]||[],e],t[e.parent].sort(((t,e)=>t.order-e.order)),t)),{})}},watch:{currentViewId(t,e){var n;if(this.currentViewId!==(null===(n=this.currentView)||void 0===n?void 0:n.id)){const n=this.views.find((t=>{let{id:e}=t;return e===this.currentViewId}));this.showView(n),nt.debug("Navigation changed from ".concat(e," to ").concat(t),{to:n})}}},beforeMount(){const t=this.views.find((t=>{let{id:e}=t;return e===this.currentViewId}));this.showView(t),nt.debug("Navigation mounted. Showing requested view",{view:t})},methods:{t:V.Tl,useExactRouteMatching(t){var e;return(null===(e=this.childViews[t.id])||void 0===e?void 0:e.length)>0},showView(t){var e,n;null===(e=window.OCA)||void 0===e||null===(e=e.Files)||void 0===e||null===(e=e.Sidebar)||void 0===e||null===(n=e.close)||void 0===n||n.call(e),this.$navigation.setActive(t),(0,z.Ic)("files:navigation:changed",t)},onToggleExpand(t){const e=this.isExpanded(t);t.expanded=!e,this.viewConfigStore.update(t.id,"expanded",!e)},isExpanded(t){var e;return"boolean"==typeof(null===(e=this.viewConfigStore.getConfig(t.id))||void 0===e?void 0:e.expanded)?!0===this.viewConfigStore.getConfig(t.id).expanded:!0===t.expanded},generateToNavigation(t){if(t.params){const{dir:e}=t.params;return{name:"filelist",params:t.params,query:{dir:e}}}return{name:"filelist",params:{view:t.id}}},openSettings(){this.settingsOpened=!0},onSettingsClose(){this.settingsOpened=!1}}});var jt=s(90840),Rt={};Rt.styleTagTransform=ht(),Rt.setAttributes=mt(),Rt.insert=dt().bind(null,"head"),Rt.domAPI=lt(),Rt.insertStyleElement=gt(),at()(jt.A,Rt),jt.A&&jt.A.locals&&jt.A.locals;const zt=(0,H.A)(Mt,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcAppNavigation",{attrs:{"data-cy-files-navigation":"","aria-label":t.t("files","Files")},scopedSlots:t._u([{key:"list",fn:function(){return t._l(t.parentViews,(function(n){return e("NcAppNavigationItem",{key:n.id,attrs:{"allow-collapse":!0,"data-cy-files-navigation-item":n.id,exact:t.useExactRouteMatching(n),icon:n.iconClass,name:n.name,open:t.isExpanded(n),pinned:n.sticky,to:t.generateToNavigation(n)},on:{"update:open":function(e){return t.onToggleExpand(n)}}},[n.icon?e("NcIconSvgWrapper",{attrs:{slot:"icon",svg:n.icon},slot:"icon"}):t._e(),t._v(" "),t._l(t.childViews[n.id],(function(n){return e("NcAppNavigationItem",{key:n.id,attrs:{"data-cy-files-navigation-item":n.id,"exact-path":!0,icon:n.iconClass,name:n.name,to:t.generateToNavigation(n)}},[n.icon?e("NcIconSvgWrapper",{attrs:{slot:"icon",svg:n.icon},slot:"icon"}):t._e()],1)}))],2)}))},proxy:!0},{key:"footer",fn:function(){return[e("ul",{staticClass:"app-navigation-entry__settings"},[e("NavigationQuota"),t._v(" "),e("NcAppNavigationItem",{attrs:{"aria-label":t.t("files","Open the files app settings"),name:t.t("files","Files settings"),"data-cy-files-navigation-settings-button":""},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.openSettings.apply(null,arguments)}}},[e("IconCog",{attrs:{slot:"icon",size:20},slot:"icon"})],1)],1)]},proxy:!0}])},[t._v(" "),t._v(" "),e("SettingsModal",{attrs:{open:t.settingsOpened,"data-cy-files-navigation-settings":""},on:{close:t.onSettingsClose}})],1)}),[],!1,null,"7387953c",null).exports;var Vt=s(87485),qt=s(77905),Ht=s(63642),Wt=s(43627),$t=s(38805),Gt=s(89979);const Yt={name:"FormatListBulletedSquareIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Kt=(0,H.A)(Yt,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon format-list-bulleted-square-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Qt=s(18195),Jt=s(54332),Xt=s(34196),Zt=s(84237),te=s(27577);const ee={name:"AccountPlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ne=(0,H.A)(ee,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-plus-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,se={name:"ViewGridIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ie=(0,H.A)(se,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon view-grid-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var re=s(49981);const ae=new a.hY({id:"details",displayName:()=>(0,V.Tl)("files","Open details"),iconSvgInline:()=>re,enabled:t=>{var e,n,s;return 1===t.length&&!!t[0]&&!(null===(e=window)||void 0===e||null===(e=e.OCA)||void 0===e||null===(e=e.Files)||void 0===e||!e.Sidebar)&&null!==(n=(null===(s=t[0].root)||void 0===s?void 0:s.startsWith("/files/"))&&t[0].permissions!==a.aX.NONE)&&void 0!==n&&n},async exec(t,e,n){try{return await window.OCA.Files.Sidebar.open(t.path),window.OCP.Files.Router.goToRoute(null,{view:e.id,fileid:t.fileid},{...window.OCP.Files.Router.query,dir:n},!0),null}catch(t){return nt.error("Error while opening sidebar",{error:t}),!1}},order:-50});var oe,le=s(44719);const ce="/files/".concat(null===(oe=(0,o.HW)())||void 0===oe?void 0:oe.uid),de=(0,d.dC)("dav"+ce),ue=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:de;const e=(0,le.UU)(t),n=t=>{null==e||e.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:null!=t?t:""})};return(0,o.zo)(n),n((0,o.do)()),(0,le.Gu)().patch("fetch",((t,e)=>{const n=e.headers;return null!=n&&n.method&&(e.method=n.method,delete n.method),fetch(t,e)})),e},me=ue(),pe=async t=>{const e=(0,a.VL)(),n=await me.stat("".concat(a.lJ).concat(t.path),{details:!0,data:e});return(0,a.Al)(n.data)},ge=function(){const t=(0,r.nY)("files",{state:()=>({files:{},roots:{}}),getters:{getNode:t=>e=>t.files[e],getNodes:t=>e=>e.map((e=>t.files[e])).filter(Boolean),getNodesById:t=>e=>Object.values(t.files).filter((t=>t.fileid===e)),getRoot:t=>e=>t.roots[e]},actions:{updateNodes(t){const e=t.reduce(((t,e)=>e.fileid?(t[e.source]=e,t):(nt.error("Trying to update/set a node without fileid",{node:e}),t)),{});l.Ay.set(this,"files",{...this.files,...e})},deleteNodes(t){t.forEach((t=>{t.source&&l.Ay.delete(this.files,t.source)}))},setRoot(t){let{service:e,root:n}=t;l.Ay.set(this.roots,e,n)},onDeletedNode(t){this.deleteNodes([t])},onCreatedNode(t){this.updateNodes([t])},async onUpdatedNode(t){if(!t.fileid)return void nt.error("Trying to update/set a node without fileid",{node:t});const e=this.getNodesById(t.fileid);if(e.length>1)return await Promise.all(e.map(pe)).then(this.updateNodes),void nt.debug(e.length+" nodes updated in store",{fileid:t.fileid});t.source!==e[0].source?pe(t).then((t=>this.updateNodes([t]))):this.updateNodes([t])}}})(...arguments);return t._initialized||((0,z.B1)("files:node:created",t.onCreatedNode),(0,z.B1)("files:node:deleted",t.onDeletedNode),(0,z.B1)("files:node:updated",t.onUpdatedNode),t._initialized=!0),t},fe=function(){const t=ge(...arguments),e=(0,r.nY)("paths",{state:()=>({paths:{}}),getters:{getPath:t=>(e,n)=>{if(t.paths[e])return t.paths[e][n]}},actions:{addPath(t){this.paths[t.service]||l.Ay.set(this.paths,t.service,{}),l.Ay.set(this.paths[t.service],t.path,t.source)},onCreatedNode(e){var n;const s=(null===(n=(0,a.bh)())||void 0===n||null===(n=n.active)||void 0===n?void 0:n.id)||"files";if(e.fileid){if(e.type===a.pt.Folder&&this.addPath({service:s,path:e.path,source:e.source}),"/"===e.dirname){const n=t.getRoot(s);return n._children||l.Ay.set(n,"_children",[]),void n._children.push(e.source)}if(this.paths[s][e.dirname]){const n=this.paths[s][e.dirname],i=t.getNode(n);return nt.debug("Path already exists, updating children",{parentFolder:i,node:e}),i?(i._children||l.Ay.set(i,"_children",[]),void i._children.push(e.source)):void nt.error("Parent folder not found",{parentSource:n})}nt.debug("Parent path does not exists, skipping children update",{node:e})}else nt.error("Node has no fileid",{node:e})}}})(...arguments);return e._initialized||((0,z.B1)("files:node:created",e.onCreatedNode),e._initialized=!0),e},he=(0,r.nY)("selection",{state:()=>({selected:[],lastSelection:[],lastSelectedIndex:null}),actions:{set(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];l.Ay.set(this,"selected",[...new Set(t)])},setLastIndex(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;l.Ay.set(this,"lastSelection",t?this.selected:[]),l.Ay.set(this,"lastSelectedIndex",t)},reset(){l.Ay.set(this,"selected",[]),l.Ay.set(this,"lastSelection",[]),l.Ay.set(this,"lastSelectedIndex",null)}}});let ve;const we=function(){return ve=(0,Ht.g)(),(0,r.nY)("uploader",{state:()=>({queue:ve.queue})})(...arguments)};function ye(t){return t instanceof Date?t.toISOString():String(t)}var Ae=s(51850),be=s(86383),Ce=s(71089),_e=s(96763);class Te extends File{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];var n,s,i;super([],t,{type:"httpd/unix-directory"}),n=this,i=void 0,(s=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(s="_contents"))in n?Object.defineProperty(n,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[s]=i,this._contents=e}set contents(t){this._contents=t}get contents(){return this._contents}get size(){return this._computeDirectorySize(this)}get lastModified(){return 0===this._contents.length?Date.now():this._computeDirectoryMtime(this)}_computeDirectoryMtime(t){return t.contents.reduce(((t,e)=>e.lastModified>t?e.lastModified:t),0)}_computeDirectorySize(t){return t.contents.reduce(((t,e)=>t+e.size),0)}}const xe=async t=>{if(t.isFile)return new Promise(((e,n)=>{t.file(e,n)}));nt.debug("Handling recursive file tree",{entry:t.name});const e=t,n=await Se(e),s=(await Promise.all(n.map(xe))).flat();return new Te(e.name,s)},Se=t=>{const e=t.createReader();return new Promise(((t,n)=>{const s=[],i=()=>{e.readEntries((e=>{e.length?(s.push(...e),i()):t(s)}),(t=>{n(t)}))};i()}))},ke=async t=>{const e=(0,a.H4)();if(!await e.exists(t)){nt.debug("Directory does not exist, creating it",{absolutePath:t}),await e.createDirectory(t,{recursive:!0});const n=await e.stat(t,{details:!0,data:(0,a.VL)()});(0,z.Ic)("files:node:created",(0,a.Al)(n.data))}},Le=async(t,e,n)=>{try{const s=t.filter((t=>n.find((e=>e.basename===(t instanceof File?t.name:t.basename))))).filter(Boolean),i=t.filter((t=>!s.includes(t))),{selected:r,renamed:a}=await(0,Ht.o)(e.path,s,n);return nt.debug("Conflict resolution",{uploads:i,selected:r,renamed:a}),0===r.length&&0===a.length?((0,J.cf)((0,V.Tl)("files","Conflicts resolution skipped")),nt.info("User skipped the conflict resolution"),[]):[...i,...r,...a]}catch(t){_e.error(t),(0,J.Qg)((0,V.Tl)("files","Upload cancelled")),nt.error("User cancelled the upload")}return[]};s(18205);var Ee=s(53110),Ne=s(36882),Fe=s(39285),Pe=s(49264);let Ie;const De=()=>(Ie||(Ie=new Pe.A({concurrency:5})),Ie);var Oe;!function(t){t.MOVE="Move",t.COPY="Copy",t.MOVE_OR_COPY="move-or-copy"}(Oe||(Oe={}));const Ue=t=>0!=(t.reduce(((t,e)=>Math.min(t,e.permissions)),a.aX.ALL)&a.aX.UPDATE),Be=t=>(t=>t.every((t=>{var e,n;return!JSON.parse(null!==(e=null===(n=t.attributes)||void 0===n?void 0:n["share-attributes"])&&void 0!==e?e:"[]").some((t=>"permissions"===t.scope&&!1===t.enabled&&"download"===t.key))})))(t)&&!t.some((t=>t.permissions===a.aX.NONE));var Me=s(36117);const je=function(t){let e=0;for(let n=0;n>>0},Re=ue(),ze=function(t){var e;const n=null===(e=(0,o.HW)())||void 0===e?void 0:e.uid;if(!n)throw new Error("No user id found");const s=t.props,i=(0,a.vb)(null==s?void 0:s.permissions),r=String(s["owner-id"]||n),l=(0,d.dC)("dav"+ce+t.filename),c={id:(null==s?void 0:s.fileid)<0?je(l):(null==s?void 0:s.fileid)||0,source:l,mtime:new Date(t.lastmod),mime:t.mime||"application/octet-stream",size:(null==s?void 0:s.size)||0,permissions:i,owner:r,root:ce,attributes:{...t,...s,"owner-id":r,"owner-display-name":String(s["owner-display-name"]),hasPreview:!(null==s||!s["has-preview"]),failed:(null==s?void 0:s.fileid)<0}};return delete c.attributes.props,"file"===t.type?new a.ZH(c):new a.vd(c)},Ve=t=>Ue(t)?Be(t)?Oe.MOVE_OR_COPY:Oe.MOVE:Oe.COPY,qe=async function(t,e,n){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e)return;if(e.type!==a.pt.Folder)throw new Error((0,V.Tl)("files","Destination is not a folder"));if(n===Oe.MOVE&&t.dirname===e.path)throw new Error((0,V.Tl)("files","This file/folder is already in that directory"));if("".concat(e.path,"/").startsWith("".concat(t.path,"/")))throw new Error((0,V.Tl)("files","You cannot move a file/folder onto itself or into a subfolder of itself"));l.Ay.set(t,"status",a.zI.LOADING);const i=De();return await i.add((async()=>{const i=t=>1===t?(0,V.Tl)("files","(copy)"):(0,V.Tl)("files","(copy %n)",void 0,t);try{const r=(0,a.H4)(),o=(0,Wt.join)(a.lJ,t.path),l=(0,Wt.join)(a.lJ,e.path);if(n===Oe.COPY){let n=t.basename;if(!s){const e=await r.getDirectoryContents(l);n=(0,a.E6)(t.basename,e.map((t=>t.basename)),{suffix:i,ignoreFileExtension:t.type===a.pt.Folder})}if(await r.copyFile(o,(0,Wt.join)(l,n)),t.dirname===e.path){const{data:t}=await r.stat((0,Wt.join)(l,n),{details:!0,data:(0,a.VL)()});(0,z.Ic)("files:node:created",(0,a.Al)(t))}}else{const n=await function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";const e=new AbortController,n=(0,a.VL)();return new Me.CancelablePromise((async(s,i,r)=>{r((()=>e.abort()));try{const i=await Re.getDirectoryContents(t,{details:!0,data:n,includeSelf:!0,signal:e.signal}),r=i.data[0],a=i.data.slice(1);if(r.filename!==t)throw new Error("Root node does not match requested path");s({folder:ze(r),contents:a.map((t=>{try{return ze(t)}catch(e){return nt.error("Invalid node detected '".concat(t.basename,"'"),{error:e}),null}})).filter(Boolean)})}catch(t){i(t)}}))}(e.path);if((0,Ht.h)([t],n.contents))try{const{selected:s,renamed:i}=await(0,Ht.o)(e.path,[t],n.contents);if(!s.length&&!i.length)return}catch(t){return void(0,J.Qg)((0,V.Tl)("files","Move cancelled"))}await r.moveFile(o,(0,Wt.join)(l,t.basename)),(0,z.Ic)("files:node:deleted",t)}}catch(t){if(t instanceof Ee.pe){var r,o,c;if(412===(null==t||null===(r=t.response)||void 0===r?void 0:r.status))throw new Error((0,V.Tl)("files","A file or folder with that name already exists in this folder"));if(423===(null==t||null===(o=t.response)||void 0===o?void 0:o.status))throw new Error((0,V.Tl)("files","The files are locked"));if(404===(null==t||null===(c=t.response)||void 0===c?void 0:c.status))throw new Error((0,V.Tl)("files","The file does not exist anymore"));if(t.message)throw new Error(t.message)}throw nt.debug(t),new Error}finally{l.Ay.set(t,"status",void 0)}}))},He=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",n=arguments.length>2?arguments[2]:void 0;const s=n.map((t=>t.fileid)).filter(Boolean),i=(0,J.a1)((0,V.Tl)("files","Choose destination")).allowDirectories(!0).setFilter((t=>!s.includes(t.fileid))).setMimeTypeFilter([]).setMultiSelect(!1).startAt(e);return new Promise(((e,s)=>{i.setButtonFactory(((s,i)=>{const r=[],a=(0,Wt.basename)(i),o=n.map((t=>t.dirname)),l=n.map((t=>t.path));return t!==Oe.COPY&&t!==Oe.MOVE_OR_COPY||r.push({label:a?(0,V.Tl)("files","Copy to {target}",{target:a},void 0,{escape:!1,sanitize:!1}):(0,V.Tl)("files","Copy"),type:"primary",icon:Ne,async callback(t){e({destination:t[0],action:Oe.COPY})}}),o.includes(i)||l.includes(i)||t!==Oe.MOVE&&t!==Oe.MOVE_OR_COPY||r.push({label:a?(0,V.Tl)("files","Move to {target}",{target:a},void 0,{escape:!1,sanitize:!1}):(0,V.Tl)("files","Move"),type:t===Oe.MOVE?"primary":"secondary",icon:Fe,async callback(t){e({destination:t[0],action:Oe.MOVE})}}),r})),i.build().pick().catch((t=>{nt.debug(t),t instanceof J.vT?s(new Error((0,V.Tl)("files","Cancelled move or copy operation"))):s(new Error((0,V.Tl)("files","Move or copy operation failed")))}))}))};new a.hY({id:"move-copy",displayName(t){switch(Ve(t)){case Oe.MOVE:return(0,V.Tl)("files","Move");case Oe.COPY:return(0,V.Tl)("files","Copy");case Oe.MOVE_OR_COPY:return(0,V.Tl)("files","Move or copy")}},iconSvgInline:()=>Fe,enabled:t=>!!t.every((t=>{var e;return null===(e=t.root)||void 0===e?void 0:e.startsWith("/files/")}))&&t.length>0&&(Ue(t)||Be(t)),async exec(t,e,n){const s=Ve([t]);let i;try{i=await He(s,n,[t])}catch(t){return nt.error(t),!1}try{return await qe(t,i.destination,i.action),!0}catch(t){return!!(t instanceof Error&&t.message)&&((0,J.Qg)(t.message),null)}},async execBatch(t,e,n){const s=Ve(t),i=await He(s,n,t),r=t.map((async t=>{try{return await qe(t,i.destination,i.action),!0}catch(e){return nt.error("Failed to ".concat(i.action," node"),{node:t,error:e}),!1}}));return await Promise.all(r)},order:15});var We=s(96763);const $e=async t=>{const e=t.filter((t=>"file"===t.kind||(nt.debug("Skipping dropped item",{kind:t.kind,type:t.type}),!1))).map((t=>{var e,n,s,i;return null!==(e=null!==(n=null==t||null===(s=t.getAsEntry)||void 0===s?void 0:s.call(t))&&void 0!==n?n:null==t||null===(i=t.webkitGetAsEntry)||void 0===i?void 0:i.call(t))&&void 0!==e?e:t}));let n=!1;const s=new Te("root");for(const t of e)if(t instanceof DataTransferItem){nt.warn("Could not get FilesystemEntry of item, falling back to file");const e=t.getAsFile();if(null===e){nt.warn("Could not process DataTransferItem",{type:t.type,kind:t.kind}),(0,J.Qg)((0,V.Tl)("files","One of the dropped files could not be processed"));continue}if("httpd/unix-directory"===e.type||!e.type){n||(nt.warn("Browser does not support Filesystem API. Directories will not be uploaded"),(0,J.I9)((0,V.Tl)("files","Your browser does not support the Filesystem API. Directories will not be uploaded")),n=!0);continue}s.contents.push(e)}else try{s.contents.push(await xe(t))}catch(t){nt.error("Error while traversing file tree",{error:t})}return s},Ge=async(t,e,n)=>{const s=(0,Ht.g)();if(await(0,Ht.h)(t.contents,n)&&(t.contents=await Le(t.contents,e,n)),0===t.contents.length)return nt.info("No files to upload",{root:t}),(0,J.cf)((0,V.Tl)("files","No files to upload")),[];nt.debug("Uploading files to ".concat(e.path),{root:t,contents:t.contents});const i=[],r=async(t,n)=>{for(const o of t.contents){const t=(0,Wt.join)(n,o.name);if(o instanceof Te){const n=(0,Ce.HS)(a.lJ,e.path,t);try{We.debug("Processing directory",{relativePath:t}),await ke(n),await r(o,t)}catch(t){(0,J.Qg)((0,V.Tl)("files","Unable to create the directory {directory}",{directory:o.name})),nt.error("",{error:t,absolutePath:n,directory:o})}}else nt.debug("Uploading file to "+(0,Wt.join)(e.path,t),{file:o}),i.push(s.upload(t,o,e.source))}};s.pause(),await r(t,"/"),s.start();const o=(await Promise.allSettled(i)).filter((t=>"rejected"===t.status));return o.length>0?(nt.error("Error while uploading files",{errors:o}),(0,J.Qg)((0,V.Tl)("files","Some files could not be uploaded")),[]):(nt.debug("Files uploaded successfully"),(0,J.Te)((0,V.Tl)("files","Files uploaded successfully")),Promise.all(i))},Ye=async function(t,e,n){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=[];if(await(0,Ht.h)(t,n)&&(t=await Le(t,e,n)),0===t.length)return nt.info("No files to process",{nodes:t}),void(0,J.cf)((0,V.Tl)("files","No files to process"));for(const n of t)l.Ay.set(n,"status",a.zI.LOADING),i.push(qe(n,e,s?Oe.COPY:Oe.MOVE));const r=await Promise.allSettled(i);t.forEach((t=>l.Ay.set(t,"status",void 0)));const o=r.filter((t=>"rejected"===t.status));if(o.length>0)return nt.error("Error while copying or moving files",{errors:o}),void(0,J.Qg)(s?(0,V.Tl)("files","Some files could not be copied"):(0,V.Tl)("files","Some files could not be moved"));nt.debug("Files copy/move successful"),(0,J.Te)(s?(0,V.Tl)("files","Files copied successfully"):(0,V.Tl)("files","Files moved successfully"))},Ke=(0,r.nY)("dragging",{state:()=>({dragging:[]}),actions:{set(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];l.Ay.set(this,"dragging",t)},reset(){l.Ay.set(this,"dragging",[])}}}),Qe=l.Ay.extend({data:()=>({filesListWidth:null}),mounted(){var t;const e=document.querySelector("#app-content-vue");this.filesListWidth=null!==(t=null==e?void 0:e.clientWidth)&&void 0!==t?t:null,this.$resizeObserver=new ResizeObserver((t=>{t.length>0&&t[0].target===e&&(this.filesListWidth=t[0].contentRect.width)})),this.$resizeObserver.observe(e)},beforeDestroy(){this.$resizeObserver.disconnect()}}),Je=(0,l.pM)({name:"BreadCrumbs",components:{NcBreadcrumbs:be.N,NcBreadcrumb:Ae.N,NcIconSvgWrapper:Y.A},mixins:[Qe],props:{path:{type:String,default:"/"}},setup(){const t=Ke(),e=ge(),n=fe(),s=he(),i=we(),{currentView:r}=Ot();return{draggingStore:t,filesStore:e,pathsStore:n,selectionStore:s,uploaderStore:i,currentView:r}},computed:{dirs(){var t;return["/",...this.path.split("/").filter(Boolean).map((t="/",e=>t+="".concat(e,"/"))).map((t=>t.replace(/^(.+)\/$/,"$1")))]},sections(){return this.dirs.map(((t,e)=>{const n=this.getFileSourceFromPath(t),s=n?this.getNodeFromSource(n):void 0,i={...this.$route,params:{node:null==s?void 0:s.fileid},query:{dir:t}};return{dir:t,exact:!0,name:this.getDirDisplayName(t),to:i,disableDrop:e===this.dirs.length-1}}))},isUploadInProgress(){return 0!==this.uploaderStore.queue.length},wrapUploadProgressBar(){return this.isUploadInProgress&&this.filesListWidth<512},viewIcon(){var t,e;return null!==(t=null===(e=this.currentView)||void 0===e?void 0:e.icon)&&void 0!==t?t:''},selectedFiles(){return this.selectionStore.selected},draggingFiles(){return this.draggingStore.dragging}},methods:{getNodeFromSource(t){return this.filesStore.getNode(t)},getFileSourceFromPath(t){var e;return null!==(e=this.currentView&&this.pathsStore.getPath(this.currentView.id,t))&&void 0!==e?e:null},getDirDisplayName(t){var e,n;if("/"===t)return(null===(n=this.$navigation)||void 0===n||null===(n=n.active)||void 0===n?void 0:n.name)||(0,V.Tl)("files","Home");const s=this.getFileSourceFromPath(t),i=s?this.getNodeFromSource(s):void 0;return(null==i||null===(e=i.attributes)||void 0===e?void 0:e.displayname)||(0,Wt.basename)(t)},onClick(t){var e;(null==t||null===(e=t.query)||void 0===e?void 0:e.dir)===this.$route.query.dir&&this.$emit("reload")},onDragOver(t,e){t.dataTransfer&&(e!==this.dirs[this.dirs.length-1]?t.ctrlKey?t.dataTransfer.dropEffect="copy":t.dataTransfer.dropEffect="move":t.dataTransfer.dropEffect="none")},async onDrop(t,e){var n,s,i;if(!(this.draggingFiles||null!==(n=t.dataTransfer)&&void 0!==n&&null!==(n=n.items)&&void 0!==n&&n.length))return;t.preventDefault();const r=this.draggingFiles,o=[...(null===(s=t.dataTransfer)||void 0===s?void 0:s.items)||[]],l=await $e(o),c=await(null===(i=this.currentView)||void 0===i?void 0:i.getContents(e)),d=null==c?void 0:c.folder;if(!d)return void(0,J.Qg)(this.t("files","Target folder does not exist any more"));const u=0!=(d.permissions&a.aX.CREATE),m=t.ctrlKey;if(!u||0!==t.button)return;if(nt.debug("Dropped",{event:t,folder:d,selection:r,fileTree:l}),l.contents.length>0)return void await Ge(l,d,c.contents);const p=r.map((t=>this.filesStore.getNode(t)));await Ye(p,d,c.contents,m),r.some((t=>this.selectedFiles.includes(t)))&&(nt.debug("Dropped selection, resetting select store..."),this.selectionStore.reset())},titleForSection(t,e){var n;return(null==e||null===(n=e.to)||void 0===n||null===(n=n.query)||void 0===n?void 0:n.dir)===this.$route.query.dir?(0,V.Tl)("files","Reload current directory"):0===t?(0,V.Tl)("files",'Go to the "{dir}" directory',e):null},ariaForSection(t){var e;return(null==t||null===(e=t.to)||void 0===e||null===(e=e.query)||void 0===e?void 0:e.dir)===this.$route.query.dir?(0,V.Tl)("files","Reload current directory"):null},t:V.Tl}});var Xe=s(67430),Ze={};Ze.styleTagTransform=ht(),Ze.setAttributes=mt(),Ze.insert=dt().bind(null,"head"),Ze.domAPI=lt(),Ze.insertStyleElement=gt(),at()(Xe.A,Ze),Xe.A&&Xe.A.locals&&Xe.A.locals;const tn=(0,H.A)(Je,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcBreadcrumbs",{staticClass:"files-list__breadcrumbs",class:{"files-list__breadcrumbs--with-progress":t.wrapUploadProgressBar},attrs:{"data-cy-files-content-breadcrumbs":"","aria-label":t.t("files","Current directory path")},scopedSlots:t._u([{key:"actions",fn:function(){return[t._t("actions")]},proxy:!0}],null,!0)},t._l(t.sections,(function(n,s){return e("NcBreadcrumb",t._b({key:n.dir,attrs:{dir:"auto",to:n.to,"force-icon-text":0===s&&t.filesListWidth>=486,title:t.titleForSection(s,n),"aria-description":t.ariaForSection(n)},on:{drop:function(e){return t.onDrop(e,n.dir)}},nativeOn:{click:function(e){return t.onClick(n.to)},dragover:function(e){return t.onDragOver(e,n.dir)}},scopedSlots:t._u([0===s?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{size:20,svg:t.viewIcon}})]},proxy:!0}:null],null,!0)},"NcBreadcrumb",n,!1))})),1)}),[],!1,null,"77111ada",null).exports,en=t=>{const e=t.filter((t=>t.type===a.pt.File)).length,n=t.filter((t=>t.type===a.pt.Folder)).length;return 0===e?(0,V.zw)("files","{folderCount} folder","{folderCount} folders",n,{folderCount:n}):0===n?(0,V.zw)("files","{fileCount} file","{fileCount} files",e,{fileCount:e}):1===e?(0,V.zw)("files","1 file and {folderCount} folder","1 file and {folderCount} folders",n,{folderCount:n}):1===n?(0,V.zw)("files","{fileCount} file and 1 folder","{fileCount} files and 1 folder",e,{fileCount:e}):(0,V.Tl)("files","{fileCount} files and {folderCount} folders",{fileCount:e,folderCount:n})};var nn=s(51651);const sn=(0,r.nY)("actionsmenu",{state:()=>({opened:null})}),rn=function(){const t=(0,r.nY)("renaming",{state:()=>({renamingNode:void 0,newName:""})})(...arguments);return t._initialized||((0,z.B1)("files:node:rename",(function(e){t.renamingNode=e,t.newName=e.basename})),t._initialized=!0),t};var an=s(55042);const on={name:"FileMultipleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ln=(0,H.A)(on,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-multiple-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var cn=s(11358);const dn=l.Ay.extend({name:"DragAndDropPreview",components:{FileMultipleIcon:ln,FolderIcon:cn.A},data:()=>({nodes:[]}),computed:{isSingleNode(){return 1===this.nodes.length},isSingleFolder(){return this.isSingleNode&&this.nodes[0].type===a.pt.Folder},name(){return this.size?"".concat(this.summary," – ").concat(this.size):this.summary},size(){const t=this.nodes.reduce(((t,e)=>t+e.size||0),0),e=parseInt(t,10)||0;return"number"!=typeof e||e<0?null:(0,a.v7)(e,!0)},summary(){if(this.isSingleNode){var t;const e=this.nodes[0];return(null===(t=e.attributes)||void 0===t?void 0:t.displayname)||e.basename}return en(this.nodes)}},methods:{update(t){this.nodes=t,this.$refs.previewImg.replaceChildren(),t.slice(0,3).forEach((t=>{const e=document.querySelector('[data-cy-files-list-row-fileid="'.concat(t.fileid,'"] .files-list__row-icon img'));e&&this.$refs.previewImg.appendChild(e.parentNode.cloneNode(!0))})),this.$nextTick((()=>{this.$emit("loaded",this.$el)}))}}}),un=dn;var mn=s(76810),pn={};pn.styleTagTransform=ht(),pn.setAttributes=mt(),pn.insert=dt().bind(null,"head"),pn.domAPI=lt(),pn.insertStyleElement=gt(),at()(mn.A,pn),mn.A&&mn.A.locals&&mn.A.locals;const gn=(0,H.A)(un,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list-drag-image"},[e("span",{staticClass:"files-list-drag-image__icon"},[e("span",{ref:"previewImg"}),t._v(" "),t.isSingleFolder?e("FolderIcon"):e("FileMultipleIcon")],1),t._v(" "),e("span",{staticClass:"files-list-drag-image__name"},[t._v(t._s(t.name))])])}),[],!1,null,null,null).exports,fn=l.Ay.extend(gn);let hn;l.Ay.directive("onClickOutside",an.z0);const vn=(0,l.pM)({props:{source:{type:[a.vd,a.ZH,a.bP],required:!0},nodes:{type:Array,required:!0},filesListWidth:{type:Number,default:0}},data:()=>({loading:"",dragover:!1,gridMode:!1}),computed:{currentDir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t||null===(t=t.dir)||void 0===t?void 0:t.toString())||"/").replace(/^(.+)\/$/,"$1")},currentFileId(){var t,e;return(null===(t=this.$route.params)||void 0===t?void 0:t.fileid)||(null===(e=this.$route.query)||void 0===e?void 0:e.fileid)||null},fileid(){var t;return null===(t=this.source)||void 0===t?void 0:t.fileid},uniqueId(){return je(this.source.source)},isLoading(){return this.source.status===a.zI.LOADING},extension(){var t;return null!==(t=this.source.attributes)&&void 0!==t&&t.displayname?(0,Wt.extname)(this.source.attributes.displayname):this.source.extension||""},displayName(){const t=this.extension,e=String(this.source.attributes.displayname||this.source.basename);return t?e.slice(0,0-t.length):e},draggingFiles(){return this.draggingStore.dragging},selectedFiles(){return this.selectionStore.selected},isSelected(){return this.selectedFiles.includes(this.source.source)},isRenaming(){return this.renamingStore.renamingNode===this.source},isRenamingSmallScreen(){return this.isRenaming&&this.filesListWidth<512},isActive(){return String(this.fileid)===String(this.currentFileId)},canDrag(){if(this.isRenaming)return!1;const t=t=>0!=((null==t?void 0:t.permissions)&a.aX.UPDATE);return this.selectedFiles.length>0?this.selectedFiles.map((t=>this.filesStore.getNode(t))).every(t):t(this.source)},canDrop(){return this.source.type===a.pt.Folder&&!this.draggingFiles.includes(this.source.source)&&0!=(this.source.permissions&a.aX.CREATE)},openedMenu:{get(){return this.actionsMenuStore.opened===this.uniqueId.toString()},set(t){this.actionsMenuStore.opened=t?this.uniqueId.toString():null}},isRenaming(){return this.renamingStore.renamingNode===this.source}},watch:{source(t,e){t.source!==e.source&&this.resetState()}},beforeDestroy(){this.resetState()},methods:{resetState(){var t,e;this.loading="",null===(t=this.$refs)||void 0===t||null===(t=t.preview)||void 0===t||null===(e=t.reset)||void 0===e||e.call(t),this.openedMenu=!1},onRightClick(t){if(this.openedMenu)return;if(this.gridMode){var e;const t=null===(e=this.$el)||void 0===e?void 0:e.closest("main.app-content");t.style.removeProperty("--mouse-pos-x"),t.style.removeProperty("--mouse-pos-y")}else{var n;const e=null===(n=this.$el)||void 0===n?void 0:n.closest("main.app-content"),s=e.getBoundingClientRect();e.style.setProperty("--mouse-pos-x",Math.max(0,t.clientX-s.left-200)+"px"),e.style.setProperty("--mouse-pos-y",Math.max(0,t.clientY-s.top)+"px")}const s=this.selectedFiles.length>1;this.actionsMenuStore.opened=this.isSelected&&s?"global":this.uniqueId.toString(),t.preventDefault(),t.stopPropagation()},execDefaultAction(t){if(!(this.isRenaming||t.button>1))return t.ctrlKey||t.metaKey||1===t.button?(t.preventDefault(),window.open((0,d.Jv)("/f/{fileId}",{fileId:this.fileid})),!1):void this.$refs.actions.execDefaultAction(t)},openDetailsIfAvailable(t){var e;t.preventDefault(),t.stopPropagation(),null!=ae&&null!==(e=ae.enabled)&&void 0!==e&&e.call(ae,[this.source],this.currentView)&&ae.exec(this.source,this.currentView,this.currentDir)},onDragOver(t){this.dragover=this.canDrop,this.canDrop?t.ctrlKey?t.dataTransfer.dropEffect="copy":t.dataTransfer.dropEffect="move":t.dataTransfer.dropEffect="none"},onDragLeave(t){const e=t.currentTarget;null!=e&&e.contains(t.relatedTarget)||(this.dragover=!1)},async onDragStart(t){var e,n,s;if(t.stopPropagation(),!this.canDrag||!this.fileid)return t.preventDefault(),void t.stopPropagation();nt.debug("Drag started",{event:t}),null===(e=t.dataTransfer)||void 0===e||null===(n=e.clearData)||void 0===n||n.call(e),this.renamingStore.$reset(),this.selectedFiles.includes(this.source.source)?this.draggingStore.set(this.selectedFiles):this.draggingStore.set([this.source.source]);const i=this.draggingStore.dragging.map((t=>this.filesStore.getNode(t))),r=await(async t=>new Promise((e=>{hn||(hn=(new fn).$mount(),document.body.appendChild(hn.$el)),hn.update(t),hn.$on("loaded",(()=>{e(hn.$el),hn.$off("loaded")}))})))(i);null===(s=t.dataTransfer)||void 0===s||s.setDragImage(r,-10,-10)},onDragEnd(){this.draggingStore.reset(),this.dragover=!1,nt.debug("Drag ended")},async onDrop(t){var e,n,s;if(!(this.draggingFiles||null!==(e=t.dataTransfer)&&void 0!==e&&null!==(e=e.items)&&void 0!==e&&e.length))return;t.preventDefault(),t.stopPropagation();const i=this.draggingFiles,r=[...(null===(n=t.dataTransfer)||void 0===n?void 0:n.items)||[]],a=await $e(r),o=await(null===(s=this.currentView)||void 0===s?void 0:s.getContents(this.source.path)),l=null==o?void 0:o.folder;if(!l)return void(0,J.Qg)(this.t("files","Target folder does not exist any more"));if(!this.canDrop||t.button)return;const c=t.ctrlKey;if(this.dragover=!1,nt.debug("Dropped",{event:t,folder:l,selection:i,fileTree:a}),a.contents.length>0)return void await Ge(a,l,o.contents);const d=i.map((t=>this.filesStore.getNode(t)));await Ye(d,l,o.contents,c),i.some((t=>this.selectedFiles.includes(t)))&&(nt.debug("Dropped selection, resetting select store..."),this.selectionStore.reset())},t:V.Tl}});var wn=s(4604);const yn={name:"CustomElementRender",props:{source:{type:Object,required:!0},currentView:{type:Object,required:!0},render:{type:Function,required:!0}},watch:{source(){this.updateRootElement()},currentView(){this.updateRootElement()}},mounted(){this.updateRootElement()},methods:{async updateRootElement(){const t=await this.render(this.source,this.currentView);t?this.$el.replaceChildren(t):this.$el.replaceChildren()}}},An=(0,H.A)(yn,(function(){return(0,this._self._c)("span")}),[],!1,null,null,null).exports;var bn=s(89257),Cn=s(24764),_n=s(80114);const Tn={name:"ArrowLeftIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},xn=(0,H.A)(Tn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon arrow-left-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Sn=(0,a.qK)(),kn=(0,l.pM)({name:"FileEntryActions",components:{ArrowLeftIcon:xn,CustomElementRender:An,NcActionButton:bn.A,NcActions:Cn.A,NcActionSeparator:_n.A,NcIconSvgWrapper:Y.A,NcLoadingIcon:Zt.A},props:{filesListWidth:{type:Number,required:!0},loading:{type:String,required:!0},opened:{type:Boolean,default:!1},source:{type:Object,required:!0},gridMode:{type:Boolean,default:!1}},setup(){const{currentView:t}=Ot();return{currentView:t}},data:()=>({openedSubmenu:null}),computed:{currentDir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t||null===(t=t.dir)||void 0===t?void 0:t.toString())||"/").replace(/^(.+)\/$/,"$1")},isLoading(){return this.source.status===a.zI.LOADING},enabledActions(){return this.source.attributes.failed?[]:Sn.filter((t=>!t.enabled||t.enabled([this.source],this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0)))},enabledInlineActions(){return this.filesListWidth<768||this.gridMode?[]:this.enabledActions.filter((t=>{var e;return null==t||null===(e=t.inline)||void 0===e?void 0:e.call(t,this.source,this.currentView)}))},enabledRenderActions(){return this.gridMode?[]:this.enabledActions.filter((t=>"function"==typeof t.renderInline))},enabledDefaultActions(){return this.enabledActions.filter((t=>!(null==t||!t.default)))},enabledMenuActions(){if(this.openedSubmenu)return this.enabledInlineActions;const t=[...this.enabledInlineActions,...this.enabledActions.filter((t=>t.default!==a.m9.HIDDEN&&"function"!=typeof t.renderInline))].filter(((t,e,n)=>e===n.findIndex((e=>e.id===t.id)))),e=t.filter((t=>!t.parent)).map((t=>t.id));return t.filter((t=>!(t.parent&&e.includes(t.parent))))},enabledSubmenuActions(){return this.enabledActions.filter((t=>t.parent)).reduce(((t,e)=>(t[e.parent]||(t[e.parent]=[]),t[e.parent].push(e),t)),{})},openedMenu:{get(){return this.opened},set(t){this.$emit("update:opened",t)}},getBoundariesElement:()=>document.querySelector(".app-content > .files-list"),mountType(){return this.source.attributes["mount-type"]}},methods:{actionDisplayName(t){if((this.gridMode||this.filesListWidth<768&&t.inline)&&"function"==typeof t.title){const e=t.title([this.source],this.currentView);if(e)return e}return t.displayName([this.source],this.currentView)},async onActionClick(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.isLoading||""!==this.loading)return;if(this.enabledSubmenuActions[t.id])return void(this.openedSubmenu=t);const n=t.displayName([this.source],this.currentView);try{this.$emit("update:loading",t.id),this.$set(this.source,"status",a.zI.LOADING);const e=await t.exec(this.source,this.currentView,this.currentDir);if(null==e)return;if(e)return void(0,J.Te)((0,V.Tl)("files",'"{displayName}" action executed successfully',{displayName:n}));(0,J.Qg)((0,V.Tl)("files",'"{displayName}" action failed',{displayName:n}))}catch(e){nt.error("Error while executing action",{action:t,e}),(0,J.Qg)((0,V.Tl)("files",'"{displayName}" action failed',{displayName:n}))}finally{this.$emit("update:loading",""),this.$set(this.source,"status",void 0),e&&(this.openedSubmenu=null)}},execDefaultAction(t){this.enabledDefaultActions.length>0&&(t.preventDefault(),t.stopPropagation(),this.enabledDefaultActions[0].exec(this.source,this.currentView,this.currentDir))},isMenu(t){var e;return(null===(e=this.enabledSubmenuActions[t])||void 0===e?void 0:e.length)>0},async onBackToMenuClick(t){this.openedSubmenu=null,await this.$nextTick(),this.$nextTick((()=>{var e;const n=null===(e=this.$refs["action-".concat(t.id)])||void 0===e?void 0:e[0];var s;n&&(null===(s=n.$el.querySelector("button"))||void 0===s||s.focus())}))},t:V.Tl}}),Ln=kn;var En=s(37546),Nn={};Nn.styleTagTransform=ht(),Nn.setAttributes=mt(),Nn.insert=dt().bind(null,"head"),Nn.domAPI=lt(),Nn.insertStyleElement=gt(),at()(En.A,Nn),En.A&&En.A.locals&&En.A.locals;var Fn=s(48846),Pn={};Pn.styleTagTransform=ht(),Pn.setAttributes=mt(),Pn.insert=dt().bind(null,"head"),Pn.domAPI=lt(),Pn.insertStyleElement=gt(),at()(Fn.A,Pn),Fn.A&&Fn.A.locals&&Fn.A.locals;var In=(0,H.A)(Ln,(function(){var t,e,n=this,s=n._self._c;return n._self._setupProxy,s("td",{staticClass:"files-list__row-actions",attrs:{"data-cy-files-list-row-actions":""}},[n._l(n.enabledRenderActions,(function(t){return s("CustomElementRender",{key:t.id,staticClass:"files-list__row-action--inline",class:"files-list__row-action-"+t.id,attrs:{"current-view":n.currentView,render:t.renderInline,source:n.source}})})),n._v(" "),s("NcActions",{ref:"actionsMenu",attrs:{"boundaries-element":n.getBoundariesElement,container:n.getBoundariesElement,"force-name":!0,type:"tertiary","force-menu":0===n.enabledInlineActions.length,inline:n.enabledInlineActions.length,open:n.openedMenu},on:{"update:open":function(t){n.openedMenu=t},close:function(t){n.openedSubmenu=null}}},[n._l(n.enabledMenuActions,(function(t){var e;return s("NcActionButton",{key:t.id,ref:"action-".concat(t.id),refInFor:!0,class:{["files-list__row-action-".concat(t.id)]:!0,"files-list__row-action--menu":n.isMenu(t.id)},attrs:{"close-after-click":!n.isMenu(t.id),"data-cy-files-list-row-action":t.id,"is-menu":n.isMenu(t.id),title:null===(e=t.title)||void 0===e?void 0:e.call(t,[n.source],n.currentView)},on:{click:function(e){return n.onActionClick(t)}},scopedSlots:n._u([{key:"icon",fn:function(){return[n.loading===t.id?s("NcLoadingIcon",{attrs:{size:18}}):s("NcIconSvgWrapper",{attrs:{svg:t.iconSvgInline([n.source],n.currentView)}})]},proxy:!0}],null,!0)},[n._v("\n\t\t\t"+n._s("shared"===n.mountType&&"sharing-status"===t.id?"":n.actionDisplayName(t))+"\n\t\t")])})),n._v(" "),n.openedSubmenu&&n.enabledSubmenuActions[null===(t=n.openedSubmenu)||void 0===t?void 0:t.id]?[s("NcActionButton",{staticClass:"files-list__row-action-back",on:{click:function(t){return n.onBackToMenuClick(n.openedSubmenu)}},scopedSlots:n._u([{key:"icon",fn:function(){return[s("ArrowLeftIcon")]},proxy:!0}],null,!1,3001860362)},[n._v("\n\t\t\t\t"+n._s(n.actionDisplayName(n.openedSubmenu))+"\n\t\t\t")]),n._v(" "),s("NcActionSeparator"),n._v(" "),n._l(n.enabledSubmenuActions[null===(e=n.openedSubmenu)||void 0===e?void 0:e.id],(function(t){var e;return s("NcActionButton",{key:t.id,staticClass:"files-list__row-action--submenu",class:"files-list__row-action-".concat(t.id),attrs:{"close-after-click":"","data-cy-files-list-row-action":t.id,title:null===(e=t.title)||void 0===e?void 0:e.call(t,[n.source],n.currentView)},on:{click:function(e){return n.onActionClick(t)}},scopedSlots:n._u([{key:"icon",fn:function(){return[n.loading===t.id?s("NcLoadingIcon",{attrs:{size:18}}):s("NcIconSvgWrapper",{attrs:{svg:t.iconSvgInline([n.source],n.currentView)}})]},proxy:!0}],null,!0)},[n._v("\n\t\t\t\t"+n._s(n.actionDisplayName(t))+"\n\t\t\t")])}))]:n._e()],2)],2)}),[],!1,null,"0ef7511c",null);const Dn=In.exports,On=(0,l.pM)({name:"FileEntryCheckbox",components:{NcCheckboxRadioSwitch:Ct.A,NcLoadingIcon:Zt.A},props:{fileid:{type:Number,required:!0},isLoading:{type:Boolean,default:!1},nodes:{type:Array,required:!0},source:{type:Object,required:!0}},setup(){const t=he(),e=function(){const t=(0,r.nY)("keyboard",{state:()=>({altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1}),actions:{onEvent(t){t||(t=window.event),l.Ay.set(this,"altKey",!!t.altKey),l.Ay.set(this,"ctrlKey",!!t.ctrlKey),l.Ay.set(this,"metaKey",!!t.metaKey),l.Ay.set(this,"shiftKey",!!t.shiftKey)}}})(...arguments);return t._initialized||(window.addEventListener("keydown",t.onEvent),window.addEventListener("keyup",t.onEvent),window.addEventListener("mousemove",t.onEvent),t._initialized=!0),t}();return{keyboardStore:e,selectionStore:t}},computed:{selectedFiles(){return this.selectionStore.selected},isSelected(){return this.selectedFiles.includes(this.source.source)},index(){return this.nodes.findIndex((t=>t.source===this.source.source))},isFile(){return this.source.type===a.pt.File},ariaLabel(){return this.isFile?(0,V.Tl)("files",'Toggle selection for file "{displayName}"',{displayName:this.source.basename}):(0,V.Tl)("files",'Toggle selection for folder "{displayName}"',{displayName:this.source.basename})}},methods:{onSelectionChange(t){var e;const n=this.index,s=this.selectionStore.lastSelectedIndex;if(null!==(e=this.keyboardStore)&&void 0!==e&&e.shiftKey&&null!==s){const t=this.selectedFiles.includes(this.source.source),e=Math.min(n,s),i=Math.max(s,n),r=this.selectionStore.lastSelection,a=this.nodes.map((t=>t.source)).slice(e,i+1).filter(Boolean),o=[...r,...a].filter((e=>!t||e!==this.source.source));return nt.debug("Shift key pressed, selecting all files in between",{start:e,end:i,filesToSelect:a,isAlreadySelected:t}),void this.selectionStore.set(o)}const i=t?[...this.selectedFiles,this.source.source]:this.selectedFiles.filter((t=>t!==this.source.source));nt.debug("Updating selection",{selection:i}),this.selectionStore.set(i),this.selectionStore.setLastIndex(n)},resetSelection(){this.selectionStore.reset()},t:V.Tl}}),Un=(0,H.A)(On,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("td",{staticClass:"files-list__row-checkbox",on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.resetSelection.apply(null,arguments)}}},[t.isLoading?e("NcLoadingIcon"):e("NcCheckboxRadioSwitch",{attrs:{"aria-label":t.ariaLabel,checked:t.isSelected},on:{"update:checked":t.onSelectionChange}})],1)}),[],!1,null,null,null).exports;var Bn=s(82182);const Mn=(0,Q.C)("files","forbiddenCharacters",""),jn=l.Ay.extend({name:"FileEntryName",components:{NcTextField:Bn.A},props:{displayName:{type:String,required:!0},extension:{type:String,required:!0},filesListWidth:{type:Number,required:!0},nodes:{type:Array,required:!0},source:{type:Object,required:!0},gridMode:{type:Boolean,default:!1}},setup(){const{currentView:t}=Ot();return{currentView:t,renamingStore:rn()}},computed:{isRenaming(){return this.renamingStore.renamingNode===this.source},isRenamingSmallScreen(){return this.isRenaming&&this.filesListWidth<512},newName:{get(){return this.renamingStore.newName},set(t){this.renamingStore.newName=t}},renameLabel(){return{[a.pt.File]:(0,V.Tl)("files","File name"),[a.pt.Folder]:(0,V.Tl)("files","Folder name")}[this.source.type]},linkTo(){var t,e;if(this.source.attributes.failed)return{is:"span",params:{title:(0,V.Tl)("files","This node is unavailable")}};const n=null===(t=this.$parent)||void 0===t||null===(t=t.$refs)||void 0===t||null===(t=t.actions)||void 0===t?void 0:t.enabledDefaultActions;return(null==n?void 0:n.length)>0?{is:"a",params:{title:n[0].displayName([this.source],this.currentView),role:"button",tabindex:"0"}}:(null===(e=this.source)||void 0===e?void 0:e.permissions)&a.aX.READ?{is:"a",params:{download:this.source.basename,href:this.source.source,title:(0,V.Tl)("files","Download file {name}",{name:this.displayName}),tabindex:"0"}}:{is:"span"}}},watch:{isRenaming:{immediate:!0,handler(t){t&&this.startRenaming()}}},methods:{checkInputValidity(t){var e,n;const s=t.target,i=(null===(e=(n=this.newName).trim)||void 0===e?void 0:e.call(n))||"";nt.debug("Checking input validity",{newName:i});try{this.isFileNameValid(i),s.setCustomValidity(""),s.title=""}catch(t){s.setCustomValidity(t.message),s.title=t.message}finally{s.reportValidity()}},isFileNameValid(t){const e=t.trim(),n=-1!==e.indexOf("/")?"/":Mn.find((t=>e.includes(t)));if("."===e||".."===e)throw new Error((0,V.Tl)("files",'"{name}" is an invalid file name.',{name:t}));if(0===e.length)throw new Error((0,V.Tl)("files","File name cannot be empty."));if(n)throw new Error((0,V.Tl)("files",'"{char}" is not allowed inside a file name.',{char:n}));if(e.match(OC.config.blacklist_files_regex))throw new Error((0,V.Tl)("files",'"{name}" is not an allowed filetype.',{name:t}));if(this.checkIfNodeExists(t))throw new Error((0,V.Tl)("files","{newName} already exists.",{newName:t}));return!0},checkIfNodeExists(t){return this.nodes.find((e=>e.basename===t&&e!==this.source))},startRenaming(){this.$nextTick((()=>{var t;const e=(this.source.extension||"").split("").length,n=this.source.basename.split("").length-e,s=null===(t=this.$refs.renameInput)||void 0===t||null===(t=t.$refs)||void 0===t||null===(t=t.inputField)||void 0===t||null===(t=t.$refs)||void 0===t?void 0:t.input;s?(s.setSelectionRange(0,n),s.focus(),s.dispatchEvent(new Event("keyup"))):nt.error("Could not find the rename input")}))},stopRenaming(){this.isRenaming&&this.renamingStore.$reset()},async onRename(){var t,e;const n=this.source.basename,s=this.source.encodedSource,i=(null===(t=(e=this.newName).trim)||void 0===t?void 0:t.call(e))||"";if(""!==i)if(n!==i)if(this.checkIfNodeExists(i))(0,J.Qg)((0,V.Tl)("files","Another entry with the same name already exists"));else{this.loading="renaming",l.Ay.set(this.source,"status",a.zI.LOADING),this.source.rename(i),nt.debug("Moving file to",{destination:this.source.encodedSource,oldEncodedSource:s});try{await(0,X.A)({method:"MOVE",url:s,headers:{Destination:this.source.encodedSource,Overwrite:"F"}}),(0,z.Ic)("files:node:updated",this.source),(0,z.Ic)("files:node:renamed",this.source),(0,J.Te)((0,V.Tl)("files",'Renamed "{oldName}" to "{newName}"',{oldName:n,newName:i})),this.stopRenaming(),this.$nextTick((()=>{this.$refs.basename.focus()}))}catch(t){var r,o;if(nt.error("Error while renaming file",{error:t}),this.source.rename(n),this.$refs.renameInput.focus(),404===(null==t||null===(r=t.response)||void 0===r?void 0:r.status))return void(0,J.Qg)((0,V.Tl)("files",'Could not rename "{oldName}", it does not exist any more',{oldName:n}));if(412===(null==t||null===(o=t.response)||void 0===o?void 0:o.status))return void(0,J.Qg)((0,V.Tl)("files",'The name "{newName}" is already used in the folder "{dir}". Please choose a different name.',{newName:i,dir:this.currentDir}));(0,J.Qg)((0,V.Tl)("files",'Could not rename "{oldName}"',{oldName:n}))}finally{this.loading=!1,l.Ay.set(this.source,"status",void 0)}}else this.stopRenaming();else(0,J.Qg)((0,V.Tl)("files","Name cannot be empty"))},t:V.Tl}}),Rn=(0,H.A)(jn,(function(){var t=this,e=t._self._c;return t._self._setupProxy,t.isRenaming?e("form",{directives:[{name:"on-click-outside",rawName:"v-on-click-outside",value:t.stopRenaming,expression:"stopRenaming"}],staticClass:"files-list__row-rename",attrs:{"aria-label":t.t("files","Rename file")},on:{submit:function(e){return e.preventDefault(),e.stopPropagation(),t.onRename.apply(null,arguments)}}},[e("NcTextField",{ref:"renameInput",attrs:{label:t.renameLabel,autofocus:!0,minlength:1,required:!0,value:t.newName,enterkeyhint:"done"},on:{"update:value":function(e){t.newName=e},keyup:[t.checkInputValidity,function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.stopRenaming.apply(null,arguments)}]}})],1):e(t.linkTo.is,t._b({ref:"basename",tag:"component",staticClass:"files-list__row-name-link",attrs:{"aria-hidden":t.isRenaming,"data-cy-files-list-row-name-link":""}},"component",t.linkTo.params,!1),[e("span",{staticClass:"files-list__row-name-text"},[e("span",{staticClass:"files-list__row-name-",domProps:{textContent:t._s(t.displayName)}}),t._v(" "),e("span",{staticClass:"files-list__row-name-ext",domProps:{textContent:t._s(t.extension)}})])])}),[],!1,null,null,null).exports;var zn=s(72755);const Vn={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},qn=(0,H.A)(Vn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Hn={name:"FolderOpenIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Wn=(0,H.A)(Hn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon folder-open-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,$n={name:"KeyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Gn=(0,H.A)($n,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon key-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Yn={name:"NetworkIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Kn=(0,H.A)(Yn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon network-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Qn={name:"TagIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Jn=(0,H.A)(Qn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tag-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Xn={name:"PlayCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Zn=(0,H.A)(Xn,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon play-circle-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ts={name:"CollectivesIcon",props:{title:{type:String,default:""},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},es=(0,H.A)(ts,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon collectives-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 16 16"}},[e("path",{attrs:{d:"M2.9,8.8c0-1.2,0.4-2.4,1.2-3.3L0.3,6c-0.2,0-0.3,0.3-0.1,0.4l2.7,2.6C2.9,9,2.9,8.9,2.9,8.8z"}}),t._v(" "),e("path",{attrs:{d:"M8,3.7c0.7,0,1.3,0.1,1.9,0.4L8.2,0.6c-0.1-0.2-0.3-0.2-0.4,0L6.1,4C6.7,3.8,7.3,3.7,8,3.7z"}}),t._v(" "),e("path",{attrs:{d:"M3.7,11.5L3,15.2c0,0.2,0.2,0.4,0.4,0.3l3.3-1.7C5.4,13.4,4.4,12.6,3.7,11.5z"}}),t._v(" "),e("path",{attrs:{d:"M15.7,6l-3.7-0.5c0.7,0.9,1.2,2,1.2,3.3c0,0.1,0,0.2,0,0.3l2.7-2.6C15.9,6.3,15.9,6.1,15.7,6z"}}),t._v(" "),e("path",{attrs:{d:"M12.3,11.5c-0.7,1.1-1.8,1.9-3,2.2l3.3,1.7c0.2,0.1,0.4-0.1,0.4-0.3L12.3,11.5z"}}),t._v(" "),e("path",{attrs:{d:"M9.6,10.1c-0.4,0.5-1,0.8-1.6,0.8c-1.1,0-2-0.9-2.1-2C5.9,7.7,6.8,6.7,8,6.7c0.6,0,1.1,0.3,1.5,0.7 c0.1,0.1,0.1,0.1,0.2,0.1h1.4c0.2,0,0.4-0.2,0.3-0.5c-0.7-1.3-2.1-2.2-3.8-2.1C5.8,5,4.3,6.6,4.1,8.5C4,10.8,5.8,12.7,8,12.7 c1.6,0,2.9-0.9,3.5-2.3c0.1-0.2-0.1-0.4-0.3-0.4H9.9C9.8,10,9.7,10,9.6,10.1z"}})])])}),[],!1,null,null,null).exports,ns=(0,l.pM)({name:"FavoriteIcon",components:{NcIconSvgWrapper:Y.A},data:()=>({StarSvg:''}),async mounted(){var t;await this.$nextTick();const e=this.$el.querySelector("svg");null==e||null===(t=e.setAttribute)||void 0===t||t.call(e,"viewBox","-4 -4 30 30")},methods:{t:V.Tl}});var ss=s(14781),is={};is.styleTagTransform=ht(),is.setAttributes=mt(),is.insert=dt().bind(null,"head"),is.domAPI=lt(),is.insertStyleElement=gt(),at()(ss.A,is),ss.A&&ss.A.locals&&ss.A.locals;const rs=(0,H.A)(ns,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcIconSvgWrapper",{staticClass:"favorite-marker-icon",attrs:{name:t.t("files","Favorite"),svg:t.StarSvg}})}),[],!1,null,"42ea6dd4",null).exports,as=l.Ay.extend({name:"FileEntryPreview",components:{AccountGroupIcon:zn.A,AccountPlusIcon:ne,CollectivesIcon:es,FavoriteIcon:rs,FileIcon:qn,FolderIcon:cn.A,FolderOpenIcon:Wn,KeyIcon:Gn,LinkIcon:Gt.A,NetworkIcon:Kn,TagIcon:Jn},props:{source:{type:Object,required:!0},dragover:{type:Boolean,default:!1},gridMode:{type:Boolean,default:!1}},setup:()=>({userConfigStore:Et()}),data:()=>({backgroundFailed:void 0}),computed:{fileid(){var t,e;return null===(t=this.source)||void 0===t||null===(t=t.fileid)||void 0===t||null===(e=t.toString)||void 0===e?void 0:e.call(t)},isFavorite(){return 1===this.source.attributes.favorite},userConfig(){return this.userConfigStore.userConfig},cropPreviews(){return!0===this.userConfig.crop_image_previews},previewUrl(){if(this.source.type===a.pt.Folder)return null;if(!0===this.backgroundFailed)return null;try{const t=this.source.attributes.previewUrl||(0,d.Jv)("/core/preview?fileId={fileid}",{fileid:this.fileid}),e=new URL(window.location.origin+t);return e.searchParams.set("x",this.gridMode?"128":"32"),e.searchParams.set("y",this.gridMode?"128":"32"),e.searchParams.set("mimeFallback","true"),e.searchParams.set("a",!0===this.cropPreviews?"0":"1"),e.href}catch(t){return null}},fileOverlay(){return void 0!==this.source.attributes["metadata-files-live-photo"]?Zn:null},folderOverlay(){var t,e,n,s;if(this.source.type!==a.pt.Folder)return null;if(1===(null===(t=this.source)||void 0===t||null===(t=t.attributes)||void 0===t?void 0:t["is-encrypted"]))return Gn;if(null!==(e=this.source)&&void 0!==e&&null!==(e=e.attributes)&&void 0!==e&&e["is-tag"])return Jn;const i=Object.values((null===(n=this.source)||void 0===n||null===(n=n.attributes)||void 0===n?void 0:n["share-types"])||{}).flat();if(i.some((t=>t===qt.Z.SHARE_TYPE_LINK||t===qt.Z.SHARE_TYPE_EMAIL)))return Gt.A;if(i.length>0)return ne;switch(null===(s=this.source)||void 0===s||null===(s=s.attributes)||void 0===s?void 0:s["mount-type"]){case"external":case"external-session":return Kn;case"group":return zn.A;case"collective":return es}return null}},methods:{reset(){this.backgroundFailed=void 0,this.$refs.previewImg&&(this.$refs.previewImg.src="")},onBackgroundError(t){var e;""!==(null===(e=t.target)||void 0===e?void 0:e.src)&&(this.backgroundFailed=!0)},t:V.Tl}}),os=(0,H.A)(as,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("span",{staticClass:"files-list__row-icon"},["folder"===t.source.type?[t.dragover?t._m(0):[t._m(1),t._v(" "),t.folderOverlay?e(t.folderOverlay,{tag:"OverlayIcon",staticClass:"files-list__row-icon-overlay"}):t._e()]]:t.previewUrl&&!0!==t.backgroundFailed?e("img",{ref:"previewImg",staticClass:"files-list__row-icon-preview",class:{"files-list__row-icon-preview--loaded":!1===t.backgroundFailed},attrs:{alt:"",loading:"lazy",src:t.previewUrl},on:{error:t.onBackgroundError,load:function(e){t.backgroundFailed=!1}}}):t._m(2),t._v(" "),t.isFavorite?e("span",{staticClass:"files-list__row-icon-favorite"},[t._m(3)],1):t._e(),t._v(" "),t.fileOverlay?e(t.fileOverlay,{tag:"OverlayIcon",staticClass:"files-list__row-icon-overlay files-list__row-icon-overlay--file"}):t._e()],2)}),[function(){var t=this._self._c;return this._self._setupProxy,t("FolderOpenIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FolderIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FileIcon")},function(){var t=this._self._c;return this._self._setupProxy,t("FavoriteIcon")}],!1,null,null,null).exports,ls=(0,l.pM)({name:"FileEntry",components:{CustomElementRender:An,FileEntryActions:Dn,FileEntryCheckbox:Un,FileEntryName:Rn,FileEntryPreview:os,NcDateTime:wn.A},mixins:[vn],props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},compact:{type:Boolean,default:!1}},setup(){const t=sn(),e=Ke(),n=ge(),s=rn(),i=he(),{currentView:r}=Ot();return{actionsMenuStore:t,draggingStore:e,filesStore:n,renamingStore:s,selectionStore:i,currentView:r}},computed:{rowListeners(){return{...this.isRenaming?{}:{dragstart:this.onDragStart,dragover:this.onDragOver},contextmenu:this.onRightClick,dragleave:this.onDragLeave,dragend:this.onDragEnd,drop:this.onDrop}},columns(){var t;return this.filesListWidth<512||this.compact?[]:(null===(t=this.currentView)||void 0===t?void 0:t.columns)||[]},size(){const t=this.source.size;return!t||t<0?this.t("files","Pending"):(0,a.v7)(t,!0)},sizeOpacity(){const t=this.source.size;if(!t||isNaN(t)||t<0)return{};const e=Math.round(Math.min(100,100*Math.pow(t/10485760,2)));return{color:"color-mix(in srgb, var(--color-main-text) ".concat(e,"%, var(--color-text-maxcontrast))")}},mtimeOpacity(){var t,e;const n=26784e5,s=null===(t=this.source.mtime)||void 0===t||null===(e=t.getTime)||void 0===e?void 0:e.call(t);if(!s)return{};const i=Math.round(Math.min(100,100*(n-(Date.now()-s))/n));return i<0?{}:{color:"color-mix(in srgb, var(--color-main-text) ".concat(i,"%, var(--color-text-maxcontrast))")}},mtimeTitle(){return this.source.mtime?(0,nn.A)(this.source.mtime).format("LLL"):""}},methods:{formatFileSize:a.v7}}),cs=(0,H.A)(ls,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",t._g({staticClass:"files-list__row",class:{"files-list__row--dragover":t.dragover,"files-list__row--loading":t.isLoading,"files-list__row--active":t.isActive},attrs:{"data-cy-files-list-row":"","data-cy-files-list-row-fileid":t.fileid,"data-cy-files-list-row-name":t.source.basename,draggable:t.canDrag}},t.rowListeners),[t.source.attributes.failed?e("span",{staticClass:"files-list__row--failed"}):t._e(),t._v(" "),e("FileEntryCheckbox",{attrs:{fileid:t.fileid,"is-loading":t.isLoading,nodes:t.nodes,source:t.source}}),t._v(" "),e("td",{staticClass:"files-list__row-name",attrs:{"data-cy-files-list-row-name":""}},[e("FileEntryPreview",{ref:"preview",attrs:{source:t.source,dragover:t.dragover},nativeOn:{auxclick:function(e){return t.execDefaultAction.apply(null,arguments)},click:function(e){return t.execDefaultAction.apply(null,arguments)}}}),t._v(" "),e("FileEntryName",{ref:"name",attrs:{"display-name":t.displayName,extension:t.extension,"files-list-width":t.filesListWidth,nodes:t.nodes,source:t.source},nativeOn:{auxclick:function(e){return t.execDefaultAction.apply(null,arguments)},click:function(e){return t.execDefaultAction.apply(null,arguments)}}})],1),t._v(" "),e("FileEntryActions",{directives:[{name:"show",rawName:"v-show",value:!t.isRenamingSmallScreen,expression:"!isRenamingSmallScreen"}],ref:"actions",class:"files-list__row-actions-".concat(t.uniqueId),attrs:{"files-list-width":t.filesListWidth,loading:t.loading,opened:t.openedMenu,source:t.source},on:{"update:loading":function(e){t.loading=e},"update:opened":function(e){t.openedMenu=e}}}),t._v(" "),!t.compact&&t.isSizeAvailable?e("td",{staticClass:"files-list__row-size",style:t.sizeOpacity,attrs:{"data-cy-files-list-row-size":""},on:{click:t.openDetailsIfAvailable}},[e("span",[t._v(t._s(t.size))])]):t._e(),t._v(" "),!t.compact&&t.isMtimeAvailable?e("td",{staticClass:"files-list__row-mtime",style:t.mtimeOpacity,attrs:{"data-cy-files-list-row-mtime":""},on:{click:t.openDetailsIfAvailable}},[t.source.mtime?e("NcDateTime",{attrs:{timestamp:t.source.mtime,"ignore-seconds":!0}}):t._e()],1):t._e(),t._v(" "),t._l(t.columns,(function(n){var s;return e("td",{key:n.id,staticClass:"files-list__row-column-custom",class:"files-list__row-".concat(null===(s=t.currentView)||void 0===s?void 0:s.id,"-").concat(n.id),attrs:{"data-cy-files-list-row-column-custom":n.id},on:{click:t.openDetailsIfAvailable}},[e("CustomElementRender",{attrs:{"current-view":t.currentView,render:n.render,source:t.source}})],1)}))],2)}),[],!1,null,null,null).exports,ds=(0,l.pM)({name:"FileEntryGrid",components:{FileEntryActions:Dn,FileEntryCheckbox:Un,FileEntryName:Rn,FileEntryPreview:os},mixins:[vn],inheritAttrs:!1,setup(){const t=sn(),e=Ke(),n=ge(),s=rn(),i=he(),{currentView:r}=Ot();return{actionsMenuStore:t,draggingStore:e,filesStore:n,renamingStore:s,selectionStore:i,currentView:r}},data:()=>({gridMode:!0})}),us=(0,H.A)(ds,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"files-list__row",class:{"files-list__row--active":t.isActive,"files-list__row--dragover":t.dragover,"files-list__row--loading":t.isLoading},attrs:{"data-cy-files-list-row":"","data-cy-files-list-row-fileid":t.fileid,"data-cy-files-list-row-name":t.source.basename,draggable:t.canDrag},on:{contextmenu:t.onRightClick,dragover:t.onDragOver,dragleave:t.onDragLeave,dragstart:t.onDragStart,dragend:t.onDragEnd,drop:t.onDrop}},[t.source.attributes.failed?e("span",{staticClass:"files-list__row--failed"}):t._e(),t._v(" "),e("FileEntryCheckbox",{attrs:{fileid:t.fileid,"is-loading":t.isLoading,nodes:t.nodes,source:t.source}}),t._v(" "),e("td",{staticClass:"files-list__row-name",attrs:{"data-cy-files-list-row-name":""}},[e("FileEntryPreview",{ref:"preview",attrs:{dragover:t.dragover,"grid-mode":!0,source:t.source},nativeOn:{auxclick:function(e){return t.execDefaultAction.apply(null,arguments)},click:function(e){return t.execDefaultAction.apply(null,arguments)}}}),t._v(" "),e("FileEntryName",{ref:"name",attrs:{"display-name":t.displayName,extension:t.extension,"files-list-width":t.filesListWidth,"grid-mode":!0,nodes:t.nodes,source:t.source},nativeOn:{auxclick:function(e){return t.execDefaultAction.apply(null,arguments)},click:function(e){return t.execDefaultAction.apply(null,arguments)}}})],1),t._v(" "),e("FileEntryActions",{ref:"actions",class:"files-list__row-actions-".concat(t.uniqueId),attrs:{"files-list-width":t.filesListWidth,"grid-mode":!0,loading:t.loading,opened:t.openedMenu,source:t.source},on:{"update:loading":function(e){t.loading=e},"update:opened":function(e){t.openedMenu=e}}})],1)}),[],!1,null,null,null).exports;var ms=s(96763);const ps={name:"FilesListHeader",props:{header:{type:Object,required:!0},currentFolder:{type:Object,required:!0},currentView:{type:Object,required:!0}},computed:{enabled(){return this.header.enabled(this.currentFolder,this.currentView)}},watch:{enabled(t){t&&this.header.updated(this.currentFolder,this.currentView)},currentFolder(){this.header.updated(this.currentFolder,this.currentView)}},mounted(){ms.debug("Mounted",this.header.id),this.header.render(this.$refs.mount,this.currentFolder,this.currentView)}},gs=(0,H.A)(ps,(function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"show",rawName:"v-show",value:t.enabled,expression:"enabled"}],class:"files-list__header-".concat(t.header.id)},[e("span",{ref:"mount"})])}),[],!1,null,null,null).exports,fs=l.Ay.extend({name:"FilesListTableFooter",components:{},props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},nodes:{type:Array,required:!0},summary:{type:String,default:""},filesListWidth:{type:Number,default:0}},setup(){const t=fe();return{filesStore:ge(),pathsStore:t}},computed:{currentView(){return this.$navigation.active},dir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},currentFolder(){var t;if(null===(t=this.currentView)||void 0===t||!t.id)return;if("/"===this.dir)return this.filesStore.getRoot(this.currentView.id);const e=this.pathsStore.getPath(this.currentView.id,this.dir);return this.filesStore.getNode(e)},columns(){var t;return this.filesListWidth<512?[]:(null===(t=this.currentView)||void 0===t?void 0:t.columns)||[]},totalSize(){var t;return null!==(t=this.currentFolder)&&void 0!==t&&t.size?(0,a.v7)(this.currentFolder.size,!0):(0,a.v7)(this.nodes.reduce(((t,e)=>t+e.size||0),0),!0)}},methods:{classForColumn(t){return{"files-list__row-column-custom":!0,["files-list__row-".concat(this.currentView.id,"-").concat(t.id)]:!0}},t:V.Tl}});var hs=s(31840),vs={};vs.styleTagTransform=ht(),vs.setAttributes=mt(),vs.insert=dt().bind(null,"head"),vs.domAPI=lt(),vs.insertStyleElement=gt(),at()(hs.A,vs),hs.A&&hs.A.locals&&hs.A.locals;const ws=(0,H.A)(fs,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",[e("th",{staticClass:"files-list__row-checkbox"},[e("span",{staticClass:"hidden-visually"},[t._v(t._s(t.t("files","Total rows summary")))])]),t._v(" "),e("td",{staticClass:"files-list__row-name"},[e("span",{staticClass:"files-list__row-icon"}),t._v(" "),e("span",[t._v(t._s(t.summary))])]),t._v(" "),e("td",{staticClass:"files-list__row-actions"}),t._v(" "),t.isSizeAvailable?e("td",{staticClass:"files-list__column files-list__row-size"},[e("span",[t._v(t._s(t.totalSize))])]):t._e(),t._v(" "),t.isMtimeAvailable?e("td",{staticClass:"files-list__column files-list__row-mtime"}):t._e(),t._v(" "),t._l(t.columns,(function(n){var s;return e("th",{key:n.id,class:t.classForColumn(n)},[e("span",[t._v(t._s(null===(s=n.summary)||void 0===s?void 0:s.call(n,t.nodes,t.currentView)))])])}))],2)}),[],!1,null,"a85bde20",null).exports;var ys=s(1795),As=s(33017);const bs=l.Ay.extend({computed:{...(0,r.aH)(Bt,["getConfig","setSortingBy","toggleSortingDirection"]),currentView(){return this.$navigation.active},sortingMode(){var t,e;return(null===(t=this.getConfig(this.currentView.id))||void 0===t?void 0:t.sorting_mode)||(null===(e=this.currentView)||void 0===e?void 0:e.defaultSortKey)||"basename"},isAscSorting(){var t;return"desc"!==(null===(t=this.getConfig(this.currentView.id))||void 0===t?void 0:t.sorting_direction)}},methods:{toggleSortBy(t){this.sortingMode!==t?this.setSortingBy(t,this.currentView.id):this.toggleSortingDirection(this.currentView.id)}}}),Cs=(0,l.pM)({name:"FilesListTableHeaderButton",components:{MenuDown:ys.A,MenuUp:As.A,NcButton:Jt.A},mixins:[bs],props:{name:{type:String,required:!0},mode:{type:String,required:!0}},methods:{t:V.Tl}});var _s=s(69426),Ts={};Ts.styleTagTransform=ht(),Ts.setAttributes=mt(),Ts.insert=dt().bind(null,"head"),Ts.domAPI=lt(),Ts.insertStyleElement=gt(),at()(_s.A,Ts),_s.A&&_s.A.locals&&_s.A.locals;const xs=(0,H.A)(Cs,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcButton",{class:["files-list__column-sort-button",{"files-list__column-sort-button--active":t.sortingMode===t.mode,"files-list__column-sort-button--size":"size"===t.sortingMode}],attrs:{alignment:"size"===t.mode?"end":"start-reverse",type:"tertiary"},on:{click:function(e){return t.toggleSortBy(t.mode)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.sortingMode!==t.mode||t.isAscSorting?e("MenuUp",{staticClass:"files-list__column-sort-button-icon"}):e("MenuDown",{staticClass:"files-list__column-sort-button-icon"})]},proxy:!0}])},[t._v(" "),e("span",{staticClass:"files-list__column-sort-button-text"},[t._v(t._s(t.name))])])}),[],!1,null,"2dd1845e",null).exports,Ss=(0,l.pM)({name:"FilesListTableHeader",components:{FilesListTableHeaderButton:xs,NcCheckboxRadioSwitch:Ct.A},mixins:[bs],props:{isMtimeAvailable:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},nodes:{type:Array,required:!0},filesListWidth:{type:Number,default:0}},setup(){const t=ge(),e=he(),{currentView:n}=Ot();return{filesStore:t,selectionStore:e,currentView:n}},computed:{columns(){var t;return this.filesListWidth<512?[]:(null===(t=this.currentView)||void 0===t?void 0:t.columns)||[]},dir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},selectAllBind(){const t=(0,V.Tl)("files","Toggle selection for all files and folders");return{"aria-label":t,checked:this.isAllSelected,indeterminate:this.isSomeSelected,title:t}},selectedNodes(){return this.selectionStore.selected},isAllSelected(){return this.selectedNodes.length===this.nodes.length},isNoneSelected(){return 0===this.selectedNodes.length},isSomeSelected(){return!this.isAllSelected&&!this.isNoneSelected}},methods:{ariaSortForMode(t){return this.sortingMode===t?this.isAscSorting?"ascending":"descending":null},classForColumn(t){var e;return{"files-list__column":!0,"files-list__column--sortable":!!t.sort,"files-list__row-column-custom":!0,["files-list__row-".concat(null===(e=this.currentView)||void 0===e?void 0:e.id,"-").concat(t.id)]:!0}},onToggleAll(t){if(t){const t=this.nodes.map((t=>t.source)).filter(Boolean);nt.debug("Added all nodes to selection",{selection:t}),this.selectionStore.setLastIndex(null),this.selectionStore.set(t)}else nt.debug("Cleared selection"),this.selectionStore.reset()},resetSelection(){this.selectionStore.reset()},t:V.Tl}});var ks=s(75458),Ls={};Ls.styleTagTransform=ht(),Ls.setAttributes=mt(),Ls.insert=dt().bind(null,"head"),Ls.domAPI=lt(),Ls.insertStyleElement=gt(),at()(ks.A,Ls),ks.A&&ks.A.locals&&ks.A.locals;const Es=(0,H.A)(Ss,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"files-list__row-head"},[e("th",{staticClass:"files-list__column files-list__row-checkbox",on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.resetSelection.apply(null,arguments)}}},[e("NcCheckboxRadioSwitch",t._b({on:{"update:checked":t.onToggleAll}},"NcCheckboxRadioSwitch",t.selectAllBind,!1))],1),t._v(" "),e("th",{staticClass:"files-list__column files-list__row-name files-list__column--sortable",attrs:{"aria-sort":t.ariaSortForMode("basename")}},[e("span",{staticClass:"files-list__row-icon"}),t._v(" "),e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Name"),mode:"basename"}})],1),t._v(" "),e("th",{staticClass:"files-list__row-actions"}),t._v(" "),t.isSizeAvailable?e("th",{staticClass:"files-list__column files-list__row-size",class:{"files-list__column--sortable":t.isSizeAvailable},attrs:{"aria-sort":t.ariaSortForMode("size")}},[e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Size"),mode:"size"}})],1):t._e(),t._v(" "),t.isMtimeAvailable?e("th",{staticClass:"files-list__column files-list__row-mtime",class:{"files-list__column--sortable":t.isMtimeAvailable},attrs:{"aria-sort":t.ariaSortForMode("mtime")}},[e("FilesListTableHeaderButton",{attrs:{name:t.t("files","Modified"),mode:"mtime"}})],1):t._e(),t._v(" "),t._l(t.columns,(function(n){return e("th",{key:n.id,class:t.classForColumn(n),attrs:{"aria-sort":t.ariaSortForMode(n.id)}},[n.sort?e("FilesListTableHeaderButton",{attrs:{name:n.title,mode:n.id}}):e("span",[t._v("\n\t\t\t"+t._s(n.title)+"\n\t\t")])],1)}))],2)}),[],!1,null,"68d3de81",null).exports;var Ns=s(17334),Fs=s.n(Ns),Ps=s(96763);const Is=l.Ay.extend({name:"VirtualList",mixins:[Qe],props:{dataComponent:{type:[Object,Function],required:!0},dataKey:{type:String,required:!0},dataSources:{type:Array,required:!0},extraProps:{type:Object,default:()=>({})},scrollToIndex:{type:Number,default:0},gridMode:{type:Boolean,default:!1},caption:{type:String,default:""}},data(){return{index:this.scrollToIndex,beforeHeight:0,headerHeight:0,tableHeight:0,resizeObserver:null}},computed:{isReady(){return this.tableHeight>0},bufferItems(){return this.gridMode?this.columnCount:3},itemHeight(){return this.gridMode?197:55},itemWidth:()=>175,rowCount(){return Math.ceil((this.tableHeight-this.headerHeight)/this.itemHeight)+this.bufferItems/this.columnCount*2+1},columnCount(){return this.gridMode?Math.floor(this.filesListWidth/this.itemWidth):1},startIndex(){return Math.max(0,this.index-this.bufferItems)},shownItems(){return this.gridMode?this.rowCount*this.columnCount:this.rowCount},renderedItems(){if(!this.isReady)return[];const t=this.dataSources.slice(this.startIndex,this.startIndex+this.shownItems),e=t.filter((t=>Object.values(this.$_recycledPool).includes(t[this.dataKey]))).map((t=>t[this.dataKey])),n=Object.keys(this.$_recycledPool).filter((t=>!e.includes(this.$_recycledPool[t])));return t.map((t=>{const e=Object.values(this.$_recycledPool).indexOf(t[this.dataKey]);if(-1!==e)return{key:Object.keys(this.$_recycledPool)[e],item:t};const s=n.pop()||Math.random().toString(36).substr(2);return this.$_recycledPool[s]=t[this.dataKey],{key:s,item:t}}))},totalRowCount(){return Math.floor(this.dataSources.length/this.columnCount)},tbodyStyle(){const t=this.startIndex+this.rowCount>this.dataSources.length,e=this.dataSources.length-this.startIndex-this.shownItems,n=Math.floor(Math.min(this.dataSources.length-this.startIndex,e)/this.columnCount);return{paddingTop:"".concat(Math.floor(this.startIndex/this.columnCount)*this.itemHeight,"px"),paddingBottom:t?0:"".concat(n*this.itemHeight,"px"),minHeight:"".concat(this.totalRowCount*this.itemHeight+this.beforeHeight,"px")}}},watch:{scrollToIndex(t){this.scrollTo(t)},totalRowCount(){this.scrollToIndex&&this.$nextTick((()=>this.scrollTo(this.scrollToIndex)))},columnCount(t,e){0!==e?this.scrollTo(this.index):Ps.debug("VirtualList: columnCount is 0, skipping scroll")}},mounted(){var t,e;const n=null===(t=this.$refs)||void 0===t?void 0:t.before,s=this.$el,i=null===(e=this.$refs)||void 0===e?void 0:e.thead;this.resizeObserver=new ResizeObserver(Fs()((()=>{var t,e,r;this.beforeHeight=null!==(t=null==n?void 0:n.clientHeight)&&void 0!==t?t:0,this.headerHeight=null!==(e=null==i?void 0:i.clientHeight)&&void 0!==e?e:0,this.tableHeight=null!==(r=null==s?void 0:s.clientHeight)&&void 0!==r?r:0,nt.debug("VirtualList: resizeObserver updated"),this.onScroll()}),100,!1)),this.resizeObserver.observe(n),this.resizeObserver.observe(s),this.resizeObserver.observe(i),this.scrollToIndex&&this.scrollTo(this.scrollToIndex),this.$el.addEventListener("scroll",this.onScroll,{passive:!0}),this.$_recycledPool={}},beforeDestroy(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{scrollTo(t){const e=Math.ceil(this.dataSources.length/this.columnCount);if(e{this._onScrollHandle=null;const t=this.$el.scrollTop-this.beforeHeight,e=Math.floor(t/this.itemHeight)*this.columnCount;this.index=Math.max(0,e),this.$emit("scroll")})))}}}),Ds=(0,H.A)(Is,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list",attrs:{"data-cy-files-list":""}},[e("div",{ref:"before",staticClass:"files-list__before"},[t._t("before")],2),t._v(" "),t.$scopedSlots["header-overlay"]?e("div",{staticClass:"files-list__thead-overlay"},[t._t("header-overlay")],2):t._e(),t._v(" "),e("table",{staticClass:"files-list__table",class:{"files-list__table--with-thead-overlay":!!t.$scopedSlots["header-overlay"]}},[t.caption?e("caption",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.caption)+"\n\t\t")]):t._e(),t._v(" "),e("thead",{ref:"thead",staticClass:"files-list__thead",attrs:{"data-cy-files-list-thead":""}},[t._t("header")],2),t._v(" "),e("tbody",{staticClass:"files-list__tbody",class:t.gridMode?"files-list__tbody--grid":"files-list__tbody--list",style:t.tbodyStyle,attrs:{"data-cy-files-list-tbody":""}},t._l(t.renderedItems,(function(n,s){let{key:i,item:r}=n;return e(t.dataComponent,t._b({key:i,tag:"component",attrs:{source:r,index:s}},"component",t.extraProps,!1))})),1),t._v(" "),e("tfoot",{directives:[{name:"show",rawName:"v-show",value:t.isReady,expression:"isReady"}],staticClass:"files-list__tfoot",attrs:{"data-cy-files-list-tfoot":""}},[t._t("footer")],2)])])}),[],!1,null,null,null).exports,Os=(0,a.qK)(),Us=(0,l.pM)({name:"FilesListTableHeaderActions",components:{NcActions:Cn.A,NcActionButton:bn.A,NcIconSvgWrapper:Y.A,NcLoadingIcon:Zt.A},mixins:[Qe],props:{currentView:{type:Object,required:!0},selectedNodes:{type:Array,default:()=>[]}},setup:()=>({actionsMenuStore:sn(),filesStore:ge(),selectionStore:he()}),data:()=>({loading:null}),computed:{dir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},enabledActions(){return Os.filter((t=>t.execBatch)).filter((t=>!t.enabled||t.enabled(this.nodes,this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0)))},nodes(){return this.selectedNodes.map((t=>this.getNode(t))).filter(Boolean)},areSomeNodesLoading(){return this.nodes.some((t=>t.status===a.zI.LOADING))},openedMenu:{get(){return"global"===this.actionsMenuStore.opened},set(t){this.actionsMenuStore.opened=t?"global":null}},inlineActions(){return this.filesListWidth<512?0:this.filesListWidth<768?1:this.filesListWidth<1024?2:3}},methods:{getNode(t){return this.filesStore.getNode(t)},async onActionClick(t){const e=t.displayName(this.nodes,this.currentView),n=this.selectedNodes;try{this.loading=t.id,this.nodes.forEach((t=>{l.Ay.set(t,"status",a.zI.LOADING)}));const s=await t.execBatch(this.nodes,this.currentView,this.dir);if(!s.some((t=>null!==t)))return void this.selectionStore.reset();if(s.some((t=>!1===t))){const t=n.filter(((t,e)=>!1===s[e]));if(this.selectionStore.set(t),s.some((t=>null===t)))return;return void(0,J.Qg)(this.t("files",'"{displayName}" failed on some elements ',{displayName:e}))}(0,J.Te)(this.t("files",'"{displayName}" batch action executed successfully',{displayName:e})),this.selectionStore.reset()}catch(n){nt.error("Error while executing action",{action:t,e:n}),(0,J.Qg)(this.t("files",'"{displayName}" action failed',{displayName:e}))}finally{this.loading=null,this.nodes.forEach((t=>{l.Ay.set(t,"status",void 0)}))}},t:V.Tl}}),Bs=Us;var Ms=s(30651),js={};js.styleTagTransform=ht(),js.setAttributes=mt(),js.insert=dt().bind(null,"head"),js.domAPI=lt(),js.insertStyleElement=gt(),at()(Ms.A,js),Ms.A&&Ms.A.locals&&Ms.A.locals;var Rs=(0,H.A)(Bs,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"files-list__column files-list__row-actions-batch"},[e("NcActions",{ref:"actionsMenu",attrs:{disabled:!!t.loading||t.areSomeNodesLoading,"force-name":!0,inline:t.inlineActions,"menu-name":t.inlineActions<=1?t.t("files","Actions"):null,open:t.openedMenu},on:{"update:open":function(e){t.openedMenu=e}}},t._l(t.enabledActions,(function(n){return e("NcActionButton",{key:n.id,class:"files-list__row-actions-batch-"+n.id,on:{click:function(e){return t.onActionClick(n)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading===n.id?e("NcLoadingIcon",{attrs:{size:18}}):e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline(t.nodes,t.currentView)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t"+t._s(n.displayName(t.nodes,t.currentView))+"\n\t\t")])})),1)],1)}),[],!1,null,"91476734",null);const zs=Rs.exports,Vs=(0,l.pM)({name:"FilesListVirtual",components:{FilesListHeader:gs,FilesListTableFooter:ws,FilesListTableHeader:Es,VirtualList:Ds,FilesListTableHeaderActions:zs},mixins:[Qe],props:{currentView:{type:a.Ss,required:!0},currentFolder:{type:a.vd,required:!0},nodes:{type:Array,required:!0}},setup:()=>({userConfigStore:Et(),selectionStore:he()}),data:()=>({FileEntry:cs,FileEntryGrid:us,headers:(0,a.By)(),scrollToIndex:0,openFileId:null}),computed:{userConfig(){return this.userConfigStore.userConfig},fileId(){return parseInt(this.$route.params.fileid)||null},openFile(){return!!this.$route.query.openfile},summary(){return en(this.nodes)},isMtimeAvailable(){return!(this.filesListWidth<768)&&this.nodes.some((t=>void 0!==t.mtime))},isSizeAvailable(){return!(this.filesListWidth<768)&&this.nodes.some((t=>void 0!==t.size))},sortedHeaders(){return this.currentFolder&&this.currentView?[...this.headers].sort(((t,e)=>t.order-e.order)):[]},caption(){const t=(0,V.Tl)("files","List of files and folders."),e=this.currentView.caption||t,n=(0,V.Tl)("files","Column headers with buttons are sortable."),s=(0,V.Tl)("files","This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.");return"".concat(e,"\n").concat(n,"\n").concat(s)},selectedNodes(){return this.selectionStore.selected},isNoneSelected(){return 0===this.selectedNodes.length}},watch:{fileId(t){this.scrollToFile(t,!1)},openFile(t){t&&this.$nextTick((()=>this.handleOpenFile(this.fileId)))}},mounted(){window.document.querySelector("main.app-content").addEventListener("dragover",this.onDragOver);const{id:t}=(0,Q.C)("files","fileInfo",{});this.scrollToFile(null!=t?t:this.fileId),this.openSidebarForFile(null!=t?t:this.fileId),this.handleOpenFile(null!=t?t:null)},beforeDestroy(){window.document.querySelector("main.app-content").removeEventListener("dragover",this.onDragOver)},methods:{openSidebarForFile(t){if(document.documentElement.clientWidth>1024&&this.currentFolder.fileid!==t){var e;const n=this.nodes.find((e=>e.fileid===t));n&&null!=ae&&null!==(e=ae.enabled)&&void 0!==e&&e.call(ae,[n],this.currentView)&&(nt.debug("Opening sidebar on file "+n.path,{node:n}),ae.exec(n,this.currentView,this.currentFolder.path))}},scrollToFile(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t){const n=this.nodes.findIndex((e=>e.fileid===t));e&&-1===n&&t!==this.currentFolder.fileid&&(0,J.Qg)(this.t("files","File not found")),this.scrollToIndex=Math.max(0,n)}},handleOpenFile(t){if(!this.openFile)return;if(null===t||this.openFileId===t)return;const e=this.nodes.find((e=>e.fileid===t));if(void 0===e||e.type===a.pt.Folder)return;nt.debug("Opening file "+e.path,{node:e}),this.openFileId=t;const n=(0,a.qK)().filter((t=>!(null==t||!t.default))).filter((t=>!t.enabled||t.enabled([e],this.currentView))).sort(((t,e)=>(t.order||0)-(e.order||0))).at(0);null==n||n.exec(e,this.currentView,this.currentFolder.path)},onDragOver(t){var e;if(null===(e=t.dataTransfer)||void 0===e?void 0:e.types.includes("Files"))return;t.preventDefault(),t.stopPropagation();const n=this.$refs.table.$el.getBoundingClientRect().top,s=n+this.$refs.table.$el.getBoundingClientRect().height;t.clientYs-50&&(this.$refs.table.$el.scrollTop=this.$refs.table.$el.scrollTop+25)},t:V.Tl}});var qs=s(67436),Hs={};Hs.styleTagTransform=ht(),Hs.setAttributes=mt(),Hs.insert=dt().bind(null,"head"),Hs.domAPI=lt(),Hs.insertStyleElement=gt(),at()(qs.A,Hs),qs.A&&qs.A.locals&&qs.A.locals;var Ws=s(31772),$s={};$s.styleTagTransform=ht(),$s.setAttributes=mt(),$s.insert=dt().bind(null,"head"),$s.domAPI=lt(),$s.insertStyleElement=gt(),at()(Ws.A,$s),Ws.A&&Ws.A.locals&&Ws.A.locals;const Gs=(0,H.A)(Vs,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("VirtualList",{ref:"table",attrs:{"data-component":t.userConfig.grid_view?t.FileEntryGrid:t.FileEntry,"data-key":"source","data-sources":t.nodes,"grid-mode":t.userConfig.grid_view,"extra-props":{isMtimeAvailable:t.isMtimeAvailable,isSizeAvailable:t.isSizeAvailable,nodes:t.nodes,filesListWidth:t.filesListWidth},"scroll-to-index":t.scrollToIndex,caption:t.caption},scopedSlots:t._u([t.isNoneSelected?null:{key:"header-overlay",fn:function(){return[e("span",{staticClass:"files-list__selected"},[t._v(t._s(t.t("files","{count} selected",{count:t.selectedNodes.length})))]),t._v(" "),e("FilesListTableHeaderActions",{attrs:{"current-view":t.currentView,"selected-nodes":t.selectedNodes}})]},proxy:!0},{key:"before",fn:function(){return t._l(t.sortedHeaders,(function(n){return e("FilesListHeader",{key:n.id,attrs:{"current-folder":t.currentFolder,"current-view":t.currentView,header:n}})}))},proxy:!0},{key:"header",fn:function(){return[e("FilesListTableHeader",{ref:"thead",attrs:{"files-list-width":t.filesListWidth,"is-mtime-available":t.isMtimeAvailable,"is-size-available":t.isSizeAvailable,nodes:t.nodes}})]},proxy:!0},{key:"footer",fn:function(){return[e("FilesListTableFooter",{attrs:{"files-list-width":t.filesListWidth,"is-mtime-available":t.isMtimeAvailable,"is-size-available":t.isSizeAvailable,nodes:t.nodes,summary:t.summary}})]},proxy:!0}],null,!0)})}),[],!1,null,"1e2b43b6",null).exports,Ys={name:"TrayArrowDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ks=(0,H.A)(Ys,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tray-arrow-down-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Qs=(0,l.pM)({name:"DragAndDropNotice",components:{TrayArrowDownIcon:Ks},props:{currentFolder:{type:Object,required:!0}},setup(){const{currentView:t}=Ot();return{currentView:t}},data:()=>({dragover:!1}),computed:{canUpload(){return this.currentFolder&&0!=(this.currentFolder.permissions&a.aX.CREATE)},isQuotaExceeded(){var t;return 0===(null===(t=this.currentFolder)||void 0===t||null===(t=t.attributes)||void 0===t?void 0:t["quota-available-bytes"])},cantUploadLabel(){return this.isQuotaExceeded?this.t("files","Your have used your space quota and cannot upload files anymore"):this.canUpload?null:this.t("files","You don’t have permission to upload or create files here")}},mounted(){const t=window.document.querySelector("main.app-content");t.addEventListener("dragover",this.onDragOver),t.addEventListener("dragleave",this.onDragLeave),t.addEventListener("drop",this.onContentDrop)},beforeDestroy(){const t=window.document.querySelector("main.app-content");t.removeEventListener("dragover",this.onDragOver),t.removeEventListener("dragleave",this.onDragLeave),t.removeEventListener("drop",this.onContentDrop)},methods:{onDragOver(t){var e;t.preventDefault(),(null===(e=t.dataTransfer)||void 0===e?void 0:e.types.includes("Files"))&&(this.dragover=!0)},onDragLeave(t){var e;const n=t.currentTarget;null!=n&&n.contains(null!==(e=t.relatedTarget)&&void 0!==e?e:t.target)||this.dragover&&(this.dragover=!1)},onContentDrop(t){nt.debug("Drag and drop cancelled, dropped on empty space",{event:t}),t.preventDefault(),this.dragover&&(this.dragover=!1)},async onDrop(t){var e,n,s;if(this.cantUploadLabel)return void(0,J.Qg)(this.cantUploadLabel);if(null!==(e=this.$el.querySelector("tbody"))&&void 0!==e&&e.contains(t.target))return;t.preventDefault(),t.stopPropagation();const i=[...(null===(n=t.dataTransfer)||void 0===n?void 0:n.items)||[]],r=await $e(i),a=await(null===(s=this.currentView)||void 0===s?void 0:s.getContents(this.currentFolder.path)),o=null==a?void 0:a.folder;if(!o)return void(0,J.Qg)(this.t("files","Target folder does not exist any more"));if(t.button)return;nt.debug("Dropped",{event:t,folder:o,fileTree:r});const l=(await Ge(r,o,a.contents)).findLast((t=>{var e;return t.status!==Ht.c.FAILED&&!t.file.webkitRelativePath.includes("/")&&(null===(e=t.response)||void 0===e||null===(e=e.headers)||void 0===e?void 0:e["oc-fileid"])&&2===t.source.replace(o.source,"").split("/").length}));var c,d;void 0!==l&&(nt.debug("Scrolling to last upload in current folder",{lastUpload:l}),this.$router.push({...this.$route,params:{view:null!==(c=null===(d=this.$route.params)||void 0===d?void 0:d.view)&&void 0!==c?c:"files",fileid:parseInt(l.response.headers["oc-fileid"])}})),this.dragover=!1},t:V.Tl}});var Js=s(20746),Xs={};Xs.styleTagTransform=ht(),Xs.setAttributes=mt(),Xs.insert=dt().bind(null,"head"),Xs.domAPI=lt(),Xs.insertStyleElement=gt(),at()(Js.A,Xs),Js.A&&Js.A.locals&&Js.A.locals;const Zs=(0,H.A)(Qs,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{directives:[{name:"show",rawName:"v-show",value:t.dragover,expression:"dragover"}],staticClass:"files-list__drag-drop-notice",attrs:{"data-cy-files-drag-drop-area":""},on:{drop:t.onDrop}},[e("div",{staticClass:"files-list__drag-drop-notice-wrapper"},[t.canUpload&&!t.isQuotaExceeded?[e("TrayArrowDownIcon",{attrs:{size:48}}),t._v(" "),e("h3",{staticClass:"files-list-drag-drop-notice__title"},[t._v("\n\t\t\t\t"+t._s(t.t("files","Drag and drop files here to upload"))+"\n\t\t\t")])]:[e("h3",{staticClass:"files-list-drag-drop-notice__title"},[t._v("\n\t\t\t\t"+t._s(t.cantUploadLabel)+"\n\t\t\t")])]],2)])}),[],!1,null,"2b498b48",null).exports;var ti,ei=s(96763);const ni=void 0!==(null===(ti=(0,Vt.F)())||void 0===ti?void 0:ti.files_sharing),si=(0,l.pM)({name:"FilesList",components:{BreadCrumbs:tn,DragAndDropNotice:Zs,FilesListVirtual:Gs,LinkIcon:Gt.A,ListViewIcon:Kt,NcAppContent:Qt.A,NcButton:Jt.A,NcEmptyContent:Xt.A,NcIconSvgWrapper:Y.A,NcLoadingIcon:Zt.A,PlusIcon:te.A,AccountPlusIcon:ne,UploadPicker:Ht.U,ViewGridIcon:ie},mixins:[Qe,bs],setup(){var t;const e=ge(),n=fe(),s=he(),i=we(),r=Et(),a=Bt(),{currentView:o}=Ot(),l=null===(t=(0,Q.C)("core","config",[])["enable_non-accessible_features"])||void 0===t||t;return{currentView:o,n:V.zw,t:V.Tl,filesStore:e,pathsStore:n,selectionStore:s,uploaderStore:i,userConfigStore:r,viewConfigStore:a,enableGridView:l,ShareType:qt.I}},data:()=>({filterText:"",loading:!0,promise:null,unsubscribeStoreCallback:()=>{}}),computed:{userConfig(){return this.userConfigStore.userConfig},pageHeading(){var t,e;return null!==(t=null===(e=this.currentView)||void 0===e?void 0:e.name)&&void 0!==t?t:this.t("files","Files")},dir(){var t;return((null===(t=this.$route)||void 0===t||null===(t=t.query)||void 0===t||null===(t=t.dir)||void 0===t?void 0:t.toString())||"/").replace(/^(.+)\/$/,"$1")},fileId(){var t,e;const n=Number.parseInt(null!==(t=null===(e=this.$route)||void 0===e?void 0:e.params.fileid)&&void 0!==t?t:"");return Number.isNaN(n)?null:n},currentFolder(){var t;if(null===(t=this.currentView)||void 0===t||!t.id)return;if("/"===this.dir)return this.filesStore.getRoot(this.currentView.id);const e=this.pathsStore.getPath(this.currentView.id,this.dir);return void 0!==e?this.filesStore.getNode(e):void 0},sortingParameters(){return[[...this.userConfig.sort_favorites_first?[t=>{var e;return 1!==(null===(e=t.attributes)||void 0===e?void 0:e.favorite)}]:[],...this.userConfig.sort_folders_first?[t=>"folder"!==t.type]:[],..."basename"!==this.sortingMode?[t=>t[this.sortingMode]]:[],t=>{var e;return(null===(e=t.attributes)||void 0===e?void 0:e.displayname)||t.basename},t=>t.basename],[...this.userConfig.sort_favorites_first?["asc"]:[],...this.userConfig.sort_folders_first?["asc"]:[],..."mtime"===this.sortingMode?[this.isAscSorting?"desc":"asc"]:[],..."mtime"!==this.sortingMode&&"basename"!==this.sortingMode?[this.isAscSorting?"asc":"desc"]:[],this.isAscSorting?"asc":"desc",this.isAscSorting?"asc":"desc"]]},dirContentsSorted(){var t;if(!this.currentView)return[];let e=[...this.dirContents];this.filterText&&(e=e.filter((t=>t.basename.toLowerCase().includes(this.filterText.toLowerCase()))),ei.debug("Files view filtered",e));const n=((null===(t=this.currentView)||void 0===t?void 0:t.columns)||[]).find((t=>t.id===this.sortingMode));if(null!=n&&n.sort&&"function"==typeof n.sort){const t=[...this.dirContents].sort(n.sort);return this.isAscSorting?t:t.reverse()}return function(t,e,n){var s,i;e=null!==(s=e)&&void 0!==s?s:[t=>t],n=null!==(i=n)&&void 0!==i?i:[];const r=e.map(((t,e)=>{var s;return"asc"===(null!==(s=n[e])&&void 0!==s?s:"asc")?1:-1})),a=Intl.Collator([(0,V.Z0)(),(0,V.lO)()],{numeric:!0,usage:"sort"});return[...t].sort(((t,n)=>{for(const[s,i]of e.entries()){const e=a.compare(ye(i(t)),ye(i(n)));if(0!==e)return e*r[s]}return 0}))}(e,...this.sortingParameters)},dirContents(){var t,e;const n=null===(t=this.userConfigStore)||void 0===t?void 0:t.userConfig.show_hidden;return((null===(e=this.currentFolder)||void 0===e?void 0:e._children)||[]).map(this.getNode).filter((t=>{var e;return n?!!t:t&&!0!==(null==t||null===(e=t.attributes)||void 0===e?void 0:e.hidden)&&!(null!=t&&t.basename.startsWith("."))}))},isEmptyDir(){return 0===this.dirContents.length},isRefreshing(){return void 0!==this.currentFolder&&!this.isEmptyDir&&this.loading},toPreviousDir(){const t=this.dir.split("/").slice(0,-1).join("/")||"/";return{...this.$route,query:{dir:t}}},shareAttributes(){var t,e;if(null!==(t=this.currentFolder)&&void 0!==t&&null!==(t=t.attributes)&&void 0!==t&&t["share-types"])return Object.values((null===(e=this.currentFolder)||void 0===e||null===(e=e.attributes)||void 0===e?void 0:e["share-types"])||{}).flat()},shareButtonLabel(){return this.shareAttributes?this.shareButtonType===qt.I.Link?this.t("files","Shared by link"):this.t("files","Shared"):this.t("files","Share")},shareButtonType(){return this.shareAttributes?this.shareAttributes.some((t=>t===qt.I.Link))?qt.I.Link:qt.I.User:null},gridViewButtonLabel(){return this.userConfig.grid_view?this.t("files","Switch to list view"):this.t("files","Switch to grid view")},canUpload(){return this.currentFolder&&0!=(this.currentFolder.permissions&a.aX.CREATE)},isQuotaExceeded(){var t;return 0===(null===(t=this.currentFolder)||void 0===t||null===(t=t.attributes)||void 0===t?void 0:t["quota-available-bytes"])},cantUploadLabel(){return this.isQuotaExceeded?this.t("files","Your have used your space quota and cannot upload files anymore"):this.t("files","You don’t have permission to upload or create files here")},canShare(){return ni&&this.currentFolder&&0!=(this.currentFolder.permissions&a.aX.SHARE)},onSearch(){return Fs()((t=>{ei.debug("Files app handling search event from unified search...",t),this.filterText=t.query}),500)}},watch:{currentView(t,e){(null==t?void 0:t.id)!==(null==e?void 0:e.id)&&(nt.debug("View changed",{newView:t,oldView:e}),this.selectionStore.reset(),this.resetSearch(),this.fetchContent())},dir(t,e){var n;nt.debug("Directory changed",{newDir:t,oldDir:e}),this.selectionStore.reset(),this.resetSearch(),this.fetchContent();const s=null===(n=this.$refs)||void 0===n?void 0:n.filesListVirtual;null!=s&&s.$el&&(s.$el.scrollTop=0)},dirContents(t){nt.debug("Directory contents changed",{view:this.currentView,folder:this.currentFolder,contents:t}),(0,z.Ic)("files:list:updated",{view:this.currentView,folder:this.currentFolder,contents:t})}},mounted(){this.fetchContent(),(0,z.B1)("files:node:deleted",this.onNodeDeleted),(0,z.B1)("files:node:updated",this.onUpdatedNode),(0,z.B1)("nextcloud:unified-search.search",this.onSearch),(0,z.B1)("nextcloud:unified-search.reset",this.resetSearch),this.unsubscribeStoreCallback=this.userConfigStore.$subscribe((()=>this.fetchContent()),{deep:!0})},unmounted(){(0,z.al)("files:node:deleted",this.onNodeDeleted),(0,z.al)("files:node:updated",this.onUpdatedNode),(0,z.al)("nextcloud:unified-search.search",this.onSearch),(0,z.al)("nextcloud:unified-search.reset",this.resetSearch),this.unsubscribeStoreCallback()},methods:{async fetchContent(){this.loading=!0;const t=this.dir,e=this.currentView;if(e){this.promise&&"cancel"in this.promise&&(this.promise.cancel(),nt.debug("Cancelled previous ongoing fetch")),this.promise=e.getContents(t);try{const{folder:n,contents:s}=await this.promise;nt.debug("Fetched contents",{dir:t,folder:n,contents:s}),this.filesStore.updateNodes(s),this.$set(n,"_children",s.map((t=>t.source))),"/"===t?this.filesStore.setRoot({service:e.id,root:n}):n.fileid?(this.filesStore.updateNodes([n]),this.pathsStore.addPath({service:e.id,source:n.source,path:t})):nt.error("Invalid root folder returned",{dir:t,folder:n,currentView:e}),s.filter((t=>"folder"===t.type)).forEach((n=>{this.pathsStore.addPath({service:e.id,source:n.source,path:(0,Wt.join)(t,n.basename)})}))}catch(t){nt.error("Error while fetching content",{error:t})}finally{this.loading=!1}}else nt.debug("The current view doesn't exists or is not ready.",{currentView:e})},getNode(t){return this.filesStore.getNode(t)},onNodeDeleted(t){var e,n,s;t.fileid&&t.fileid===this.fileId&&(t.fileid===(null===(e=this.currentFolder)||void 0===e?void 0:e.fileid)?window.OCP.Files.Router.goToRoute(null,{view:this.$route.params.view},{dir:null!==(n=null===(s=this.currentFolder)||void 0===s?void 0:s.dirname)&&void 0!==n?n:"/"}):window.OCP.Files.Router.goToRoute(null,{...this.$route.params,fileid:void 0},{...this.$route.query,openfile:void 0}))},onUpload(t){var e;(0,Wt.dirname)(t.source)===(null===(e=this.currentFolder)||void 0===e?void 0:e.source)&&this.fetchContent()},async onUploadFail(t){var e;const n=(null===(e=t.response)||void 0===e?void 0:e.status)||0;if(507!==n)if(404!==n&&409!==n)if(403!==n){try{var s;const e=new $t.Parser({trim:!0,explicitRoot:!1}),n=(await e.parseStringPromise(null===(s=t.response)||void 0===s?void 0:s.data))["s:message"][0];if("string"==typeof n&&""!==n.trim())return void(0,J.Qg)(this.t("files","Error during upload: {message}",{message:n}))}catch(t){nt.error("Error while parsing",{error:t})}0===n?(0,J.Qg)(this.t("files","Unknown error during upload")):(0,J.Qg)(this.t("files","Error during upload, status code {status}",{status:n}))}else(0,J.Qg)(this.t("files","Operation is blocked by access control"));else(0,J.Qg)(this.t("files","Target folder does not exist any more"));else(0,J.Qg)(this.t("files","Not enough free space"))},onUpdatedNode(t){var e;(null==t?void 0:t.fileid)===(null===(e=this.currentFolder)||void 0===e?void 0:e.fileid)&&this.fetchContent()},resetSearch(){this.onSearch.clear(),this.filterText=""},openSharingSidebar(){var t;this.currentFolder?(null!==(t=window)&&void 0!==t&&null!==(t=t.OCA)&&void 0!==t&&null!==(t=t.Files)&&void 0!==t&&null!==(t=t.Sidebar)&&void 0!==t&&t.setActiveTab&&window.OCA.Files.Sidebar.setActiveTab("sharing"),ae.exec(this.currentFolder,this.currentView,this.currentFolder.path)):nt.debug("No current folder found for opening sharing sidebar")},toggleGridView(){this.userConfigStore.update("grid_view",!this.userConfig.grid_view)}}});var ii=s(79335),ri={};ri.styleTagTransform=ht(),ri.setAttributes=mt(),ri.insert=dt().bind(null,"head"),ri.domAPI=lt(),ri.insertStyleElement=gt(),at()(ii.A,ri),ii.A&&ii.A.locals&&ii.A.locals;const ai=(0,H.A)(si,(function(){var t,e,n=this,s=n._self._c;return n._self._setupProxy,s("NcAppContent",{attrs:{"page-heading":n.pageHeading,"data-cy-files-content":""}},[s("div",{staticClass:"files-list__header"},[s("BreadCrumbs",{attrs:{path:n.dir},on:{reload:n.fetchContent},scopedSlots:n._u([{key:"actions",fn:function(){return[n.canShare&&n.filesListWidth>=512?s("NcButton",{staticClass:"files-list__header-share-button",class:{"files-list__header-share-button--shared":n.shareButtonType},attrs:{"aria-label":n.shareButtonLabel,title:n.shareButtonLabel,type:"tertiary"},on:{click:n.openSharingSidebar},scopedSlots:n._u([{key:"icon",fn:function(){return[n.shareButtonType===n.ShareType.Link?s("LinkIcon"):s("AccountPlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,4106306959)}):n._e(),n._v(" "),!n.canUpload||n.isQuotaExceeded?s("NcButton",{staticClass:"files-list__header-upload-button--disabled",attrs:{"aria-label":n.cantUploadLabel,title:n.cantUploadLabel,disabled:!0,type:"secondary"},scopedSlots:n._u([{key:"icon",fn:function(){return[s("PlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2953566425)},[n._v("\n\t\t\t\t\t"+n._s(n.t("files","New"))+"\n\t\t\t\t")]):n.currentFolder?s("UploadPicker",{staticClass:"files-list__header-upload-button",attrs:{content:n.dirContents,destination:n.currentFolder,multiple:!0},on:{failed:n.onUploadFail,uploaded:n.onUpload}}):n._e()]},proxy:!0}])}),n._v(" "),n.filesListWidth>=512&&n.enableGridView?s("NcButton",{staticClass:"files-list__header-grid-button",attrs:{"aria-label":n.gridViewButtonLabel,title:n.gridViewButtonLabel,type:"tertiary"},on:{click:n.toggleGridView},scopedSlots:n._u([{key:"icon",fn:function(){return[n.userConfig.grid_view?s("ListViewIcon"):s("ViewGridIcon")]},proxy:!0}],null,!1,1682960703)}):n._e(),n._v(" "),n.isRefreshing?s("NcLoadingIcon",{staticClass:"files-list__refresh-icon"}):n._e()],1),n._v(" "),!n.loading&&n.canUpload?s("DragAndDropNotice",{attrs:{"current-folder":n.currentFolder}}):n._e(),n._v(" "),n.loading&&!n.isRefreshing?s("NcLoadingIcon",{staticClass:"files-list__loading-icon",attrs:{size:38,name:n.t("files","Loading current folder")}}):!n.loading&&n.isEmptyDir?s("NcEmptyContent",{attrs:{name:(null===(t=n.currentView)||void 0===t?void 0:t.emptyTitle)||n.t("files","No files in here"),description:(null===(e=n.currentView)||void 0===e?void 0:e.emptyCaption)||n.t("files","Upload some content or sync with your devices!"),"data-cy-files-content-empty":""},scopedSlots:n._u([{key:"action",fn:function(){return["/"!==n.dir?s("NcButton",{attrs:{"aria-label":n.t("files","Go to the previous folder"),type:"primary",to:n.toPreviousDir}},[n._v("\n\t\t\t\t"+n._s(n.t("files","Go back"))+"\n\t\t\t")]):n._e()]},proxy:!0},{key:"icon",fn:function(){return[s("NcIconSvgWrapper",{attrs:{svg:n.currentView.icon}})]},proxy:!0}])}):s("FilesListVirtual",{ref:"filesListVirtual",attrs:{"current-folder":n.currentFolder,"current-view":n.currentView,nodes:n.dirContentsSorted}})],1)}),[],!1,null,"139727ec",null).exports,oi=(0,l.pM)({name:"FilesApp",components:{NcContent:R.A,FilesList:ai,Navigation:zt}}),li=(0,H.A)(oi,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcContent",{attrs:{"app-name":"files"}},[e("Navigation"),t._v(" "),e("FilesList")],1)}),[],!1,null,null,null).exports;var ci,di;s.nc=btoa((0,o.do)()),window.OCA.Files=null!==(ci=window.OCA.Files)&&void 0!==ci?ci:{},window.OCP.Files=null!==(di=window.OCP.Files)&&void 0!==di?di:{};const ui=new class{constructor(t){var e,n,s;e=this,s=void 0,(n=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(n="_router"))in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,this._router=t}get name(){return this._router.currentRoute.name}get query(){return this._router.currentRoute.query||{}}get params(){return this._router.currentRoute.params||{}}goTo(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this._router.push({path:t,replace:e})}goToRoute(t,e,n,s){return this._router.push({name:t,query:n,params:e,replace:s})}}(B);Object.assign(window.OCP.Files,{Router:ui}),l.Ay.use(r.R2);const mi=l.Ay.observable((0,a.bh)());l.Ay.prototype.$navigation=mi;const pi=new class{constructor(){var t,e,n;t=this,n=void 0,(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e="_settings"))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,this._settings=[],j.debug("OCA.Files.Settings initialized")}register(t){return this._settings.filter((e=>e.name===t.name)).length>0?(j.error("A setting with the same name is already registered"),!1):(this._settings.push(t),!0)}get settings(){return this._settings}};Object.assign(window.OCA.Files,{Settings:pi}),Object.assign(window.OCA.Files.Settings,{Setting:class{constructor(t,e){let{el:n,open:s,close:i}=e;M(this,"_close",void 0),M(this,"_el",void 0),M(this,"_name",void 0),M(this,"_open",void 0),this._name=t,this._el=n,this._open=s,this._close=i,"function"!=typeof this._open&&(this._open=()=>{}),"function"!=typeof this._close&&(this._close=()=>{})}get name(){return this._name}get el(){return this._el}get open(){return this._open}get close(){return this._close}}}),new(l.Ay.extend(li))({router:B,pinia:c}).$mount("#content")},30521:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css"],names:[],mappings:"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF",sourcesContent:[".upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n"],sourceRoot:""}]);const o=a},67430:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list__breadcrumbs[data-v-77111ada]{flex:1 1 100% !important;width:100%;height:100%;margin-block:0;margin-inline:10px}.files-list__breadcrumbs[data-v-77111ada] a{cursor:pointer !important}.files-list__breadcrumbs--with-progress[data-v-77111ada]{flex-direction:column !important;align-items:flex-start !important}","",{version:3,sources:["webpack://./apps/files/src/components/BreadCrumbs.vue"],names:[],mappings:"AACA,0CAEC,wBAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,kBAAA,CAGC,6CACC,yBAAA,CAIF,yDACC,gCAAA,CACA,iCAAA",sourcesContent:["\n.files-list__breadcrumbs {\n\t// Take as much space as possible\n\tflex: 1 1 100% !important;\n\twidth: 100%;\n\theight: 100%;\n\tmargin-block: 0;\n\tmargin-inline: 10px;\n\n\t:deep() {\n\t\ta {\n\t\t\tcursor: pointer !important;\n\t\t}\n\t}\n\n\t&--with-progress {\n\t\tflex-direction: column !important;\n\t\talign-items: flex-start !important;\n\t}\n}\n"],sourceRoot:""}]);const o=a},20746:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list__drag-drop-notice[data-v-2b498b48]{display:flex;align-items:center;justify-content:center;width:100%;min-height:113px;margin:0;user-select:none;color:var(--color-text-maxcontrast);background-color:var(--color-main-background);border-color:#000}.files-list__drag-drop-notice h3[data-v-2b498b48]{margin-left:16px;color:inherit}.files-list__drag-drop-notice-wrapper[data-v-2b498b48]{display:flex;align-items:center;justify-content:center;height:15vh;max-height:70%;padding:0 5vw;border:2px var(--color-border-dark) dashed;border-radius:var(--border-radius-large)}","",{version:3,sources:["webpack://./apps/files/src/components/DragAndDropNotice.vue"],names:[],mappings:"AACA,+CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAEA,gBAAA,CACA,QAAA,CACA,gBAAA,CACA,mCAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kDACC,gBAAA,CACA,aAAA,CAGD,uDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,cAAA,CACA,aAAA,CACA,0CAAA,CACA,wCAAA",sourcesContent:["\n.files-list__drag-drop-notice {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\t// Breadcrumbs height + row thead height\n\tmin-height: calc(58px + 55px);\n\tmargin: 0;\n\tuser-select: none;\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: var(--color-main-background);\n\tborder-color: black;\n\n\th3 {\n\t\tmargin-left: 16px;\n\t\tcolor: inherit;\n\t}\n\n\t&-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\theight: 15vh;\n\t\tmax-height: 70%;\n\t\tpadding: 0 5vw;\n\t\tborder: 2px var(--color-border-dark) dashed;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n}\n\n"],sourceRoot:""}]);const o=a},76810:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list-drag-image{position:absolute;top:-9999px;left:-9999px;display:flex;overflow:hidden;align-items:center;height:44px;padding:6px 12px;background:var(--color-main-background)}.files-list-drag-image__icon,.files-list-drag-image .files-list__row-icon{display:flex;overflow:hidden;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius)}.files-list-drag-image__icon{overflow:visible;margin-right:12px}.files-list-drag-image__icon img{max-width:100%;max-height:100%}.files-list-drag-image__icon .material-design-icon{color:var(--color-text-maxcontrast)}.files-list-drag-image__icon .material-design-icon.folder-icon{color:var(--color-primary-element)}.files-list-drag-image__icon>span{display:flex}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon{margin-top:6px;margin-left:-26px}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon+.files-list__row-icon{margin-top:12px}.files-list-drag-image__icon>span:not(:empty)+*{display:none}.files-list-drag-image__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}","",{version:3,sources:["webpack://./apps/files/src/components/DragAndDropPreview.vue"],names:[],mappings:"AAIA,uBACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,WAAA,CACA,gBAAA,CACA,uCAAA,CAEA,0EAEC,YAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kCAAA,CAGD,6BACC,gBAAA,CACA,iBAAA,CAEA,iCACC,cAAA,CACA,eAAA,CAGD,mDACC,mCAAA,CACA,+DACC,kCAAA,CAKF,kCACC,YAAA,CAGA,8EACC,cA9CU,CA+CV,iBAAA,CACA,oGACC,eAAA,CAKF,gDACC,YAAA,CAKH,6BACC,eAAA,CACA,kBAAA,CACA,sBAAA",sourcesContent:["\n$size: 32px;\n$stack-shift: 6px;\n\n.files-list-drag-image {\n\tposition: absolute;\n\ttop: -9999px;\n\tleft: -9999px;\n\tdisplay: flex;\n\toverflow: hidden;\n\talign-items: center;\n\theight: 44px;\n\tpadding: 6px 12px;\n\tbackground: var(--color-main-background);\n\n\t&__icon,\n\t.files-list__row-icon {\n\t\tdisplay: flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tborder-radius: var(--border-radius);\n\t}\n\n\t&__icon {\n\t\toverflow: visible;\n\t\tmargin-right: 12px;\n\n\t\timg {\n\t\t\tmax-width: 100%;\n\t\t\tmax-height: 100%;\n\t\t}\n\n\t\t.material-design-icon {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t&.folder-icon {\n\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t}\n\t\t}\n\n\t\t// Previews container\n\t\t> span {\n\t\t\tdisplay: flex;\n\n\t\t\t// Stack effect if more than one element\n\t\t\t.files-list__row-icon + .files-list__row-icon {\n\t\t\t\tmargin-top: $stack-shift;\n\t\t\t\tmargin-left: $stack-shift - $size;\n\t\t\t\t& + .files-list__row-icon {\n\t\t\t\t\tmargin-top: $stack-shift * 2;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If we have manually clone the preview,\n\t\t\t// let's hide any fallback icons\n\t\t\t&:not(:empty) + * {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n"],sourceRoot:""}]);const o=a},14781:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".favorite-marker-icon[data-v-42ea6dd4]{color:var(--color-favorite);min-width:unset !important;min-height:unset !important}.favorite-marker-icon[data-v-42ea6dd4] svg{width:26px !important;height:26px !important;max-width:unset !important;max-height:unset !important}.favorite-marker-icon[data-v-42ea6dd4] svg path{stroke:var(--color-main-background);stroke-width:8px;stroke-linejoin:round;paint-order:stroke}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FavoriteIcon.vue"],names:[],mappings:"AACA,uCACC,2BAAA,CAEA,0BAAA,CACG,2BAAA,CAGF,4CAEC,qBAAA,CACA,sBAAA,CAGA,0BAAA,CACA,2BAAA,CAGA,iDACC,mCAAA,CACA,gBAAA,CACA,qBAAA,CACA,kBAAA",sourcesContent:["\n.favorite-marker-icon {\n\tcolor: var(--color-favorite);\n\t// Override NcIconSvgWrapper defaults (clickable area)\n\tmin-width: unset !important;\n min-height: unset !important;\n\n\t:deep() {\n\t\tsvg {\n\t\t\t// We added a stroke for a11y so we must increase the size to include the stroke\n\t\t\twidth: 26px !important;\n\t\t\theight: 26px !important;\n\n\t\t\t// Override NcIconSvgWrapper defaults of 20px\n\t\t\tmax-width: unset !important;\n\t\t\tmax-height: unset !important;\n\n\t\t\t// Sow a border around the icon for better contrast\n\t\t\tpath {\n\t\t\t\tstroke: var(--color-main-background);\n\t\t\t\tstroke-width: 8px;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t\tpaint-order: stroke;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=a},37546:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,"main.app-content[style*=mouse-pos-x] .v-popper__popper{transform:translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important}main.app-content[style*=mouse-pos-x] .v-popper__popper[data-popper-placement=top]{transform:translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh + 34px), 0px) !important}main.app-content[style*=mouse-pos-x] .v-popper__popper .v-popper__arrow-container{display:none}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue"],names:[],mappings:"AAGA,uDACC,6EAAA,CAGA,kFAEC,iGAAA,CAGD,kFACC,YAAA",sourcesContent:['\n// Allow right click to define the position of the menu\n// only if defined\nmain.app-content[style*="mouse-pos-x"] .v-popper__popper {\n\ttransform: translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important;\n\n\t// If the menu is too close to the bottom, we move it up\n\t&[data-popper-placement="top"] {\n\t\t// 34px added to align with the top of the cursor\n\t\ttransform: translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh + 34px), 0px) !important;\n\t}\n\t// Hide arrow if floating\n\t.v-popper__arrow-container {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const o=a},48846:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,"[data-v-0ef7511c] .button-vue--icon-and-text .button-vue__text{color:var(--color-primary-element)}[data-v-0ef7511c] .button-vue--icon-and-text .button-vue__icon{color:var(--color-primary-element)}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue"],names:[],mappings:"AAEC,+DACC,kCAAA,CAED,+DACC,kCAAA",sourcesContent:["\n:deep(.button-vue--icon-and-text, .files-list__row-action-sharing-status) {\n\t.button-vue__text {\n\t\tcolor: var(--color-primary-element);\n\t}\n\t.button-vue__icon {\n\t\tcolor: var(--color-primary-element);\n\t}\n}\n"],sourceRoot:""}]);const o=a},31840:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,"tr[data-v-a85bde20]{margin-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}tr td[data-v-a85bde20]{user-select:none;color:var(--color-text-maxcontrast) !important}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableFooter.vue"],names:[],mappings:"AAEA,oBACC,mBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAEA,uBACC,gBAAA,CAEA,8CAAA",sourcesContent:["\n// Scoped row\ntr {\n\tmargin-bottom: 300px;\n\tborder-top: 1px solid var(--color-border);\n\t// Prevent hover effect on the whole row\n\tbackground-color: transparent !important;\n\tborder-bottom: none !important;\n\n\ttd {\n\t\tuser-select: none;\n\t\t// Make sure the cell colors don't apply to column headers\n\t\tcolor: var(--color-text-maxcontrast) !important;\n\t}\n}\n"],sourceRoot:""}]);const o=a},75458:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list__column[data-v-68d3de81]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-68d3de81]{cursor:pointer}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeader.vue"],names:[],mappings:"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA",sourcesContent:["\n.files-list__column {\n\tuser-select: none;\n\t// Make sure the cell colors don't apply to column headers\n\tcolor: var(--color-text-maxcontrast) !important;\n\n\t&--sortable {\n\t\tcursor: pointer;\n\t}\n}\n\n"],sourceRoot:""}]);const o=a},30651:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list__row-actions-batch[data-v-91476734]{flex:1 1 100% !important;max-width:100%}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeaderActions.vue"],names:[],mappings:"AACA,gDACC,wBAAA,CACA,cAAA",sourcesContent:["\n.files-list__row-actions-batch {\n\tflex: 1 1 100% !important;\n\tmax-width: 100%;\n}\n"],sourceRoot:""}]);const o=a},69426:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list__column-sort-button[data-v-2dd1845e]{margin:0 calc(var(--cell-margin)*-1);min-width:calc(100% - 3*var(--cell-margin)) !important}.files-list__column-sort-button-text[data-v-2dd1845e]{color:var(--color-text-maxcontrast);font-weight:normal}.files-list__column-sort-button-icon[data-v-2dd1845e]{color:var(--color-text-maxcontrast);opacity:0;transition:opacity var(--animation-quick);inset-inline-start:-10px}.files-list__column-sort-button--size .files-list__column-sort-button-icon[data-v-2dd1845e]{inset-inline-start:10px}.files-list__column-sort-button--active .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:hover .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:focus .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:active .files-list__column-sort-button-icon[data-v-2dd1845e]{opacity:1}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListTableHeaderButton.vue"],names:[],mappings:"AACA,iDAEC,oCAAA,CACA,sDAAA,CAEA,sDACC,mCAAA,CACA,kBAAA,CAGD,sDACC,mCAAA,CACA,SAAA,CACA,yCAAA,CACA,wBAAA,CAGD,4FACC,uBAAA,CAGD,mXAIC,SAAA",sourcesContent:["\n.files-list__column-sort-button {\n\t// Compensate for cells margin\n\tmargin: 0 calc(var(--cell-margin) * -1);\n\tmin-width: calc(100% - 3 * var(--cell-margin))!important;\n\n\t&-text {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tfont-weight: normal;\n\t}\n\n\t&-icon {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\topacity: 0;\n\t\ttransition: opacity var(--animation-quick);\n\t\tinset-inline-start: -10px;\n\t}\n\n\t&--size &-icon {\n\t\tinset-inline-start: 10px;\n\t}\n\n\t&--active &-icon,\n\t&:hover &-icon,\n\t&:focus &-icon,\n\t&:active &-icon {\n\t\topacity: 1;\n\t}\n}\n"],sourceRoot:""}]);const o=a},67436:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".files-list[data-v-1e2b43b6]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;overflow:auto;height:100%;will-change:scroll-position}.files-list[data-v-1e2b43b6] tbody{will-change:padding;contain:layout paint style;display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-1e2b43b6] tbody tr{contain:strict}.files-list[data-v-1e2b43b6] tbody tr:hover,.files-list[data-v-1e2b43b6] tbody tr:focus{background-color:var(--color-background-dark)}.files-list[data-v-1e2b43b6] .files-list__before{display:flex;flex-direction:column}.files-list[data-v-1e2b43b6] .files-list__selected{padding-right:12px;white-space:nowrap}.files-list[data-v-1e2b43b6] .files-list__table{display:block}.files-list[data-v-1e2b43b6] .files-list__table.files-list__table--with-thead-overlay{margin-top:calc(-1*var(--row-height))}.files-list[data-v-1e2b43b6] .files-list__thead-overlay{position:sticky;top:0;margin-left:var(--row-height);z-index:20;display:flex;align-items:center;background-color:var(--color-main-background);border-bottom:1px solid var(--color-border);height:var(--row-height)}.files-list[data-v-1e2b43b6] .files-list__thead,.files-list[data-v-1e2b43b6] .files-list__tfoot{display:flex;flex-direction:column;width:100%;background-color:var(--color-main-background)}.files-list[data-v-1e2b43b6] .files-list__thead{position:sticky;z-index:10;top:0}.files-list[data-v-1e2b43b6] .files-list__tfoot{min-height:300px}.files-list[data-v-1e2b43b6] tr{position:relative;display:flex;align-items:center;width:100%;user-select:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;user-select:none;height:var(--row-height)}.files-list[data-v-1e2b43b6] td,.files-list[data-v-1e2b43b6] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-1e2b43b6] td span,.files-list[data-v-1e2b43b6] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-1e2b43b6] .files-list__row--failed{position:absolute;display:block;top:0;left:0;right:0;bottom:0;opacity:.1;z-index:-1;background:var(--color-error)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox{justify-content:center}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-1e2b43b6] .files-list__row:hover,.files-list[data-v-1e2b43b6] .files-list__row:focus,.files-list[data-v-1e2b43b6] .files-list__row:active,.files-list[data-v-1e2b43b6] .files-list__row--active,.files-list[data-v-1e2b43b6] .files-list__row--dragover{background-color:var(--color-background-hover);--color-text-maxcontrast: var(--color-main-text)}.files-list[data-v-1e2b43b6] .files-list__row:hover>*,.files-list[data-v-1e2b43b6] .files-list__row:focus>*,.files-list[data-v-1e2b43b6] .files-list__row:active>*,.files-list[data-v-1e2b43b6] .files-list__row--active>*,.files-list[data-v-1e2b43b6] .files-list__row--dragover>*{--color-border: var(--color-border-dark)}.files-list[data-v-1e2b43b6] .files-list__row:hover .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row:focus .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row:active .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row--active .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row--dragover .favorite-marker-icon svg path{stroke:var(--color-background-hover)}.files-list[data-v-1e2b43b6] .files-list__row--dragover *{pointer-events:none}.files-list[data-v-1e2b43b6] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-1e2b43b6] .files-list__row-icon *{cursor:pointer}.files-list[data-v-1e2b43b6] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-1e2b43b6] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-icon,.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-open-icon{margin:-3px}.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-icon svg,.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-open-icon svg{width:calc(var(--icon-preview-size) + 6px);height:calc(var(--icon-preview-size) + 6px)}.files-list[data-v-1e2b43b6] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);object-fit:contain;object-position:center}.files-list[data-v-1e2b43b6] .files-list__row-icon-preview:not(.files-list__row-icon-preview--loaded){background:var(--color-loading-dark)}.files-list[data-v-1e2b43b6] .files-list__row-icon-favorite{position:absolute;top:0px;right:-10px}.files-list[data-v-1e2b43b6] .files-list__row-icon-overlay{position:absolute;max-height:calc(var(--icon-preview-size)*.5);max-width:calc(var(--icon-preview-size)*.5);color:var(--color-primary-element-text);margin-top:2px}.files-list[data-v-1e2b43b6] .files-list__row-icon-overlay--file{color:var(--color-main-text);background:var(--color-main-background);border-radius:100%}.files-list[data-v-1e2b43b6] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-1e2b43b6] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%;min-width:0}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus-visible{outline:none}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus:not(:focus-visible) .files-list__row-name-text{outline:none !important}.files-list[data-v-1e2b43b6] .files-list__row-name .files-list__row-name-text{color:var(--color-main-text);padding:5px 10px;margin-left:-10px;display:inline-flex}.files-list[data-v-1e2b43b6] .files-list__row-name .files-list__row-name-ext{color:var(--color-text-maxcontrast);overflow:visible}.files-list[data-v-1e2b43b6] .files-list__row-rename{width:100%;max-width:600px}.files-list[data-v-1e2b43b6] .files-list__row-rename input{width:100%;margin-left:-8px;padding:2px 6px;border-width:2px}.files-list[data-v-1e2b43b6] .files-list__row-rename input:invalid{border-color:var(--color-error);color:red}.files-list[data-v-1e2b43b6] .files-list__row-actions{width:auto}.files-list[data-v-1e2b43b6] .files-list__row-actions~td,.files-list[data-v-1e2b43b6] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-1e2b43b6] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-1e2b43b6] .files-list__row-action--inline{margin-right:7px}.files-list[data-v-1e2b43b6] .files-list__row-mtime,.files-list[data-v-1e2b43b6] .files-list__row-size{color:var(--color-text-maxcontrast)}.files-list[data-v-1e2b43b6] .files-list__row-size{width:calc(var(--row-height)*1.5);justify-content:flex-end}.files-list[data-v-1e2b43b6] .files-list__row-mtime{width:calc(var(--row-height)*2)}.files-list[data-v-1e2b43b6] .files-list__row-column-custom{width:calc(var(--row-height)*2)}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListVirtual.vue"],names:[],mappings:"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,aAAA,CACA,WAAA,CACA,2BAAA,CAIC,oCACC,mBAAA,CACA,0BAAA,CACA,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAGA,uCACC,cAAA,CACA,0FAEC,6CAAA,CAMH,kDACC,YAAA,CACA,qBAAA,CAGD,oDACC,kBAAA,CACA,kBAAA,CAGD,iDACC,aAAA,CAEA,uFAEC,qCAAA,CAIF,yDAEC,eAAA,CACA,KAAA,CAEA,6BAAA,CAEA,UAAA,CAEA,YAAA,CACA,kBAAA,CAGA,6CAAA,CACA,2CAAA,CACA,wBAAA,CAGD,kGAEC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,6CAAA,CAKD,iDAEC,eAAA,CACA,UAAA,CACA,KAAA,CAID,iDACC,gBAAA,CAGD,iCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,gBAAA,CACA,2CAAA,CACA,qBAAA,CACA,gBAAA,CACA,wBAAA,CAGD,kEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,4EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,UAAA,CACA,6BAAA,CAGD,wDACC,sBAAA,CAEA,+EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,kHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,4GACC,mBAAA,CAMF,gRAEC,8CAAA,CAGA,gDAAA,CACA,0RACC,wCAAA,CAID,2aACC,oCAAA,CAIF,2DAEC,mBAAA,CAKF,oDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAGA,sDACC,cAAA,CAGD,yDACC,0BAAA,CAEA,iGACC,8BAAA,CACA,+BAAA,CAID,+IAEC,WAAA,CACA,uJACC,0CAAA,CACA,2CAAA,CAKH,4DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CAEA,kBAAA,CACA,sBAAA,CAGA,uGACC,oCAAA,CAKF,6DACC,iBAAA,CACA,OAAA,CACA,WAAA,CAID,4DACC,iBAAA,CACA,4CAAA,CACA,2CAAA,CACA,uCAAA,CAEA,cAAA,CAGA,kEACC,4BAAA,CACA,uCAAA,CACA,kBAAA,CAMH,oDAEC,eAAA,CAEA,aAAA,CAEA,sDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAEA,WAAA,CAGA,oEACC,YAAA,CAID,uFACC,mDAAA,CACA,kBAAA,CAED,2GACC,uBAAA,CAIF,+EACC,4BAAA,CAEA,gBAAA,CACA,iBAAA,CAEA,mBAAA,CAGD,8EACC,mCAAA,CAEA,gBAAA,CAKF,sDACC,UAAA,CACA,eAAA,CACA,4DACC,UAAA,CAEA,gBAAA,CACA,eAAA,CACA,gBAAA,CAEA,oEAEC,+BAAA,CACA,SAAA,CAKH,uDAEC,UAAA,CAGA,oHAEC,2BAAA,CAIA,gFAEC,kBAAA,CAKH,8DACC,gBAAA,CAGD,yGAEC,mCAAA,CAED,oDACC,iCAAA,CAEA,wBAAA,CAGD,qDACC,+BAAA,CAGD,6DACC,+BAAA",sourcesContent:["\n.files-list {\n\t--row-height: 55px;\n\t--cell-margin: 14px;\n\n\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\n\t--checkbox-size: 24px;\n\t--clickable-area: 44px;\n\t--icon-preview-size: 32px;\n\n\toverflow: auto;\n\theight: 100%;\n\twill-change: scroll-position;\n\n\t& :deep() {\n\t\t// Table head, body and footer\n\t\ttbody {\n\t\t\twill-change: padding;\n\t\t\tcontain: layout paint style;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\t// Necessary for virtual scrolling absolute\n\t\t\tposition: relative;\n\n\t\t\t/* Hover effect on tbody lines only */\n\t\t\ttr {\n\t\t\t\tcontain: strict;\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Before table and thead\n\t\t.files-list__before {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\n\t\t.files-list__selected {\n\t\t\tpadding-right: 12px;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t.files-list__table {\n\t\t\tdisplay: block;\n\n\t\t\t&.files-list__table--with-thead-overlay {\n\t\t\t\t// Hide the table header below the overlay\n\t\t\t\tmargin-top: calc(-1 * var(--row-height));\n\t\t\t}\n\t\t}\n\n\t\t.files-list__thead-overlay {\n\t\t\t// Pinned on top when scrolling\n\t\t\tposition: sticky;\n\t\t\ttop: 0;\n\t\t\t// Save space for a row checkbox\n\t\t\tmargin-left: var(--row-height);\n\t\t\t// More than .files-list__thead\n\t\t\tz-index: 20;\n\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t// Reuse row styles\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\theight: var(--row-height);\n\t\t}\n\n\t\t.files-list__thead,\n\t\t.files-list__tfoot {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--color-main-background);\n\n\t\t}\n\n\t\t// Table header\n\t\t.files-list__thead {\n\t\t\t// Pinned on top when scrolling\n\t\t\tposition: sticky;\n\t\t\tz-index: 10;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t// Table footer\n\t\t.files-list__tfoot {\n\t\t\tmin-height: 300px;\n\t\t}\n\n\t\ttr {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\twidth: 100%;\n\t\t\tuser-select: none;\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\tbox-sizing: border-box;\n\t\t\tuser-select: none;\n\t\t\theight: var(--row-height);\n\t\t}\n\n\t\ttd, th {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tflex: 0 0 auto;\n\t\t\tjustify-content: left;\n\t\t\twidth: var(--row-height);\n\t\t\theight: var(--row-height);\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tborder: none;\n\n\t\t\t// Columns should try to add any text\n\t\t\t// node wrapped in a span. That should help\n\t\t\t// with the ellipsis on overflow.\n\t\t\tspan {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row--failed {\n\t\t\tposition: absolute;\n\t\t\tdisplay: block;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\topacity: .1;\n\t\t\tz-index: -1;\n\t\t\tbackground: var(--color-error);\n\t\t}\n\n\t\t.files-list__row-checkbox {\n\t\t\tjustify-content: center;\n\n\t\t\t.checkbox-radio-switch {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: center;\n\n\t\t\t\t--icon-size: var(--checkbox-size);\n\n\t\t\t\tlabel.checkbox-radio-switch__label {\n\t\t\t\t\twidth: var(--clickable-area);\n\t\t\t\t\theight: var(--clickable-area);\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\n\t\t\t\t}\n\n\t\t\t\t.checkbox-radio-switch__icon {\n\t\t\t\t\tmargin: 0 !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row {\n\t\t\t&:hover, &:focus, &:active, &--active, &--dragover {\n\t\t\t\t// WCAG AA compliant\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\t// text-maxcontrast have been designed to pass WCAG AA over\n\t\t\t\t// a white background, we need to adjust then.\n\t\t\t\t--color-text-maxcontrast: var(--color-main-text);\n\t\t\t\t> * {\n\t\t\t\t\t--color-border: var(--color-border-dark);\n\t\t\t\t}\n\n\t\t\t\t// Hover state of the row should also change the favorite markers background\n\t\t\t\t.favorite-marker-icon svg path {\n\t\t\t\t\tstroke: var(--color-background-hover);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&--dragover * {\n\t\t\t\t// Prevent dropping on row children\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\n\t\t// Entry preview or mime icon\n\t\t.files-list__row-icon {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\toverflow: visible;\n\t\t\talign-items: center;\n\t\t\t// No shrinking or growing allowed\n\t\t\tflex: 0 0 var(--icon-preview-size);\n\t\t\tjustify-content: center;\n\t\t\twidth: var(--icon-preview-size);\n\t\t\theight: 100%;\n\t\t\t// Show same padding as the checkbox right padding for visual balance\n\t\t\tmargin-right: var(--checkbox-padding);\n\t\t\tcolor: var(--color-primary-element);\n\n\t\t\t// Icon is also clickable\n\t\t\t* {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t& > span {\n\t\t\t\tjustify-content: flex-start;\n\n\t\t\t\t&:not(.files-list__row-icon-favorite) svg {\n\t\t\t\t\twidth: var(--icon-preview-size);\n\t\t\t\t\theight: var(--icon-preview-size);\n\t\t\t\t}\n\n\t\t\t\t// Slightly increase the size of the folder icon\n\t\t\t\t&.folder-icon,\n\t\t\t\t&.folder-open-icon {\n\t\t\t\t\tmargin: -3px;\n\t\t\t\t\tsvg {\n\t\t\t\t\t\twidth: calc(var(--icon-preview-size) + 6px);\n\t\t\t\t\t\theight: calc(var(--icon-preview-size) + 6px);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&-preview {\n\t\t\t\toverflow: hidden;\n\t\t\t\twidth: var(--icon-preview-size);\n\t\t\t\theight: var(--icon-preview-size);\n\t\t\t\tborder-radius: var(--border-radius);\n\t\t\t\t// Center and contain the preview\n\t\t\t\tobject-fit: contain;\n\t\t\t\tobject-position: center;\n\n\t\t\t\t/* Preview not loaded animation effect */\n\t\t\t\t&:not(.files-list__row-icon-preview--loaded) {\n\t\t\t\t\tbackground: var(--color-loading-dark);\n\t\t\t\t\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&-favorite {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0px;\n\t\t\t\tright: -10px;\n\t\t\t}\n\n\t\t\t// File and folder overlay\n\t\t\t&-overlay {\n\t\t\t\tposition: absolute;\n\t\t\t\tmax-height: calc(var(--icon-preview-size) * 0.5);\n\t\t\t\tmax-width: calc(var(--icon-preview-size) * 0.5);\n\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t\t// better alignment with the folder icon\n\t\t\t\tmargin-top: 2px;\n\n\t\t\t\t// Improve icon contrast with a background for files\n\t\t\t\t&--file {\n\t\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t\tbackground: var(--color-main-background);\n\t\t\t\t\tborder-radius: 100%;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Entry link\n\t\t.files-list__row-name {\n\t\t\t// Prevent link from overflowing\n\t\t\toverflow: hidden;\n\t\t\t// Take as much space as possible\n\t\t\tflex: 1 1 auto;\n\n\t\t\ta {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\t// Fill cell height and width\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\t// Necessary for flex grow to work\n\t\t\t\tmin-width: 0;\n\n\t\t\t\t// Already added to the inner text, see rule below\n\t\t\t\t&:focus-visible {\n\t\t\t\t\toutline: none;\n\t\t\t\t}\n\n\t\t\t\t// Keyboard indicator a11y\n\t\t\t\t&:focus .files-list__row-name-text {\n\t\t\t\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t\t\t\tborder-radius: 20px;\n\t\t\t\t}\n\t\t\t\t&:focus:not(:focus-visible) .files-list__row-name-text {\n\t\t\t\t\toutline: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.files-list__row-name-text {\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t// Make some space for the outline\n\t\t\t\tpadding: 5px 10px;\n\t\t\t\tmargin-left: -10px;\n\t\t\t\t// Align two name and ext\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\n\t\t\t.files-list__row-name-ext {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t\t// always show the extension\n\t\t\t\toverflow: visible;\n\t\t\t}\n\t\t}\n\n\t\t// Rename form\n\t\t.files-list__row-rename {\n\t\t\twidth: 100%;\n\t\t\tmax-width: 600px;\n\t\t\tinput {\n\t\t\t\twidth: 100%;\n\t\t\t\t// Align with text, 0 - padding - border\n\t\t\t\tmargin-left: -8px;\n\t\t\t\tpadding: 2px 6px;\n\t\t\t\tborder-width: 2px;\n\n\t\t\t\t&:invalid {\n\t\t\t\t\t// Show red border on invalid input\n\t\t\t\t\tborder-color: var(--color-error);\n\t\t\t\t\tcolor: red;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-actions {\n\t\t\t// take as much space as necessary\n\t\t\twidth: auto;\n\n\t\t\t// Add margin to all cells after the actions\n\t\t\t& ~ td,\n\t\t\t& ~ th {\n\t\t\t\tmargin: 0 var(--cell-margin);\n\t\t\t}\n\n\t\t\tbutton {\n\t\t\t\t.button-vue__text {\n\t\t\t\t\t// Remove bold from default button styling\n\t\t\t\t\tfont-weight: normal;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-action--inline {\n\t\t\tmargin-right: 7px;\n\t\t}\n\n\t\t.files-list__row-mtime,\n\t\t.files-list__row-size {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t\t.files-list__row-size {\n\t\t\twidth: calc(var(--row-height) * 1.5);\n\t\t\t// Right align content/text\n\t\t\tjustify-content: flex-end;\n\t\t}\n\n\t\t.files-list__row-mtime {\n\t\t\twidth: calc(var(--row-height) * 2);\n\t\t}\n\n\t\t.files-list__row-column-custom {\n\t\t\twidth: calc(var(--row-height) * 2);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=a},31772:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,"tbody.files-list__tbody.files-list__tbody--grid{--half-clickable-area: calc(var(--clickable-area) / 2);--row-width: 160px;--row-height: calc(var(--row-width) - var(--half-clickable-area));--icon-preview-size: calc(var(--row-width) - var(--clickable-area));--checkbox-padding: 0px;display:grid;grid-template-columns:repeat(auto-fill, var(--row-width));grid-gap:15px;row-gap:15px;align-content:center;align-items:center;justify-content:space-around;justify-items:center}tbody.files-list__tbody.files-list__tbody--grid tr{width:var(--row-width);height:calc(var(--row-height) + var(--clickable-area));border:none;border-radius:var(--border-radius)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-checkbox{position:absolute;z-index:9;top:0;left:0;overflow:hidden;width:var(--clickable-area);height:var(--clickable-area);border-radius:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-icon-favorite{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--clickable-area);height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name{display:grid;justify-content:stretch;width:100%;height:100%;grid-auto-rows:var(--row-height) var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name span.files-list__row-icon{width:100%;height:100%;padding-top:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name a.files-list__row-name-link{width:calc(100% - var(--clickable-area));height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name .files-list__row-name-text{margin:0;padding-right:0}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-actions{position:absolute;right:0;bottom:0;width:var(--clickable-area);height:var(--clickable-area)}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListVirtual.vue"],names:[],mappings:"AAEA,gDACC,sDAAA,CACA,kBAAA,CAEA,iEAAA,CACA,mEAAA,CACA,uBAAA,CAEA,YAAA,CACA,yDAAA,CACA,aAAA,CACA,YAAA,CAEA,oBAAA,CACA,kBAAA,CACA,4BAAA,CACA,oBAAA,CAEA,mDACC,sBAAA,CACA,sDAAA,CACA,WAAA,CACA,kCAAA,CAID,0EACC,iBAAA,CACA,SAAA,CACA,KAAA,CACA,MAAA,CACA,eAAA,CACA,2BAAA,CACA,4BAAA,CACA,wCAAA,CAID,+EACC,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,2BAAA,CACA,4BAAA,CAGD,sEACC,YAAA,CACA,uBAAA,CACA,UAAA,CACA,WAAA,CACA,sDAAA,CAEA,gGACC,UAAA,CACA,WAAA,CAGA,sCAAA,CAGD,kGAEC,wCAAA,CACA,4BAAA,CAGD,iGACC,QAAA,CACA,eAAA,CAIF,yEACC,iBAAA,CACA,OAAA,CACA,QAAA,CACA,2BAAA,CACA,4BAAA",sourcesContent:["\n// Grid mode\ntbody.files-list__tbody.files-list__tbody--grid {\n\t--half-clickable-area: calc(var(--clickable-area) / 2);\n\t--row-width: 160px;\n\t// We use half of the clickable area as visual balance margin\n\t--row-height: calc(var(--row-width) - var(--half-clickable-area));\n\t--icon-preview-size: calc(var(--row-width) - var(--clickable-area));\n\t--checkbox-padding: 0px;\n\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fill, var(--row-width));\n\tgrid-gap: 15px;\n\trow-gap: 15px;\n\n\talign-content: center;\n\talign-items: center;\n\tjustify-content: space-around;\n\tjustify-items: center;\n\n\ttr {\n\t\twidth: var(--row-width);\n\t\theight: calc(var(--row-height) + var(--clickable-area));\n\t\tborder: none;\n\t\tborder-radius: var(--border-radius);\n\t}\n\n\t// Checkbox in the top left\n\t.files-list__row-checkbox {\n\t\tposition: absolute;\n\t\tz-index: 9;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\toverflow: hidden;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t\tborder-radius: var(--half-clickable-area);\n\t}\n\n\t// Star icon in the top right\n\t.files-list__row-icon-favorite {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t}\n\n\t.files-list__row-name {\n\t\tdisplay: grid;\n\t\tjustify-content: stretch;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tgrid-auto-rows: var(--row-height) var(--clickable-area);\n\n\t\tspan.files-list__row-icon {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\t// Visual balance, we use half of the clickable area\n\t\t\t// as a margin around the preview\n\t\t\tpadding-top: var(--half-clickable-area);\n\t\t}\n\n\t\ta.files-list__row-name-link {\n\t\t\t// Minus action menu\n\t\t\twidth: calc(100% - var(--clickable-area));\n\t\t\theight: var(--clickable-area);\n\t\t}\n\n\t\t.files-list__row-name-text {\n\t\t\tmargin: 0;\n\t\t\tpadding-right: 0;\n\t\t}\n\t}\n\n\t.files-list__row-actions {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\twidth: var(--clickable-area);\n\t\theight: var(--clickable-area);\n\t}\n}\n"],sourceRoot:""}]);const o=a},33149:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".app-navigation-entry__settings-quota--not-unlimited[data-v-063ed938] .app-navigation-entry__name{margin-top:-6px}.app-navigation-entry__settings-quota progress[data-v-063ed938]{position:absolute;bottom:12px;margin-left:44px;width:calc(100% - 44px - 22px)}","",{version:3,sources:["webpack://./apps/files/src/components/NavigationQuota.vue"],names:[],mappings:"AAIC,kGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA",sourcesContent:["\n// User storage stats display\n.app-navigation-entry__settings-quota {\n\t// Align title with progress and icon\n\t&--not-unlimited::v-deep .app-navigation-entry__name {\n\t\tmargin-top: -6px;\n\t}\n\n\tprogress {\n\t\tposition: absolute;\n\t\tbottom: 12px;\n\t\tmargin-left: 44px;\n\t\twidth: calc(100% - 44px - 22px);\n\t}\n}\n"],sourceRoot:""}]);const o=a},79335:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".app-content[data-v-139727ec]{display:flex;overflow:hidden;flex-direction:column;max-height:100%;position:relative !important}.files-list__header[data-v-139727ec]{display:flex;align-items:center;flex:0 0;max-width:100%;margin-block:var(--app-navigation-padding, 4px);margin-inline:calc(var(--default-clickable-area, 44px) + 2*var(--app-navigation-padding, 4px)) var(--app-navigation-padding, 4px)}.files-list__header>*[data-v-139727ec]{flex:0 0}.files-list__header-share-button[data-v-139727ec]{color:var(--color-text-maxcontrast) !important}.files-list__header-share-button--shared[data-v-139727ec]{color:var(--color-main-text) !important}.files-list__refresh-icon[data-v-139727ec]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-139727ec]{margin:auto}","",{version:3,sources:["webpack://./apps/files/src/views/FilesList.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CACA,4BAAA,CAIA,qCACC,YAAA,CACA,kBAAA,CAEA,QAAA,CACA,cAAA,CAEA,+CAAA,CACA,iIAAA,CAEA,uCAGC,QAAA,CAGD,kDACC,8CAAA,CAEA,0DACC,uCAAA,CAKH,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAGD,2CACC,WAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n\tposition: relative !important;\n}\n\n.files-list {\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\t// Do not grow or shrink (vertically)\n\t\tflex: 0 0;\n\t\tmax-width: 100%;\n\t\t// Align with the navigation toggle icon\n\t\tmargin-block: var(--app-navigation-padding, 4px);\n\t\tmargin-inline: calc(var(--default-clickable-area, 44px) + 2 * var(--app-navigation-padding, 4px)) var(--app-navigation-padding, 4px);\n\n\t\t>* {\n\t\t\t// Do not grow or shrink (horizontally)\n\t\t\t// Only the breadcrumbs shrinks\n\t\t\tflex: 0 0;\n\t\t}\n\n\t\t&-share-button {\n\t\t\tcolor: var(--color-text-maxcontrast) !important;\n\n\t\t\t&--shared {\n\t\t\t\tcolor: var(--color-main-text) !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__refresh-icon {\n\t\tflex: 0 0 44px;\n\t\twidth: 44px;\n\t\theight: 44px;\n\t}\n\n\t&__loading-icon {\n\t\tmargin: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=a},90840:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".app-navigation[data-v-7387953c] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation[data-v-7387953c] .app-navigation-entry.active .button-vue.icon-collapse:not(:hover){color:var(--color-primary-element-text)}.app-navigation>ul.app-navigation__list[data-v-7387953c]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-7387953c]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}","",{version:3,sources:["webpack://./apps/files/src/views/Navigation.vue"],names:[],mappings:"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,oGACC,uCAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA",sourcesContent:["\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\n.app-navigation::v-deep .app-navigation-entry-icon {\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n}\n\n.app-navigation::v-deep .app-navigation-entry.active .button-vue.icon-collapse:not(:hover) {\n\tcolor: var(--color-primary-element-text);\n}\n\n.app-navigation > ul.app-navigation__list {\n\t// Use flex gap value for more elegant spacing\n\tpadding-bottom: var(--default-grid-baseline, 4px);\n}\n\n.app-navigation-entry__settings {\n\theight: auto !important;\n\toverflow: hidden !important;\n\tpadding-top: 0 !important;\n\t// Prevent shrinking or growing\n\tflex: 0 0 auto;\n}\n"],sourceRoot:""}]);const o=a},60335:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var s=n(71354),i=n.n(s),r=n(76314),a=n.n(r)()(i());a.push([t.id,".setting-link[data-v-00f09e69]:hover{text-decoration:underline}","",{version:3,sources:["webpack://./apps/files/src/views/Settings.vue"],names:[],mappings:"AACA,qCACC,yBAAA",sourcesContent:["\n.setting-link:hover {\n\ttext-decoration: underline;\n}\n"],sourceRoot:""}]);const o=a},37007:(t,e,n)=>{"use strict";var s,i=n(96763),r="object"==typeof Reflect?Reflect:null,a=r&&"function"==typeof r.apply?r.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};s=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function l(){l.init.call(this)}t.exports=l,t.exports.once=function(t,e){return new Promise((function(n,s){function i(n){t.removeListener(e,r),s(n)}function r(){"function"==typeof t.removeListener&&t.removeListener("error",i),n([].slice.call(arguments))}w(t,e,r,{once:!0}),"error"!==e&&function(t,e,n){"function"==typeof t.on&&w(t,"error",e,{once:!0})}(t,i)}))},l.EventEmitter=l,l.prototype._events=void 0,l.prototype._eventsCount=0,l.prototype._maxListeners=void 0;var c=10;function d(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?l.defaultMaxListeners:t._maxListeners}function m(t,e,n,s){var r,a,o,l;if(d(n),void 0===(a=t._events)?(a=t._events=Object.create(null),t._eventsCount=0):(void 0!==a.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),a=t._events),o=a[e]),void 0===o)o=a[e]=n,++t._eventsCount;else if("function"==typeof o?o=a[e]=s?[n,o]:[o,n]:s?o.unshift(n):o.push(n),(r=u(t))>0&&o.length>r&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,l=c,i&&i.warn&&i.warn(l)}return t}function p(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function g(t,e,n){var s={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},i=p.bind(s);return i.listener=n,s.wrapFn=i,i}function f(t,e,n){var s=t._events;if(void 0===s)return[];var i=s[e];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(r=e[0]),r instanceof Error)throw r;var o=new Error("Unhandled error."+(r?" ("+r.message+")":""));throw o.context=r,o}var l=i[t];if(void 0===l)return!1;if("function"==typeof l)a(l,this,e);else{var c=l.length,d=v(l,c);for(n=0;n=0;r--)if(n[r]===e||n[r].listener===e){a=n[r].listener,i=r;break}if(i<0)return this;0===i?n.shift():function(t,e){for(;e+1=0;s--)this.removeListener(t,e[s]);return this},l.prototype.listeners=function(t){return f(this,t,!0)},l.prototype.rawListeners=function(t){return f(this,t,!1)},l.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):h.call(t,e)},l.prototype.listenerCount=h,l.prototype.eventNames=function(){return this._eventsCount>0?s(this._events):[]}},86048:t=>{"use strict";var e={};function n(t,n,s){s||(s=Error);var i=function(t){var e,s;function i(e,s,i){return t.call(this,function(t,e,s){return"string"==typeof n?n:n(t,e,s)}(e,s,i))||this}return s=t,(e=i).prototype=Object.create(s.prototype),e.prototype.constructor=e,e.__proto__=s,i}(s);i.prototype.name=s.name,i.prototype.code=t,e[t]=i}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map((function(t){return String(t)})),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}n("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(t,e,n){var i,r,a,o,l;if("string"==typeof e&&(r="not ",e.substr(0,4)===r)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-9,n)===e}(t," argument"))a="The ".concat(t," ").concat(i," ").concat(s(e,"type"));else{var c=("number"!=typeof l&&(l=0),l+1>(o=t).length||-1===o.indexOf(".",l)?"argument":"property");a='The "'.concat(t,'" ').concat(c," ").concat(i," ").concat(s(e,"type"))}return a+". Received type ".concat(typeof n)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.F=e},25382:(t,e,n)=>{"use strict";var s=n(65606),i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=d;var r=n(45412),a=n(16708);n(56698)(d,r);for(var o=i(a.prototype),l=0;l{"use strict";t.exports=i;var s=n(74610);function i(t){if(!(this instanceof i))return new i(t);s.call(this,t)}n(56698)(i,s),i.prototype._transform=function(t,e,n){n(null,t)}},45412:(t,e,n)=>{"use strict";var s,i=n(65606);t.exports=x,x.ReadableState=T,n(37007).EventEmitter;var r,a=function(t,e){return t.listeners(e).length},o=n(40345),l=n(48287).Buffer,c=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},d=n(79838);r=d&&d.debuglog?d.debuglog("stream"):function(){};var u,m,p,g=n(80345),f=n(75896),h=n(65291).getHighWaterMark,v=n(86048).F,w=v.ERR_INVALID_ARG_TYPE,y=v.ERR_STREAM_PUSH_AFTER_EOF,A=v.ERR_METHOD_NOT_IMPLEMENTED,b=v.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;n(56698)(x,o);var C=f.errorOrDestroy,_=["error","close","destroy","pause","resume"];function T(t,e,i){s=s||n(25382),t=t||{},"boolean"!=typeof i&&(i=e instanceof s),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=h(this,t,"readableHighWaterMark",i),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(u||(u=n(83141).I),this.decoder=new u(t.encoding),this.encoding=t.encoding)}function x(t){if(s=s||n(25382),!(this instanceof x))return new x(t);var e=this instanceof s;this._readableState=new T(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),o.call(this)}function S(t,e,n,s,i){r("readableAddChunk",e);var a,o=t._readableState;if(null===e)o.reading=!1,function(t,e){if(r("onEofChunk"),!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length)}e.ended=!0,e.sync?N(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,F(t)))}}(t,o);else if(i||(a=function(t,e){var n,s;return s=e,l.isBuffer(s)||s instanceof c||"string"==typeof e||void 0===e||t.objectMode||(n=new w("chunk",["string","Buffer","Uint8Array"],e)),n}(o,e)),a)C(t,a);else if(o.objectMode||e&&e.length>0)if("string"==typeof e||o.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),s)o.endEmitted?C(t,new b):k(t,o,e,!0);else if(o.ended)C(t,new y);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?k(t,o,e,!1):P(t,o)):k(t,o,e,!1)}else s||(o.reading=!1,P(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=L?t=L:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function N(t){var e=t._readableState;r("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(r("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(F,t))}function F(t){var e=t._readableState;r("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,B(t)}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function O(t){r("readable nexttick read 0"),t.read(0)}function U(t,e){r("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),B(t),e.flowing&&!e.reading&&t.read(0)}function B(t){var e=t._readableState;for(r("flow",e.flowing);e.flowing&&null!==t.read(););}function M(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n}function j(t){var e=t._readableState;r("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(R,e,t))}function R(t,e){if(r("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var n=e._writableState;(!n||n.autoDestroy&&n.finished)&&e.destroy()}}function z(t,e){for(var n=0,s=t.length;n=e.highWaterMark:e.length>0)||e.ended))return r("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?j(this):N(this),null;if(0===(t=E(t,e))&&e.ended)return 0===e.length&&j(this),null;var s,i=e.needReadable;return r("need readable",i),(0===e.length||e.length-t0?M(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&j(this)),null!==s&&this.emit("data",s),s},x.prototype._read=function(t){C(this,new A("_read()"))},x.prototype.pipe=function(t,e){var n=this,s=this._readableState;switch(s.pipesCount){case 0:s.pipes=t;break;case 1:s.pipes=[s.pipes,t];break;default:s.pipes.push(t)}s.pipesCount+=1,r("pipe count=%d opts=%j",s.pipesCount,e);var o=e&&!1===e.end||t===i.stdout||t===i.stderr?f:l;function l(){r("onend"),t.end()}s.endEmitted?i.nextTick(o):n.once("end",o),t.on("unpipe",(function e(i,a){r("onunpipe"),i===n&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,r("cleanup"),t.removeListener("close",p),t.removeListener("finish",g),t.removeListener("drain",c),t.removeListener("error",m),t.removeListener("unpipe",e),n.removeListener("end",l),n.removeListener("end",f),n.removeListener("data",u),d=!0,!s.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}));var c=function(t){return function(){var e=t._readableState;r("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,"data")&&(e.flowing=!0,B(t))}}(n);t.on("drain",c);var d=!1;function u(e){r("ondata");var i=t.write(e);r("dest.write",i),!1===i&&((1===s.pipesCount&&s.pipes===t||s.pipesCount>1&&-1!==z(s.pipes,t))&&!d&&(r("false write response, pause",s.awaitDrain),s.awaitDrain++),n.pause())}function m(e){r("onerror",e),f(),t.removeListener("error",m),0===a(t,"error")&&C(t,e)}function p(){t.removeListener("finish",g),f()}function g(){r("onfinish"),t.removeListener("close",p),f()}function f(){r("unpipe"),n.unpipe(t)}return n.on("data",u),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",m),t.once("close",p),t.once("finish",g),t.emit("pipe",n),s.flowing||(r("pipe resume"),n.resume()),t},x.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var s=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var r=0;r0,!1!==s.flowing&&this.resume()):"readable"===t&&(s.endEmitted||s.readableListening||(s.readableListening=s.needReadable=!0,s.flowing=!1,s.emittedReadable=!1,r("on readable",s.length,s.reading),s.length?N(this):s.reading||i.nextTick(O,this))),n},x.prototype.addListener=x.prototype.on,x.prototype.removeListener=function(t,e){var n=o.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(D,this),n},x.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(D,this),e},x.prototype.resume=function(){var t=this._readableState;return t.flowing||(r("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(U,t,e))}(this,t)),t.paused=!1,this},x.prototype.pause=function(){return r("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(r("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},x.prototype.wrap=function(t){var e=this,n=this._readableState,s=!1;for(var i in t.on("end",(function(){if(r("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){r("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i||(n.objectMode||i&&i.length)&&(e.push(i)||(s=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var a=0;a<_.length;a++)t.on(_[a],this.emit.bind(this,_[a]));return this._read=function(e){r("wrapped _read",e),s&&(s=!1,t.resume())},this},"function"==typeof Symbol&&(x.prototype[Symbol.asyncIterator]=function(){return void 0===m&&(m=n(2955)),m(this)}),Object.defineProperty(x.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(x.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(x.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),x._fromList=M,Object.defineProperty(x.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(x.from=function(t,e){return void 0===p&&(p=n(55157)),p(x,t,e)})},74610:(t,e,n)=>{"use strict";t.exports=d;var s=n(86048).F,i=s.ERR_METHOD_NOT_IMPLEMENTED,r=s.ERR_MULTIPLE_CALLBACK,a=s.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=s.ERR_TRANSFORM_WITH_LENGTH_0,l=n(25382);function c(t,e){var n=this._transformState;n.transforming=!1;var s=n.writecb;if(null===s)return this.emit("error",new r);n.writechunk=null,n.writecb=null,null!=e&&this.push(e),s(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";var s,i=n(65606);function r(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,n){var s=t.entry;for(t.entry=null;s;){var i=s.callback;e.pendingcb--,i(undefined),s=s.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=x,x.WritableState=T;var a,o={deprecate:n(94643)},l=n(40345),c=n(48287).Buffer,d=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},u=n(75896),m=n(65291).getHighWaterMark,p=n(86048).F,g=p.ERR_INVALID_ARG_TYPE,f=p.ERR_METHOD_NOT_IMPLEMENTED,h=p.ERR_MULTIPLE_CALLBACK,v=p.ERR_STREAM_CANNOT_PIPE,w=p.ERR_STREAM_DESTROYED,y=p.ERR_STREAM_NULL_VALUES,A=p.ERR_STREAM_WRITE_AFTER_END,b=p.ERR_UNKNOWN_ENCODING,C=u.errorOrDestroy;function _(){}function T(t,e,a){s=s||n(25382),t=t||{},"boolean"!=typeof a&&(a=e instanceof s),this.objectMode=!!t.objectMode,a&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=m(this,t,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===t.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,s=n.sync,r=n.writecb;if("function"!=typeof r)throw new h;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,s,r){--e.pendingcb,n?(i.nextTick(r,s),i.nextTick(F,t,e),t._writableState.errorEmitted=!0,C(t,s)):(r(s),t._writableState.errorEmitted=!0,C(t,s),F(t,e))}(t,n,s,e,r);else{var a=E(n)||t.destroyed;a||n.corked||n.bufferProcessing||!n.bufferedRequest||L(t,n),s?i.nextTick(k,t,n,a,r):k(t,n,a,r)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function x(t){var e=this instanceof(s=s||n(25382));if(!e&&!a.call(x,this))return new x(t);this._writableState=new T(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),l.call(this)}function S(t,e,n,s,i,r,a){e.writelen=s,e.writecb=a,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new w("write")):n?t._writev(i,e.onwrite):t._write(i,r,e.onwrite),e.sync=!1}function k(t,e,n,s){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,s(),F(t,e)}function L(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var s=e.bufferedRequestCount,i=new Array(s),a=e.corkedRequestsFree;a.entry=n;for(var o=0,l=!0;n;)i[o]=n,n.isBuf||(l=!1),n=n.next,o+=1;i.allBuffers=l,S(t,e,!0,e.length,i,"",a.finish),e.pendingcb++,e.lastBufferedRequest=null,a.next?(e.corkedRequestsFree=a.next,a.next=null):e.corkedRequestsFree=new r(e),e.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,d=n.encoding,u=n.callback;if(S(t,e,!1,e.objectMode?1:c.length,c,d,u),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequest=n,e.bufferProcessing=!1}function E(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function N(t,e){t._final((function(n){e.pendingcb--,n&&C(t,n),e.prefinished=!0,t.emit("prefinish"),F(t,e)}))}function F(t,e){var n=E(e);if(n&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,i.nextTick(N,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var s=t._readableState;(!s||s.autoDestroy&&s.endEmitted)&&t.destroy()}return n}n(56698)(x,l),T.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(T.prototype,"buffer",{get:o.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(a=Function.prototype[Symbol.hasInstance],Object.defineProperty(x,Symbol.hasInstance,{value:function(t){return!!a.call(this,t)||this===x&&t&&t._writableState instanceof T}})):a=function(t){return t instanceof this},x.prototype.pipe=function(){C(this,new v)},x.prototype.write=function(t,e,n){var s,r=this._writableState,a=!1,o=!r.objectMode&&(s=t,c.isBuffer(s)||s instanceof d);return o&&!c.isBuffer(t)&&(t=function(t){return c.from(t)}(t)),"function"==typeof e&&(n=e,e=null),o?e="buffer":e||(e=r.defaultEncoding),"function"!=typeof n&&(n=_),r.ending?function(t,e){var n=new A;C(t,n),i.nextTick(e,n)}(this,n):(o||function(t,e,n,s){var r;return null===n?r=new y:"string"==typeof n||e.objectMode||(r=new g("chunk",["string","Buffer"],n)),!r||(C(t,r),i.nextTick(s,r),!1)}(this,r,t,n))&&(r.pendingcb++,a=function(t,e,n,s,i,r){if(!n){var a=function(t,e,n){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=c.from(e,n)),e}(e,s,i);s!==a&&(n=!0,i="buffer",s=a)}var o=e.objectMode?1:s.length;e.length+=o;var l=e.length-1))throw new b(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(x.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(x.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),x.prototype._write=function(t,e,n){n(new f("_write()"))},x.prototype._writev=null,x.prototype.end=function(t,e,n){var s=this._writableState;return"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),s.corked&&(s.corked=1,this.uncork()),s.ending||function(t,e,n){e.ending=!0,F(t,e),n&&(e.finished?i.nextTick(n):t.once("finish",n)),e.ended=!0,t.writable=!1}(this,s,n),this},Object.defineProperty(x.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(x.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),x.prototype.destroy=u.destroy,x.prototype._undestroy=u.undestroy,x.prototype._destroy=function(t,e){e(t)}},2955:(t,e,n)=>{"use strict";var s,i=n(65606);function r(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var s=n.call(t,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var a=n(86238),o=Symbol("lastResolve"),l=Symbol("lastReject"),c=Symbol("error"),d=Symbol("ended"),u=Symbol("lastPromise"),m=Symbol("handlePromise"),p=Symbol("stream");function g(t,e){return{value:t,done:e}}function f(t){var e=t[o];if(null!==e){var n=t[p].read();null!==n&&(t[u]=null,t[o]=null,t[l]=null,e(g(n,!1)))}}function h(t){i.nextTick(f,t)}var v=Object.getPrototypeOf((function(){})),w=Object.setPrototypeOf((r(s={get stream(){return this[p]},next:function(){var t=this,e=this[c];if(null!==e)return Promise.reject(e);if(this[d])return Promise.resolve(g(void 0,!0));if(this[p].destroyed)return new Promise((function(e,n){i.nextTick((function(){t[c]?n(t[c]):e(g(void 0,!0))}))}));var n,s=this[u];if(s)n=new Promise(function(t,e){return function(n,s){t.then((function(){e[d]?n(g(void 0,!0)):e[m](n,s)}),s)}}(s,this));else{var r=this[p].read();if(null!==r)return Promise.resolve(g(r,!1));n=new Promise(this[m])}return this[u]=n,n}},Symbol.asyncIterator,(function(){return this})),r(s,"return",(function(){var t=this;return new Promise((function(e,n){t[p].destroy(null,(function(t){t?n(t):e(g(void 0,!0))}))}))})),s),v);t.exports=function(t){var e,n=Object.create(w,(r(e={},p,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:null,writable:!0}),r(e,d,{value:t._readableState.endEmitted,writable:!0}),r(e,m,{value:function(t,e){var s=n[p].read();s?(n[u]=null,n[o]=null,n[l]=null,t(g(s,!1))):(n[o]=t,n[l]=e)},writable:!0}),e));return n[u]=null,a(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=n[l];return null!==e&&(n[u]=null,n[o]=null,n[l]=null,e(t)),void(n[c]=t)}var s=n[o];null!==s&&(n[u]=null,n[o]=null,n[l]=null,s(g(void 0,!0))),n[d]=!0})),t.on("readable",h.bind(null,n)),n}},80345:(t,e,n)=>{"use strict";function s(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,s)}return n}function i(t){for(var e=1;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return l.alloc(0);for(var e,n,s,i=l.allocUnsafe(t>>>0),r=this.head,a=0;r;)e=r.data,n=i,s=a,l.prototype.copy.call(e,n,s),a+=r.data.length,r=r.next;return i}},{key:"consume",value:function(t,e){var n;return ti.length?i.length:t;if(r===i.length?s+=i:s+=i.slice(0,t),0==(t-=r)){r===i.length?(++n,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(r));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(t){var e=l.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var i=n.data,r=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,r),0==(t-=r)){r===i.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(r));break}++s}return this.length-=s,e}},{key:d,value:function(t,e){return c(this,i(i({},e),{},{depth:0,customInspect:!1}))}}])&&a(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}()},75896:(t,e,n)=>{"use strict";var s=n(65606);function i(t,e){a(t,e),r(t)}function r(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function a(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var n=this,o=this._readableState&&this._readableState.destroyed,l=this._writableState&&this._writableState.destroyed;return o||l?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,s.nextTick(a,this,t)):s.nextTick(a,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?n._writableState?n._writableState.errorEmitted?s.nextTick(r,n):(n._writableState.errorEmitted=!0,s.nextTick(i,n,t)):s.nextTick(i,n,t):e?(s.nextTick(r,n),e(t)):s.nextTick(r,n)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var n=t._readableState,s=t._writableState;n&&n.autoDestroy||s&&s.autoDestroy?t.destroy(e):t.emit("error",e)}}},86238:(t,e,n)=>{"use strict";var s=n(86048).F.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,n,r){if("function"==typeof n)return t(e,null,n);n||(n={}),r=function(t){var e=!1;return function(){if(!e){e=!0;for(var n=arguments.length,s=new Array(n),i=0;i{t.exports=function(){throw new Error("Readable.from is not available in the browser")}},57758:(t,e,n)=>{"use strict";var s,i=n(86048).F,r=i.ERR_MISSING_ARGS,a=i.ERR_STREAM_DESTROYED;function o(t){if(t)throw t}function l(t){t()}function c(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i0,(function(t){d||(d=t),t&&m.forEach(l),r||(m.forEach(l),u(d))}))}));return e.reduce(c)}},65291:(t,e,n)=>{"use strict";var s=n(86048).F.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,n,i){var r=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,i,n);if(null!=r){if(!isFinite(r)||Math.floor(r)!==r||r<0)throw new s(i?n:"highWaterMark",r);return Math.floor(r)}return t.objectMode?16:16384}}},40345:(t,e,n)=>{t.exports=n(37007).EventEmitter},92861:(t,e,n)=>{var s=n(48287),i=s.Buffer;function r(t,e){for(var n in t)e[n]=t[n]}function a(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=s:(r(s,e),e.Buffer=a),a.prototype=Object.create(i.prototype),r(i,a),a.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},a.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var s=i(t);return void 0!==e?"string"==typeof n?s.fill(e,n):s.fill(e):s.fill(0),s},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return s.SlowBuffer(t)}},64043:(t,e,n)=>{var s=n(48287).Buffer;!function(t){t.parser=function(t,e){return new r(t,e)},t.SAXParser=r,t.SAXStream=o,t.createStream=function(t,e){return new o(t,e)},t.MAX_BUFFER_LENGTH=65536;var e,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function r(e,n){if(!(this instanceof r))return new r(e,n);var s=this;!function(t){for(var e=0,n=i.length;e"===r?(L(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=x.TEXT):w(r)?(n.state=x.SGML_DECL_QUOTED,n.sgmlDecl+=r):n.sgmlDecl+=r;continue;case x.SGML_DECL_QUOTED:r===n.q&&(n.state=x.SGML_DECL,n.q=""),n.sgmlDecl+=r;continue;case x.DOCTYPE:">"===r?(n.state=x.TEXT,L(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=r,"["===r?n.state=x.DOCTYPE_DTD:w(r)&&(n.state=x.DOCTYPE_QUOTED,n.q=r));continue;case x.DOCTYPE_QUOTED:n.doctype+=r,r===n.q&&(n.q="",n.state=x.DOCTYPE);continue;case x.DOCTYPE_DTD:n.doctype+=r,"]"===r?n.state=x.DOCTYPE:w(r)&&(n.state=x.DOCTYPE_DTD_QUOTED,n.q=r);continue;case x.DOCTYPE_DTD_QUOTED:n.doctype+=r,r===n.q&&(n.state=x.DOCTYPE_DTD,n.q="");continue;case x.COMMENT:"-"===r?n.state=x.COMMENT_ENDING:n.comment+=r;continue;case x.COMMENT_ENDING:"-"===r?(n.state=x.COMMENT_ENDED,n.comment=N(n.opt,n.comment),n.comment&&L(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+r,n.state=x.COMMENT);continue;case x.COMMENT_ENDED:">"!==r?(I(n,"Malformed comment"),n.comment+="--"+r,n.state=x.COMMENT):n.state=x.TEXT;continue;case x.CDATA:"]"===r?n.state=x.CDATA_ENDING:n.cdata+=r;continue;case x.CDATA_ENDING:"]"===r?n.state=x.CDATA_ENDING_2:(n.cdata+="]"+r,n.state=x.CDATA);continue;case x.CDATA_ENDING_2:">"===r?(n.cdata&&L(n,"oncdata",n.cdata),L(n,"onclosecdata"),n.cdata="",n.state=x.TEXT):"]"===r?n.cdata+="]":(n.cdata+="]]"+r,n.state=x.CDATA);continue;case x.PROC_INST:"?"===r?n.state=x.PROC_INST_ENDING:v(r)?n.state=x.PROC_INST_BODY:n.procInstName+=r;continue;case x.PROC_INST_BODY:if(!n.procInstBody&&v(r))continue;"?"===r?n.state=x.PROC_INST_ENDING:n.procInstBody+=r;continue;case x.PROC_INST_ENDING:">"===r?(L(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=x.TEXT):(n.procInstBody+="?"+r,n.state=x.PROC_INST_BODY);continue;case x.OPEN_TAG:A(g,r)?n.tagName+=r:(D(n),">"===r?B(n):"/"===r?n.state=x.OPEN_TAG_SLASH:(v(r)||I(n,"Invalid character in tag name"),n.state=x.ATTRIB));continue;case x.OPEN_TAG_SLASH:">"===r?(B(n,!0),M(n)):(I(n,"Forward-slash in opening tag not followed by >"),n.state=x.ATTRIB);continue;case x.ATTRIB:if(v(r))continue;">"===r?B(n):"/"===r?n.state=x.OPEN_TAG_SLASH:A(p,r)?(n.attribName=r,n.attribValue="",n.state=x.ATTRIB_NAME):I(n,"Invalid attribute name");continue;case x.ATTRIB_NAME:"="===r?n.state=x.ATTRIB_VALUE:">"===r?(I(n,"Attribute without value"),n.attribValue=n.attribName,U(n),B(n)):v(r)?n.state=x.ATTRIB_NAME_SAW_WHITE:A(g,r)?n.attribName+=r:I(n,"Invalid attribute name");continue;case x.ATTRIB_NAME_SAW_WHITE:if("="===r)n.state=x.ATTRIB_VALUE;else{if(v(r))continue;I(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",L(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===r?B(n):A(p,r)?(n.attribName=r,n.state=x.ATTRIB_NAME):(I(n,"Invalid attribute name"),n.state=x.ATTRIB)}continue;case x.ATTRIB_VALUE:if(v(r))continue;w(r)?(n.q=r,n.state=x.ATTRIB_VALUE_QUOTED):(I(n,"Unquoted attribute value"),n.state=x.ATTRIB_VALUE_UNQUOTED,n.attribValue=r);continue;case x.ATTRIB_VALUE_QUOTED:if(r!==n.q){"&"===r?n.state=x.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=r;continue}U(n),n.q="",n.state=x.ATTRIB_VALUE_CLOSED;continue;case x.ATTRIB_VALUE_CLOSED:v(r)?n.state=x.ATTRIB:">"===r?B(n):"/"===r?n.state=x.OPEN_TAG_SLASH:A(p,r)?(I(n,"No whitespace between attributes"),n.attribName=r,n.attribValue="",n.state=x.ATTRIB_NAME):I(n,"Invalid attribute name");continue;case x.ATTRIB_VALUE_UNQUOTED:if(!y(r)){"&"===r?n.state=x.ATTRIB_VALUE_ENTITY_U:n.attribValue+=r;continue}U(n),">"===r?B(n):n.state=x.ATTRIB;continue;case x.CLOSE_TAG:if(n.tagName)">"===r?M(n):A(g,r)?n.tagName+=r:n.script?(n.script+=""===r?M(n):I(n,"Invalid characters in closing tag");continue;case x.TEXT_ENTITY:case x.ATTRIB_VALUE_ENTITY_Q:case x.ATTRIB_VALUE_ENTITY_U:var d,u;switch(n.state){case x.TEXT_ENTITY:d=x.TEXT,u="textNode";break;case x.ATTRIB_VALUE_ENTITY_Q:d=x.ATTRIB_VALUE_QUOTED,u="attribValue";break;case x.ATTRIB_VALUE_ENTITY_U:d=x.ATTRIB_VALUE_UNQUOTED,u="attribValue"}if(";"===r)if(n.opt.unparsedEntities){var m=j(n);n.entity="",n.state=d,n.write(m)}else n[u]+=j(n),n.entity="",n.state=d;else A(n.entity.length?h:f,r)?n.entity+=r:(I(n,"Invalid character in entity name"),n[u]+="&"+n.entity+r,n.entity="",n.state=d);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(e){for(var n=Math.max(t.MAX_BUFFER_LENGTH,10),s=0,r=0,a=i.length;rn)switch(i[r]){case"textNode":E(e);break;case"cdata":L(e,"oncdata",e.cdata),e.cdata="";break;case"script":L(e,"onscript",e.script),e.script="";break;default:F(e,"Max buffer length exceeded: "+i[r])}s=Math.max(s,o)}var l=t.MAX_BUFFER_LENGTH-s;e.bufferCheckPosition=l+e.position}(n),n},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var t;E(t=this),""!==t.cdata&&(L(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(L(t,"onscript",t.script),t.script="")}};try{e=n(88310).Stream}catch(t){e=function(){}}e||(e=function(){});var a=t.EVENTS.filter((function(t){return"error"!==t&&"end"!==t}));function o(t,n){if(!(this instanceof o))return new o(t,n);e.apply(this),this._parser=new r(t,n),this.writable=!0,this.readable=!0;var s=this;this._parser.onend=function(){s.emit("end")},this._parser.onerror=function(t){s.emit("error",t),s._parser.error=null},this._decoder=null,a.forEach((function(t){Object.defineProperty(s,"on"+t,{get:function(){return s._parser["on"+t]},set:function(e){if(!e)return s.removeAllListeners(t),s._parser["on"+t]=e,e;s.on(t,e)},enumerable:!0,configurable:!1})}))}o.prototype=Object.create(e.prototype,{constructor:{value:o}}),o.prototype.write=function(t){if("function"==typeof s&&"function"==typeof s.isBuffer&&s.isBuffer(t)){if(!this._decoder){var e=n(83141).I;this._decoder=new e("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},o.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},o.prototype.on=function(t,n){var s=this;return s._parser["on"+t]||-1===a.indexOf(t)||(s._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),s.emit.apply(s,e)}),e.prototype.on.call(s,t,n)};var l="[CDATA[",c="DOCTYPE",d="http://www.w3.org/XML/1998/namespace",u="http://www.w3.org/2000/xmlns/",m={xml:d,xmlns:u},p=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function v(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function w(t){return'"'===t||"'"===t}function y(t){return">"===t||v(t)}function A(t,e){return t.test(e)}function b(t,e){return!A(t,e)}var C,_,T,x=0;for(var S in t.STATE={BEGIN:x++,BEGIN_WHITESPACE:x++,TEXT:x++,TEXT_ENTITY:x++,OPEN_WAKA:x++,SGML_DECL:x++,SGML_DECL_QUOTED:x++,DOCTYPE:x++,DOCTYPE_QUOTED:x++,DOCTYPE_DTD:x++,DOCTYPE_DTD_QUOTED:x++,COMMENT_STARTING:x++,COMMENT:x++,COMMENT_ENDING:x++,COMMENT_ENDED:x++,CDATA:x++,CDATA_ENDING:x++,CDATA_ENDING_2:x++,PROC_INST:x++,PROC_INST_BODY:x++,PROC_INST_ENDING:x++,OPEN_TAG:x++,OPEN_TAG_SLASH:x++,ATTRIB:x++,ATTRIB_NAME:x++,ATTRIB_NAME_SAW_WHITE:x++,ATTRIB_VALUE:x++,ATTRIB_VALUE_QUOTED:x++,ATTRIB_VALUE_CLOSED:x++,ATTRIB_VALUE_UNQUOTED:x++,ATTRIB_VALUE_ENTITY_Q:x++,ATTRIB_VALUE_ENTITY_U:x++,CLOSE_TAG:x++,CLOSE_TAG_SAW_WHITE:x++,SCRIPT:x++,SCRIPT_ENDING:x++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach((function(e){var n=t.ENTITIES[e],s="number"==typeof n?String.fromCharCode(n):n;t.ENTITIES[e]=s})),t.STATE)t.STATE[t.STATE[S]]=S;function k(t,e,n){t[e]&&t[e](n)}function L(t,e,n){t.textNode&&E(t),k(t,e,n)}function E(t){t.textNode=N(t.opt,t.textNode),t.textNode&&k(t,"ontext",t.textNode),t.textNode=""}function N(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function F(t,e){return E(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,k(t,"onerror",e),t}function P(t){return t.sawRoot&&!t.closedRoot&&I(t,"Unclosed root tag"),t.state!==x.BEGIN&&t.state!==x.BEGIN_WHITESPACE&&t.state!==x.TEXT&&F(t,"Unexpected end"),E(t),t.c="",t.closed=!0,k(t,"onend"),r.call(t,t.strict,t.opt),t}function I(t,e){if("object"!=typeof t||!(t instanceof r))throw new Error("bad call to strictFail");t.strict&&F(t,e)}function D(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,L(t,"onopentagstart",n)}function O(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),s=n[0],i=n[1];return e&&"xmlns"===t&&(s="xmlns",i=""),{prefix:s,local:i}}function U(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=O(t.attribName,!0),n=e.prefix,s=e.local;if("xmlns"===n)if("xml"===s&&t.attribValue!==d)I(t,"xml: prefix must be bound to "+d+"\nActual: "+t.attribValue);else if("xmlns"===s&&t.attribValue!==u)I(t,"xmlns: prefix must be bound to "+u+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[s]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,L(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function B(t,e){if(t.opt.xmlns){var n=t.tag,s=O(t.tagName);n.prefix=s.prefix,n.local=s.local,n.uri=n.ns[s.prefix]||"",n.prefix&&!n.uri&&(I(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=s.prefix);var i=t.tags[t.tags.length-1]||t;n.ns&&i.ns!==n.ns&&Object.keys(n.ns).forEach((function(e){L(t,"onopennamespace",{prefix:e,uri:n.ns[e]})}));for(var r=0,a=t.attribList.length;r",t.tagName="",void(t.state=x.SCRIPT);L(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var s=n;e--&&t.tags[e].name!==s;)I(t,"Unexpected close tag");if(e<0)return I(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=x.TEXT);t.tagName=n;for(var i=t.tags.length;i-- >e;){var r=t.tag=t.tags.pop();t.tagName=t.tag.name,L(t,"onclosetag",t.tagName);var a={};for(var o in r.ns)a[o]=r.ns[o];var l=t.tags[t.tags.length-1]||t;t.opt.xmlns&&r.ns!==l.ns&&Object.keys(r.ns).forEach((function(e){var n=r.ns[e];L(t,"onclosenamespace",{prefix:e,uri:n})}))}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=x.TEXT}function j(t){var e,n=t.entity,s=n.toLowerCase(),i="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[s]?t.ENTITIES[s]:("#"===(n=s).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),i=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),i=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||i.toLowerCase()!==n?(I(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function R(t,e){"<"===e?(t.state=x.OPEN_WAKA,t.startTagPosition=t.position):v(e)||(I(t,"Non-whitespace before first tag."),t.textNode=e,t.state=x.TEXT)}function z(t,e){var n="";return e1114111||_(a)!==a)throw RangeError("Invalid code point: "+a);a<=65535?n.push(a):(t=55296+((a-=65536)>>10),e=a%1024+56320,n.push(t,e)),(s+1===i||n.length>16384)&&(r+=C.apply(null,n),n.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:T,configurable:!0,writable:!0}):String.fromCodePoint=T)}(e)},42791:function(t,e,n){var s=n(65606);!function(t,e){"use strict";if(!t.setImmediate){var n,i,r,a,o,l=1,c={},d=!1,u=t.document,m=Object.getPrototypeOf&&Object.getPrototypeOf(t);m=m&&m.setTimeout?m:t,"[object process]"==={}.toString.call(t.process)?n=function(t){s.nextTick((function(){g(t)}))}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(a="setImmediate$"+Math.random()+"$",o=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(a)&&g(+e.data.slice(a.length))},t.addEventListener?t.addEventListener("message",o,!1):t.attachEvent("onmessage",o),n=function(e){t.postMessage(a+e,"*")}):t.MessageChannel?((r=new MessageChannel).port1.onmessage=function(t){g(t.data)},n=function(t){r.port2.postMessage(t)}):u&&"onreadystatechange"in u.createElement("script")?(i=u.documentElement,n=function(t){var e=u.createElement("script");e.onreadystatechange=function(){g(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(g,0,t)},m.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),s=0;s{function e(t,e){return null==t?e:t}t.exports=function(t){var n,s=e((t=t||{}).max,1),i=e(t.min,0),r=e(t.autostart,!0),a=e(t.ignoreSameProgress,!1),o=null,l=null,c=null,d=(n=e(t.historyTimeConstant,2.5),function(t,e,s){return t+s/(s+n)*(e-t)});function u(){m(i)}function m(t,e){if("number"!=typeof e&&(e=Date.now()),l!==e&&(!a||c!==t)){if(null===l||null===c)return c=t,void(l=e);var n=.001*(e-l),s=(t-c)/n;o=null===o?s:d(o,s,n),c=t,l=e}}return{start:u,reset:function(){o=null,l=null,c=null,r&&u()},report:m,estimate:function(t){if(null===c)return 1/0;if(c>=s)return 0;if(null===o)return 1/0;var e=(s-c)/o;return"number"==typeof t&&"number"==typeof l&&(e-=.001*(t-l)),Math.max(0,e)},rate:function(){return null===o?0:o}}}},88310:(t,e,n)=>{t.exports=i;var s=n(37007).EventEmitter;function i(){s.call(this)}n(56698)(i,s),i.Readable=n(45412),i.Writable=n(16708),i.Duplex=n(25382),i.Transform=n(74610),i.PassThrough=n(63600),i.finished=n(86238),i.pipeline=n(57758),i.Stream=i,i.prototype.pipe=function(t,e){var n=this;function i(e){t.writable&&!1===t.write(e)&&n.pause&&n.pause()}function r(){n.readable&&n.resume&&n.resume()}n.on("data",i),t.on("drain",r),t._isStdio||e&&!1===e.end||(n.on("end",o),n.on("close",l));var a=!1;function o(){a||(a=!0,t.end())}function l(){a||(a=!0,"function"==typeof t.destroy&&t.destroy())}function c(t){if(d(),0===s.listenerCount(this,"error"))throw t}function d(){n.removeListener("data",i),t.removeListener("drain",r),n.removeListener("end",o),n.removeListener("close",l),n.removeListener("error",c),t.removeListener("error",c),n.removeListener("end",d),n.removeListener("close",d),t.removeListener("close",d)}return n.on("error",c),t.on("error",c),n.on("end",d),n.on("close",d),t.on("close",d),t.emit("pipe",n),t}},83141:(t,e,n)=>{"use strict";var s=n(92861).Buffer,i=s.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(s.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=c,e=4;break;case"utf8":this.fillLast=o,e=4;break;case"base64":this.text=d,this.end=u,e=3;break;default:return this.write=m,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=s.allocUnsafe(e)}function a(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function o(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var s=n.charCodeAt(n.length-1);if(s>=55296&&s<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function d(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function m(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.I=r,r.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(i>0&&(t.lastNeed=i-1),i):--s=0?(i>0&&(t.lastNeed=i-2),i):--s=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var s=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,s),t.toString("utf8",e,s)},r.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},97103:function(t,e,n){var s=void 0!==n.g&&n.g||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function r(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new r(i.call(setTimeout,s,arguments),clearTimeout)},e.setInterval=function(){return new r(i.call(setInterval,s,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(s,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},n(42791),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==n.g&&n.g.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==n.g&&n.g.clearImmediate||this&&this.clearImmediate},94643:(t,e,n)=>{var s=n(96763);function i(t){try{if(!n.g.localStorage)return!1}catch(t){return!1}var e=n.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(i("noDeprecation"))return t;var n=!1;return function(){if(!n){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?s.trace(e):s.warn(e),n=!0}return t.apply(this,arguments)}}},83177:function(t,e){(function(){"use strict";e.stripBOM=function(t){return"\ufeff"===t[0]?t.substring(1):t}}).call(this)},56712:function(t,e,n){(function(){"use strict";var t,s,i,r,a,o={}.hasOwnProperty;t=n(59665),s=n(66465).defaults,r=function(t){return"string"==typeof t&&(t.indexOf("&")>=0||t.indexOf(">")>=0||t.indexOf("<")>=0)},a=function(t){return""},i=function(t){return t.replace("]]>","]]]]>")},e.Builder=function(){function e(t){var e,n,i;for(e in this.options={},n=s[.2])o.call(n,e)&&(i=n[e],this.options[e]=i);for(e in t)o.call(t,e)&&(i=t[e],this.options[e]=i)}return e.prototype.buildObject=function(e){var n,i,l,c,d,u;return n=this.options.attrkey,i=this.options.charkey,1===Object.keys(e).length&&this.options.rootName===s[.2].rootName?e=e[d=Object.keys(e)[0]]:d=this.options.rootName,u=this,l=function(t,e){var s,c,d,m,p,g;if("object"!=typeof e)u.options.cdata&&r(e)?t.raw(a(e)):t.txt(e);else if(Array.isArray(e)){for(m in e)if(o.call(e,m))for(p in c=e[m])d=c[p],t=l(t.ele(p),d).up()}else for(p in e)if(o.call(e,p))if(c=e[p],p===n){if("object"==typeof c)for(s in c)g=c[s],t=t.att(s,g)}else if(p===i)t=u.options.cdata&&r(c)?t.raw(a(c)):t.txt(c);else if(Array.isArray(c))for(m in c)o.call(c,m)&&(t="string"==typeof(d=c[m])?u.options.cdata&&r(d)?t.ele(p).raw(a(d)).up():t.ele(p,d).up():l(t.ele(p),d).up());else"object"==typeof c?t=l(t.ele(p),c).up():"string"==typeof c&&u.options.cdata&&r(c)?t=t.ele(p).raw(a(c)).up():(null==c&&(c=""),t=t.ele(p,c.toString()).up());return t},c=t.create(d,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(c,e).end(this.options.renderOpts)},e}()}).call(this)},66465:function(t,e){(function(){e.defaults={.1:{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:"\n"},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}).call(this)},11912:function(t,e,n){(function(){"use strict";var t,s,i,r,a,o,l,c,d,u=function(t,e){return function(){return t.apply(e,arguments)}},m={}.hasOwnProperty;c=n(64043),r=n(37007),t=n(83177),l=n(92114),d=n(97103).setImmediate,s=n(66465).defaults,a=function(t){return"object"==typeof t&&null!=t&&0===Object.keys(t).length},o=function(t,e,n){var s,i;for(s=0,i=t.length;s0&&(c[t.options.childkey]=u),u=c;return s.length>0?t.assignOrPush(f,d,u):(t.options.explicitRoot&&(g=u,i(u={},d,g)),t.resultObject=u,t.saxParser.ended=!0,t.emit("end",t.resultObject))}}(this),n=function(t){return function(n){var i,r;if(r=s[s.length-1])return r[e]+=n,t.options.explicitChildren&&t.options.preserveChildrenOrder&&t.options.charsAsChildren&&(t.options.includeWhiteChars||""!==n.replace(/\\n/g,"").trim())&&(r[t.options.childkey]=r[t.options.childkey]||[],(i={"#name":"__text__"})[e]=n,t.options.normalize&&(i[e]=i[e].replace(/\s{2,}/g," ").trim()),r[t.options.childkey].push(i)),r}}(this),this.saxParser.ontext=n,this.saxParser.oncdata=function(t){var e;if(e=n(t))return e.cdata=!0}},r.prototype.parseString=function(e,n){var s;null!=n&&"function"==typeof n&&(this.on("end",(function(t){return this.reset(),n(null,t)})),this.on("error",(function(t){return this.reset(),n(t)})));try{return""===(e=e.toString()).trim()?(this.emit("end",null),!0):(e=t.stripBOM(e),this.options.async?(this.remaining=e,d(this.processAsync),this.saxParser):this.saxParser.write(e).close())}catch(t){if(s=t,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",s),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw s}},r.prototype.parseStringPromise=function(t){return new Promise((e=this,function(n,s){return e.parseString(t,(function(t,e){return t?s(t):n(e)}))}));var e},r}(r),e.parseString=function(t,n,s){var i,r;return null!=s?("function"==typeof s&&(i=s),"object"==typeof n&&(r=n)):("function"==typeof n&&(i=n),r={}),new e.Parser(r).parseString(t,i)},e.parseStringPromise=function(t,n){var s;return"object"==typeof n&&(s=n),new e.Parser(s).parseStringPromise(t)}}).call(this)},92114:function(t,e){(function(){"use strict";var t;t=new RegExp(/(?!xmlns)^.*:/),e.normalize=function(t){return t.toLowerCase()},e.firstCharLowerCase=function(t){return t.charAt(0).toLowerCase()+t.slice(1)},e.stripPrefix=function(e){return e.replace(t,"")},e.parseNumbers=function(t){return isNaN(t)||(t=t%1==0?parseInt(t,10):parseFloat(t)),t},e.parseBooleans=function(t){return/^(?:true|false)$/i.test(t)&&(t="true"===t.toLowerCase()),t}}).call(this)},38805:function(t,e,n){(function(){"use strict";var t,s,i,r,a={}.hasOwnProperty;s=n(66465),t=n(56712),i=n(11912),r=n(92114),e.defaults=s.defaults,e.processors=r,e.ValidationError=function(t){function e(t){this.message=t}return function(t,e){for(var n in e)a.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(e,Error),e}(),e.Builder=t.Builder,e.Parser=i.Parser,e.parseString=i.parseString,e.parseStringPromise=i.parseStringPromise}).call(this)},34923:function(t){(function(){t.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this)},71737:function(t){(function(){t.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this)},49241:function(t){(function(){var e,n,s,i,r,a,o,l=[].slice,c={}.hasOwnProperty;e=function(){var t,e,n,s,i,a;if(a=arguments[0],i=2<=arguments.length?l.call(arguments,1):[],r(Object.assign))Object.assign.apply(null,arguments);else for(t=0,n=i.length;t":"attribute: {"+t+"}, parent: <"+this.parent.name+">"},t.prototype.isEqualNode=function(t){return t.namespaceURI===this.namespaceURI&&t.prefix===this.prefix&&t.localName===this.localName&&t.value===this.value},t}()}).call(this)},92691:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;e=n(71737),s=n(17457),t.exports=function(t){function n(t,s){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=e.CData,this.value=this.stringify.cdata(s)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.cdata(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},17457:function(t,e,n){(function(){var e,s={}.hasOwnProperty;e=n(10468),t.exports=function(t){function e(t){e.__super__.constructor.call(this,t),this.value=""}return function(t,e){for(var n in e)s.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,t),Object.defineProperty(e.prototype,"data",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(e.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(e.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),e.prototype.clone=function(){return Object.create(this)},e.prototype.substringData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.appendData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.insertData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.deleteData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.replaceData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},e.prototype.isEqualNode=function(t){return!!e.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.data===this.data},e}(e)}).call(this)},32679:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;e=n(71737),s=n(17457),t.exports=function(t){function n(t,s){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=e.Comment,this.value=this.stringify.comment(s)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.comment(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},33074:function(t,e,n){(function(){var e,s;e=n(55660),s=n(92527),t.exports=function(){function t(){this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new e,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=Object.create(this.defaultParams)}return Object.defineProperty(t.prototype,"parameterNames",{get:function(){return new s(Object.keys(this.defaultParams))}}),t.prototype.getParameter=function(t){return this.params.hasOwnProperty(t)?this.params[t]:null},t.prototype.canSetParameter=function(t,e){return!0},t.prototype.setParameter=function(t,e){return null!=e?this.params[t]=e:delete this.params[t]},t}()}).call(this)},55660:function(t){(function(){t.exports=function(){function t(){}return t.prototype.handleError=function(t){throw new Error(t)},t}()}).call(this)},67260:function(t){(function(){t.exports=function(){function t(){}return t.prototype.hasFeature=function(t,e){return!0},t.prototype.createDocumentType=function(t,e,n){throw new Error("This DOM method is not implemented.")},t.prototype.createDocument=function(t,e,n){throw new Error("This DOM method is not implemented.")},t.prototype.createHTMLDocument=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this)},92527:function(t){(function(){t.exports=function(){function t(t){this.arr=t||[]}return Object.defineProperty(t.prototype,"length",{get:function(){return this.arr.length}}),t.prototype.item=function(t){return this.arr[t]||null},t.prototype.contains=function(t){return-1!==this.arr.indexOf(t)},t}()}).call(this)},34111:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(10468),e=n(71737),t.exports=function(t){function n(t,s,i,r,a,o){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD element name. "+this.debugInfo());if(null==i)throw new Error("Missing DTD attribute name. "+this.debugInfo(s));if(!r)throw new Error("Missing DTD attribute type. "+this.debugInfo(s));if(!a)throw new Error("Missing DTD attribute default. "+this.debugInfo(s));if(0!==a.indexOf("#")&&(a="#"+a),!a.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(s));if(o&&!a.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(s));this.elementName=this.stringify.name(s),this.type=e.AttributeDeclaration,this.attributeName=this.stringify.name(i),this.attributeType=this.stringify.dtdAttType(r),o&&(this.defaultValue=this.stringify.dtdAttDefault(o)),this.defaultValueType=a}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},67696:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(10468),e=n(71737),t.exports=function(t){function n(t,s,i){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD element name. "+this.debugInfo());i||(i="(#PCDATA)"),Array.isArray(i)&&(i="("+i.join(",")+")"),this.name=this.stringify.name(s),this.type=e.ElementDeclaration,this.value=this.stringify.dtdElementValue(i)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},5529:function(t,e,n){(function(){var e,s,i,r={}.hasOwnProperty;i=n(49241).isObject,s=n(10468),e=n(71737),t.exports=function(t){function n(t,s,r,a){if(n.__super__.constructor.call(this,t),null==r)throw new Error("Missing DTD entity name. "+this.debugInfo(r));if(null==a)throw new Error("Missing DTD entity value. "+this.debugInfo(r));if(this.pe=!!s,this.name=this.stringify.name(r),this.type=e.EntityDeclaration,i(a)){if(!a.pubID&&!a.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(r));if(a.pubID&&!a.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(r));if(this.internal=!1,null!=a.pubID&&(this.pubID=this.stringify.dtdPubID(a.pubID)),null!=a.sysID&&(this.sysID=this.stringify.dtdSysID(a.sysID)),null!=a.nData&&(this.nData=this.stringify.dtdNData(a.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(r))}else this.value=this.stringify.dtdEntityValue(a),this.internal=!0}return function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),Object.defineProperty(n.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(n.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(n.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(n.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(n.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(n.prototype,"xmlVersion",{get:function(){return null}}),n.prototype.toString=function(t){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},28012:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(10468),e=n(71737),t.exports=function(t){function n(t,s,i){if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing DTD notation name. "+this.debugInfo(s));if(!i.pubID&&!i.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(s));this.name=this.stringify.name(s),this.type=e.NotationDeclaration,null!=i.pubID&&(this.pubID=this.stringify.dtdPubID(i.pubID)),null!=i.sysID&&(this.sysID=this.stringify.dtdSysID(i.sysID))}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),Object.defineProperty(n.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(n.prototype,"systemId",{get:function(){return this.sysID}}),n.prototype.toString=function(t){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},34130:function(t,e,n){(function(){var e,s,i,r={}.hasOwnProperty;i=n(49241).isObject,s=n(10468),e=n(71737),t.exports=function(t){function n(t,s,r,a){var o;n.__super__.constructor.call(this,t),i(s)&&(s=(o=s).version,r=o.encoding,a=o.standalone),s||(s="1.0"),this.type=e.Declaration,this.version=this.stringify.xmlVersion(s),null!=r&&(this.encoding=this.stringify.xmlEncoding(r)),null!=a&&(this.standalone=this.stringify.xmlStandalone(a))}return function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.toString=function(t){return this.options.writer.declaration(this,this.options.writer.filterOptions(t))},n}(s)}).call(this)},96376:function(t,e,n){(function(){var e,s,i,r,a,o,l,c,d={}.hasOwnProperty;c=n(49241).isObject,l=n(10468),e=n(71737),s=n(34111),r=n(5529),i=n(67696),a=n(28012),o=n(24797),t.exports=function(t){function n(t,s,i){var r,a,o,l,d,u;if(n.__super__.constructor.call(this,t),this.type=e.DocType,t.children)for(a=0,o=(l=t.children).length;a=0;)this.up();return this.onEnd()},t.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},t.prototype.openNode=function(t){var n,i,r,a;if(!t.isOpen){if(this.root||0!==this.currentLevel||t.type!==e.Element||(this.root=t),i="",t.type===e.Element){for(r in this.writerOptions.state=s.OpenTag,i=this.writer.indent(t,this.writerOptions,this.currentLevel)+"<"+t.name,a=t.attribs)x.call(a,r)&&(n=a[r],i+=this.writer.attribute(n,this.writerOptions,this.currentLevel));i+=(t.children?">":"/>")+this.writer.endline(t,this.writerOptions,this.currentLevel),this.writerOptions.state=s.InsideTag}else this.writerOptions.state=s.OpenTag,i=this.writer.indent(t,this.writerOptions,this.currentLevel)+""),i+=this.writer.endline(t,this.writerOptions,this.currentLevel);return this.onData(i,this.currentLevel),t.isOpen=!0}},t.prototype.closeNode=function(t){var n;if(!t.isClosed)return"",this.writerOptions.state=s.CloseTag,n=t.type===e.Element?this.writer.indent(t,this.writerOptions,this.currentLevel)+""+this.writer.endline(t,this.writerOptions,this.currentLevel):this.writer.indent(t,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(t,this.writerOptions,this.currentLevel),this.writerOptions.state=s.None,this.onData(n,this.currentLevel),t.isClosed=!0},t.prototype.onData=function(t,e){return this.documentStarted=!0,this.onDataCallback(t,e+1)},t.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},t.prototype.debugInfo=function(t){return null==t?"":"node: <"+t+">"},t.prototype.ele=function(){return this.element.apply(this,arguments)},t.prototype.nod=function(t,e,n){return this.node(t,e,n)},t.prototype.txt=function(t){return this.text(t)},t.prototype.dat=function(t){return this.cdata(t)},t.prototype.com=function(t){return this.comment(t)},t.prototype.ins=function(t,e){return this.instruction(t,e)},t.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},t.prototype.dtd=function(t,e,n){return this.doctype(t,e,n)},t.prototype.e=function(t,e,n){return this.element(t,e,n)},t.prototype.n=function(t,e,n){return this.node(t,e,n)},t.prototype.t=function(t){return this.text(t)},t.prototype.d=function(t){return this.cdata(t)},t.prototype.c=function(t){return this.comment(t)},t.prototype.r=function(t){return this.raw(t)},t.prototype.i=function(t,e){return this.instruction(t,e)},t.prototype.att=function(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},t.prototype.a=function(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},t.prototype.ent=function(t,e){return this.entity(t,e)},t.prototype.pent=function(t,e){return this.pEntity(t,e)},t.prototype.not=function(t,e){return this.notation(t,e)},t}()}).call(this)},21218:function(t,e,n){(function(){var e,s,i={}.hasOwnProperty;s=n(10468),e=n(71737),t.exports=function(t){function n(t){n.__super__.constructor.call(this,t),this.type=e.Dummy}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function s(){this.constructor=t}s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return""},n}(s)}).call(this)},33906:function(t,e,n){(function(){var e,s,i,r,a,o,l,c,d={}.hasOwnProperty;c=n(49241),l=c.isObject,o=c.isFunction,a=c.getValue,r=n(10468),e=n(71737),s=n(54238),i=n(24797),t.exports=function(t){function n(t,s,i){var r,a,o,l;if(n.__super__.constructor.call(this,t),null==s)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(s),this.type=e.Element,this.attribs={},this.schemaTypeInfo=null,null!=i&&this.attribute(i),t.type===e.Document&&(this.isRoot=!0,this.documentObject=t,t.rootObject=this,t.children))for(a=0,o=(l=t.children).length;a=i;e=0<=i?++s:--s)if(!this.attribs[e].isEqualNode(t.attribs[e]))return!1;return!0},n}(r)}).call(this)},24797:function(t){(function(){t.exports=function(){function t(t){this.nodes=t}return Object.defineProperty(t.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),t.prototype.clone=function(){return this.nodes=null},t.prototype.getNamedItem=function(t){return this.nodes[t]},t.prototype.setNamedItem=function(t){var e;return e=this.nodes[t.nodeName],this.nodes[t.nodeName]=t,e||null},t.prototype.removeNamedItem=function(t){var e;return e=this.nodes[t],delete this.nodes[t],e||null},t.prototype.item=function(t){return this.nodes[Object.keys(this.nodes)[t]]||null},t.prototype.getNamedItemNS=function(t,e){throw new Error("This DOM method is not implemented.")},t.prototype.setNamedItemNS=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.removeNamedItemNS=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this)},10468:function(t,e,n){(function(){var e,s,i,r,a,o,l,c,d,u,m,p,g,f,h,v,w,y={}.hasOwnProperty;w=n(49241),v=w.isObject,h=w.isFunction,f=w.isEmpty,g=w.getValue,c=null,i=null,r=null,a=null,o=null,m=null,p=null,u=null,l=null,s=null,d=null,e=null,t.exports=function(){function t(t){this.parent=t,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,c||(c=n(33906),i=n(92691),r=n(32679),a=n(34130),o=n(96376),m=n(1268),p=n(82535),u=n(85915),l=n(21218),s=n(71737),d=n(16684),n(24797),e=n(34923))}return Object.defineProperty(t.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(t.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(t.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.childNodeList&&this.childNodeList.nodes||(this.childNodeList=new d(this.children)),this.childNodeList}}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(t.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(t.prototype,"previousSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t-1]||null}}),Object.defineProperty(t.prototype,"nextSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t+1]||null}}),Object.defineProperty(t.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(t.prototype,"textContent",{get:function(){var t,e,n,i,r;if(this.nodeType===s.Element||this.nodeType===s.DocumentFragment){for(r="",e=0,n=(i=this.children).length;e":(null!=(n=this.parent)?n.name:void 0)?"node: <"+t+">, parent: <"+this.parent.name+">":"node: <"+t+">":""},t.prototype.ele=function(t,e,n){return this.element(t,e,n)},t.prototype.nod=function(t,e,n){return this.node(t,e,n)},t.prototype.txt=function(t){return this.text(t)},t.prototype.dat=function(t){return this.cdata(t)},t.prototype.com=function(t){return this.comment(t)},t.prototype.ins=function(t,e){return this.instruction(t,e)},t.prototype.doc=function(){return this.document()},t.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},t.prototype.e=function(t,e,n){return this.element(t,e,n)},t.prototype.n=function(t,e,n){return this.node(t,e,n)},t.prototype.t=function(t){return this.text(t)},t.prototype.d=function(t){return this.cdata(t)},t.prototype.c=function(t){return this.comment(t)},t.prototype.r=function(t){return this.raw(t)},t.prototype.i=function(t,e){return this.instruction(t,e)},t.prototype.u=function(){return this.up()},t.prototype.importXMLBuilder=function(t){return this.importDocument(t)},t.prototype.replaceChild=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.removeChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.appendChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.hasChildNodes=function(){return 0!==this.children.length},t.prototype.cloneNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isSupported=function(t,e){return!0},t.prototype.hasAttributes=function(){return 0!==this.attribs.length},t.prototype.compareDocumentPosition=function(t){var n,s;return(n=this)===t?0:this.document()!==t.document()?(s=e.Disconnected|e.ImplementationSpecific,Math.random()<.5?s|=e.Preceding:s|=e.Following,s):n.isAncestor(t)?e.Contains|e.Preceding:n.isDescendant(t)?e.Contains|e.Following:n.isPreceding(t)?e.Preceding:e.Following},t.prototype.isSameNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.lookupPrefix=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isDefaultNamespace=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.lookupNamespaceURI=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.isEqualNode=function(t){var e,n,s;if(t.nodeType!==this.nodeType)return!1;if(t.children.length!==this.children.length)return!1;for(e=n=0,s=this.children.length-1;0<=s?n<=s:n>=s;e=0<=s?++n:--n)if(!this.children[e].isEqualNode(t.children[e]))return!1;return!0},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.setUserData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.getUserData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},t.prototype.contains=function(t){return!!t&&(t===this||this.isDescendant(t))},t.prototype.isDescendant=function(t){var e,n,s,i;for(n=0,s=(i=this.children).length;nn},t.prototype.treePosition=function(t){var e,n;return n=0,e=!1,this.foreachTreeNode(this.document(),(function(s){if(n++,!e&&s===t)return e=!0})),e?n:-1},t.prototype.foreachTreeNode=function(t,e){var n,s,i,r,a;for(t||(t=this.document()),s=0,i=(r=t.children).length;s0){for(this.stream.write(" ["),this.stream.write(this.endline(t,e,n)),e.state=s.InsideTag,r=0,a=(o=t.children).length;r"),this.stream.write(this.endline(t,e,n)),e.state=s.None,this.closeNode(t,e,n)},n.prototype.element=function(t,n,i){var a,o,l,c,d,u,m,p,g;for(m in i||(i=0),this.openNode(t,n,i),n.state=s.OpenTag,this.stream.write(this.indent(t,n,i)+"<"+t.name),p=t.attribs)r.call(p,m)&&(a=p[m],this.attribute(a,n,i));if(c=0===(l=t.children.length)?null:t.children[0],0===l||t.children.every((function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value})))n.allowEmpty?(this.stream.write(">"),n.state=s.CloseTag,this.stream.write("")):(n.state=s.CloseTag,this.stream.write(n.spaceBeforeSlash+"/>"));else if(!n.pretty||1!==l||c.type!==e.Text&&c.type!==e.Raw||null==c.value){for(this.stream.write(">"+this.endline(t,n,i)),n.state=s.InsideTag,d=0,u=(g=t.children).length;d")}else this.stream.write(">"),n.state=s.InsideTag,n.suppressPrettyCount++,this.writeChildNode(c,n,i+1),n.suppressPrettyCount--,n.state=s.CloseTag,this.stream.write("");return this.stream.write(this.endline(t,n,i)),n.state=s.None,this.closeNode(t,n,i)},n.prototype.processingInstruction=function(t,e,s){return this.stream.write(n.__super__.processingInstruction.call(this,t,e,s))},n.prototype.raw=function(t,e,s){return this.stream.write(n.__super__.raw.call(this,t,e,s))},n.prototype.text=function(t,e,s){return this.stream.write(n.__super__.text.call(this,t,e,s))},n.prototype.dtdAttList=function(t,e,s){return this.stream.write(n.__super__.dtdAttList.call(this,t,e,s))},n.prototype.dtdElement=function(t,e,s){return this.stream.write(n.__super__.dtdElement.call(this,t,e,s))},n.prototype.dtdEntity=function(t,e,s){return this.stream.write(n.__super__.dtdEntity.call(this,t,e,s))},n.prototype.dtdNotation=function(t,e,s){return this.stream.write(n.__super__.dtdNotation.call(this,t,e,s))},n}(i)}).call(this)},40382:function(t,e,n){(function(){var e,s={}.hasOwnProperty;e=n(6286),t.exports=function(t){function e(t){e.__super__.constructor.call(this,t)}return function(t,e){for(var n in e)s.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,t),e.prototype.document=function(t,e){var n,s,i,r,a;for(e=this.filterOptions(e),r="",s=0,i=(a=t.children).length;s","]]]]>"),this.assertLegalChar(t))},t.prototype.comment=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/--/))throw new Error("Comment text cannot contain double-hypen: "+t);return this.assertLegalChar(t)},t.prototype.raw=function(t){return this.options.noValidation?t:""+t||""},t.prototype.attValue=function(t){return this.options.noValidation?t:this.assertLegalChar(this.attEscape(t=""+t||""))},t.prototype.insTarget=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.insValue=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/\?>/))throw new Error("Invalid processing instruction value: "+t);return this.assertLegalChar(t)},t.prototype.xmlVersion=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/1\.[0-9]+/))throw new Error("Invalid version number: "+t);return t},t.prototype.xmlEncoding=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+t);return this.assertLegalChar(t)},t.prototype.xmlStandalone=function(t){return this.options.noValidation?t:t?"yes":"no"},t.prototype.dtdPubID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdSysID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdElementValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdAttType=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdAttDefault=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdEntityValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.dtdNData=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},t.prototype.convertAttKey="@",t.prototype.convertPIKey="?",t.prototype.convertTextKey="#text",t.prototype.convertCDataKey="#cdata",t.prototype.convertCommentKey="#comment",t.prototype.convertRawKey="#raw",t.prototype.assertLegalChar=function(t){var e,n;if(this.options.noValidation)return t;if(e="","1.0"===this.options.version){if(e=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(e))throw new Error("Invalid character in string: "+t+" at index "+n.index)}else if("1.1"===this.options.version&&(e=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(e)))throw new Error("Invalid character in string: "+t+" at index "+n.index);return t},t.prototype.assertLegalName=function(t){var e;if(this.options.noValidation)return t;if(this.assertLegalChar(t),e=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!t.match(e))throw new Error("Invalid character in name");return t},t.prototype.textEscape=function(t){var e;return this.options.noValidation?t:(e=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(e,"&").replace(//g,">").replace(/\r/g," "))},t.prototype.attEscape=function(t){var e;return this.options.noValidation?t:(e=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(e,"&").replace(/0?new Array(s).join(e.indent):""},t.prototype.endline=function(t,e,n){return!e.pretty||e.suppressPrettyCount?"":e.newline},t.prototype.attribute=function(t,e,n){var s;return this.openAttribute(t,e,n),s=" "+t.name+'="'+t.value+'"',this.closeAttribute(t,e,n),s},t.prototype.cdata=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.comment=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"\x3c!-- ",e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=" --\x3e"+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.declaration=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"",i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.docType=function(t,e,n){var i,r,a,o,l;if(n||(n=0),this.openNode(t,e,n),e.state=s.OpenTag,o=this.indent(t,e,n),o+="0){for(o+=" [",o+=this.endline(t,e,n),e.state=s.InsideTag,r=0,a=(l=t.children).length;r",o+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),o},t.prototype.element=function(t,n,i){var a,o,l,c,d,u,m,p,g,f,h,v,w,y;for(g in i||(i=0),f=!1,h="",this.openNode(t,n,i),n.state=s.OpenTag,h+=this.indent(t,n,i)+"<"+t.name,v=t.attribs)r.call(v,g)&&(a=v[g],h+=this.attribute(a,n,i));if(c=0===(l=t.children.length)?null:t.children[0],0===l||t.children.every((function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value})))n.allowEmpty?(h+=">",n.state=s.CloseTag,h+=""+this.endline(t,n,i)):(n.state=s.CloseTag,h+=n.spaceBeforeSlash+"/>"+this.endline(t,n,i));else if(!n.pretty||1!==l||c.type!==e.Text&&c.type!==e.Raw||null==c.value){if(n.dontPrettyTextNodes)for(d=0,m=(w=t.children).length;d"+this.endline(t,n,i),n.state=s.InsideTag,u=0,p=(y=t.children).length;u",f&&n.suppressPrettyCount--,h+=this.endline(t,n,i),n.state=s.None}else h+=">",n.state=s.InsideTag,n.suppressPrettyCount++,f=!0,h+=this.writeChildNode(c,n,i+1),n.suppressPrettyCount--,f=!1,n.state=s.CloseTag,h+=""+this.endline(t,n,i);return this.closeNode(t,n,i),h},t.prototype.writeChildNode=function(t,n,s){switch(t.type){case e.CData:return this.cdata(t,n,s);case e.Comment:return this.comment(t,n,s);case e.Element:return this.element(t,n,s);case e.Raw:return this.raw(t,n,s);case e.Text:return this.text(t,n,s);case e.ProcessingInstruction:return this.processingInstruction(t,n,s);case e.Dummy:return"";case e.Declaration:return this.declaration(t,n,s);case e.DocType:return this.docType(t,n,s);case e.AttributeDeclaration:return this.dtdAttList(t,n,s);case e.ElementDeclaration:return this.dtdElement(t,n,s);case e.EntityDeclaration:return this.dtdEntity(t,n,s);case e.NotationDeclaration:return this.dtdNotation(t,n,s);default:throw new Error("Unknown XML node type: "+t.constructor.name)}},t.prototype.processingInstruction=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+"",i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.raw=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n),e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.text=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n),e.state=s.InsideTag,i+=t.value,e.state=s.CloseTag,i+=this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdAttList=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdElement=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdEntity=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.dtdNotation=function(t,e,n){var i;return this.openNode(t,e,n),e.state=s.OpenTag,i=this.indent(t,e,n)+""+this.endline(t,e,n),e.state=s.None,this.closeNode(t,e,n),i},t.prototype.openNode=function(t,e,n){},t.prototype.closeNode=function(t,e,n){},t.prototype.openAttribute=function(t,e,n){},t.prototype.closeAttribute=function(t,e,n){},t}()}).call(this)},59665:function(t,e,n){(function(){var e,s,i,r,a,o,l,c,d,u;u=n(49241),c=u.assign,d=u.isFunction,i=n(67260),r=n(71933),a=n(80400),l=n(40382),o=n(96775),e=n(71737),s=n(88753),t.exports.create=function(t,e,n,s){var i,a;if(null==t)throw new Error("Root element needs a name.");return s=c({},e,n,s),a=(i=new r(s)).element(t),s.headless||(i.declaration(s),null==s.pubID&&null==s.sysID||i.dtd(s)),a},t.exports.begin=function(t,e,n){var s;return d(t)&&(e=(s=[t,e])[0],n=s[1],t={}),e?new a(t,e,n):new r(t)},t.exports.stringWriter=function(t){return new l(t)},t.exports.streamWriter=function(t,e){return new o(t,e)},t.exports.implementation=new i,t.exports.nodeType=e,t.exports.writerState=s}).call(this)},98383:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20viewBox=%270%200%2016%2016%27%20height=%2716%27%20width=%2716%27%20xmlns=%27http://www.w3.org/2000/svg%27%20xml:space=%27preserve%27%20style=%27fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2%27%3e%3cpath%20d=%27M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z%27%20style=%27fill-rule:nonzero%27%20transform=%27matrix%28.85714%200%200%20.85714%20-2.286%20-2.286%29%27/%3e%3c/svg%3e"},39075:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20viewBox=%270%200%2016%2016%27%20height=%2716%27%20width=%2716%27%20xmlns=%27http://www.w3.org/2000/svg%27%20xml:space=%27preserve%27%20style=%27fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2%27%3e%3cpath%20d=%27M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z%27%20style=%27fill:%23fff;fill-rule:nonzero%27%20transform=%27matrix%28.85714%200%200%20.85714%20-2.286%20-2.286%29%27/%3e%3c/svg%3e"},15340:()=>{},79838:()=>{},63642:(t,e,n)=>{"use strict";n.d(e,{U:()=>ot,a:()=>it,c:()=>$,g:()=>ct,h:()=>ut,l:()=>Y,n:()=>X,o:()=>dt,t:()=>rt});var s=n(85072),i=n.n(s),r=n(97825),a=n.n(r),o=n(77659),l=n.n(o),c=n(55056),d=n.n(c),u=n(10540),m=n.n(u),p=n(41113),g=n.n(p),f=n(30521),h={};h.styleTagTransform=g(),h.setAttributes=d(),h.insert=l().bind(null,"head"),h.domAPI=a(),h.insertStyleElement=m(),i()(f.A,h),f.A&&f.A.locals&&f.A.locals;var v=n(53110),w=n(71089),y=n(53127),A=n(63814),b=n(21777),C=n(26287);class _ extends Error{constructor(t){super(t||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}}const T=Object.freeze({pending:Symbol("pending"),canceled:Symbol("canceled"),resolved:Symbol("resolved"),rejected:Symbol("rejected")});class x{static fn(t){return(...e)=>new x(((n,s,i)=>{e.push(i),t(...e).then(n,s)}))}#t=[];#e=!0;#n=T.pending;#s;#i;constructor(t){this.#s=new Promise(((e,n)=>{this.#i=n;const s=t=>{if(this.#n!==T.pending)throw new Error(`The \`onCancel\` handler was attached after the promise ${this.#n.description}.`);this.#t.push(t)};Object.defineProperties(s,{shouldReject:{get:()=>this.#e,set:t=>{this.#e=t}}}),t((t=>{this.#n===T.canceled&&s.shouldReject||(e(t),this.#r(T.resolved))}),(t=>{this.#n===T.canceled&&s.shouldReject||(n(t),this.#r(T.rejected))}),s)}))}then(t,e){return this.#s.then(t,e)}catch(t){return this.#s.catch(t)}finally(t){return this.#s.finally(t)}cancel(t){if(this.#n===T.pending){if(this.#r(T.canceled),this.#t.length>0)try{for(const t of this.#t)t()}catch(t){return void this.#i(t)}this.#e&&this.#i(new _(t))}}get isCanceled(){return this.#n===T.canceled}#r(t){this.#n===T.pending&&(this.#n=t)}}Object.setPrototypeOf(x.prototype,Promise.prototype);var S=n(9052);class k extends Error{constructor(t){super(t),this.name="TimeoutError"}}class L extends Error{constructor(t){super(),this.name="AbortError",this.message=t}}const E=t=>void 0===globalThis.DOMException?new L(t):new DOMException(t),N=t=>{const e=void 0===t.reason?E("This operation was aborted."):t.reason;return e instanceof Error?e:E(e)};class F{#a=[];enqueue(t,e){const n={priority:(e={priority:0,...e}).priority,run:t};if(this.size&&this.#a[this.size-1].priority>=e.priority)return void this.#a.push(n);const s=function(t,e,n){let s=0,i=t.length;for(;i>0;){const n=Math.trunc(i/2);let a=s+n;r=t[a],e.priority-r.priority<=0?(s=++a,i-=n+1):i=n}var r;return s}(this.#a,n);this.#a.splice(s,0,n)}dequeue(){const t=this.#a.shift();return t?.run}filter(t){return this.#a.filter((e=>e.priority===t.priority)).map((t=>t.run))}get size(){return this.#a.length}}class P extends S{#o;#l;#c=0;#d;#u;#m=0;#p;#g;#a;#f;#h=0;#v;#w;#y;timeout;constructor(t){if(super(),!("number"==typeof(t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:F,...t}).intervalCap&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(void 0===t.interval||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#o=t.carryoverConcurrencyCount,this.#l=t.intervalCap===Number.POSITIVE_INFINITY||0===t.interval,this.#d=t.intervalCap,this.#u=t.interval,this.#a=new t.queueClass,this.#f=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#y=!0===t.throwOnTimeout,this.#w=!1===t.autoStart}get#A(){return this.#l||this.#c{this.#T()}),e)),!0;this.#c=this.#o?this.#h:0}return!1}#_(){if(0===this.#a.size)return this.#p&&clearInterval(this.#p),this.#p=void 0,this.emit("empty"),0===this.#h&&this.emit("idle"),!1;if(!this.#w){const t=!this.#k;if(this.#A&&this.#b){const e=this.#a.dequeue();return!!e&&(this.emit("active"),e(),t&&this.#S(),!0)}}return!1}#S(){this.#l||void 0!==this.#p||(this.#p=setInterval((()=>{this.#x()}),this.#u),this.#m=Date.now()+this.#u)}#x(){0===this.#c&&0===this.#h&&this.#p&&(clearInterval(this.#p),this.#p=void 0),this.#c=this.#o?this.#h:0,this.#L()}#L(){for(;this.#_(););}get concurrency(){return this.#v}set concurrency(t){if(!("number"==typeof t&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#v=t,this.#L()}async#E(t){return new Promise(((e,n)=>{t.addEventListener("abort",(()=>{n(t.reason)}),{once:!0})}))}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#y,...e},new Promise(((n,s)=>{this.#a.enqueue((async()=>{this.#h++,this.#c++;try{e.signal?.throwIfAborted();let s=t({signal:e.signal});e.timeout&&(s=function(t,e){const{milliseconds:n,fallback:s,message:i,customTimers:r={setTimeout,clearTimeout}}=e;let a;const o=new Promise(((o,l)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(e.signal){const{signal:t}=e;t.aborted&&l(N(t)),t.addEventListener("abort",(()=>{l(N(t))}))}if(n===Number.POSITIVE_INFINITY)return void t.then(o,l);const c=new k;a=r.setTimeout.call(void 0,(()=>{if(s)try{o(s())}catch(t){l(t)}else"function"==typeof t.cancel&&t.cancel(),!1===i?o():i instanceof Error?l(i):(c.message=i??`Promise timed out after ${n} milliseconds`,l(c))}),n),(async()=>{try{o(await t)}catch(t){l(t)}})()})).finally((()=>{o.clear()}));return o.clear=()=>{r.clearTimeout.call(void 0,a),a=void 0},o}(Promise.resolve(s),{milliseconds:e.timeout})),e.signal&&(s=Promise.race([s,this.#E(e.signal)]));const i=await s;n(i),this.emit("completed",i)}catch(t){if(t instanceof k&&!e.throwOnTimeout)return void n();s(t),this.emit("error",t)}finally{this.#C()}}),e),this.emit("add"),this.#_()}))}async addAll(t,e){return Promise.all(t.map((async t=>this.add(t,e))))}start(){return this.#w?(this.#w=!1,this.#L(),this):this}pause(){this.#w=!0}clear(){this.#a=new this.#f}async onEmpty(){0!==this.#a.size&&await this.#N("empty")}async onSizeLessThan(t){this.#a.sizethis.#a.size{const s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)}))}get size(){return this.#a.size}sizeBy(t){return this.#a.filter(t).length}get pending(){return this.#h}get isPaused(){return this.#w}}var I=n(53529),D=n(85168),O=n(75270),U=n(85471),B=n(89257),M=n(24764),j=n(54332),R=n(6695),z=n(95101),V=n(11195);const q=async function(t,e,n,s=(()=>{}),i=void 0,r={}){let a;return a=e instanceof Blob?e:await e(),i&&(r.Destination=i),r["Content-Type"]||(r["Content-Type"]="application/octet-stream"),await C.A.request({method:"PUT",url:t,data:a,signal:n,onUploadProgress:s,headers:r})},H=function(t,e,n){return 0===e&&t.size<=n?Promise.resolve(new Blob([t],{type:t.type||"application/octet-stream"})):Promise.resolve(new Blob([t.slice(e,e+n)],{type:"application/octet-stream"}))},W=function(t=void 0){const e=window.OC?.appConfig?.files?.max_chunk_size;if(e<=0)return 0;if(!Number(e))return 10485760;const n=Math.max(Number(e),5242880);return void 0===t?n:Math.max(n,Math.ceil(t/1e4))};var $=(t=>(t[t.INITIALIZED=0]="INITIALIZED",t[t.UPLOADING=1]="UPLOADING",t[t.ASSEMBLING=2]="ASSEMBLING",t[t.FINISHED=3]="FINISHED",t[t.CANCELLED=4]="CANCELLED",t[t.FAILED=5]="FAILED",t))($||{});let G=class{_source;_file;_isChunked;_chunks;_size;_uploaded=0;_startTime=0;_status=0;_controller;_response=null;constructor(t,e=!1,n,s){const i=Math.min(W()>0?Math.ceil(n/W()):1,1e4);this._source=t,this._isChunked=e&&W()>0&&i>1,this._chunks=this._isChunked?i:1,this._size=n,this._file=s,this._controller=new AbortController}get source(){return this._source}get file(){return this._file}get isChunked(){return this._isChunked}get chunks(){return this._chunks}get size(){return this._size}get startTime(){return this._startTime}set response(t){this._response=t}get response(){return this._response}get uploaded(){return this._uploaded}set uploaded(t){if(t>=this._size)return this._status=this._isChunked?2:3,void(this._uploaded=this._size);this._status=1,this._uploaded=t,0===this._startTime&&(this._startTime=(new Date).getTime())}get status(){return this._status}set status(t){this._status=t}get signal(){return this._controller.signal}cancel(){this._controller.abort(),this._status=4}};const Y=null===(K=(0,b.HW)())?(0,I.YK)().setApp("uploader").build():(0,I.YK)().setApp("uploader").setUid(K.uid).build();var K,Q=(t=>(t[t.IDLE=0]="IDLE",t[t.UPLOADING=1]="UPLOADING",t[t.PAUSED=2]="PAUSED",t))(Q||{});class J{_destinationFolder;_isPublic;_uploadQueue=[];_jobQueue=new P({concurrency:3});_queueSize=0;_queueProgress=0;_queueStatus=0;_notifiers=[];constructor(t=!1,e){if(this._isPublic=t,!e){const t=(0,b.HW)()?.uid,n=(0,A.dC)(`dav/files/${t}`);if(!t)throw new Error("User is not logged in");e=new y.vd({id:0,owner:t,permissions:y.aX.ALL,root:`/files/${t}`,source:n})}this.destination=e,Y.debug("Upload workspace initialized",{destination:this.destination,root:this.root,isPublic:t,maxChunksSize:W()})}get destination(){return this._destinationFolder}set destination(t){if(!t)throw new Error("Invalid destination folder");Y.debug("Destination set",{folder:t}),this._destinationFolder=t}get root(){return this._destinationFolder.source}get queue(){return this._uploadQueue}reset(){this._uploadQueue.splice(0,this._uploadQueue.length),this._jobQueue.clear(),this._queueSize=0,this._queueProgress=0,this._queueStatus=0}pause(){this._jobQueue.pause(),this._queueStatus=2}start(){this._jobQueue.start(),this._queueStatus=1,this.updateStats()}get info(){return{size:this._queueSize,progress:this._queueProgress,status:this._queueStatus}}updateStats(){const t=this._uploadQueue.map((t=>t.size)).reduce(((t,e)=>t+e),0),e=this._uploadQueue.map((t=>t.uploaded)).reduce(((t,e)=>t+e),0);this._queueSize=t,this._queueProgress=e,2!==this._queueStatus&&(this._queueStatus=this._jobQueue.size>0?1:0)}addNotifier(t){this._notifiers.push(t)}upload(t,e,n){const s=`${n||this.root}/${t.replace(/^\//,"")}`,{origin:i}=new URL(s),r=i+(0,w.O0)(s.slice(i.length));Y.debug(`Uploading ${e.name} to ${r}`);const a=W(e.size),o=0===a||e.size{if(s(l.cancel),o){Y.debug("Initializing regular upload",{file:e,upload:l});const s=await H(e,0,l.size),i=async()=>{try{l.response=await q(r,s,l.signal,(t=>{l.uploaded=l.uploaded+t.bytes,this.updateStats()}),void 0,{"X-OC-Mtime":e.lastModified/1e3,"Content-Type":e.type}),l.uploaded=l.size,this.updateStats(),Y.debug(`Successfully uploaded ${e.name}`,{file:e,upload:l}),t(l)}catch(t){if(t instanceof v.k3)return l.status=$.FAILED,void n("Upload has been cancelled");t?.response&&(l.response=t.response),l.status=$.FAILED,Y.error(`Failed uploading ${e.name}`,{error:t,file:e,upload:l}),n("Failed uploading the file")}this._notifiers.forEach((t=>{try{t(l)}catch{}}))};this._jobQueue.add(i),this.updateStats()}else{Y.debug("Initializing chunked upload",{file:e,upload:l});const s=await async function(t){const e=`${(0,A.dC)(`dav/uploads/${(0,b.HW)()?.uid}`)}/web-file-upload-${[...Array(16)].map((()=>Math.floor(16*Math.random()).toString(16))).join("")}`,n=t?{Destination:t}:void 0;return await C.A.request({method:"MKCOL",url:e,headers:n}),e}(r),i=[];for(let t=0;tH(e,n,a),d=()=>q(`${s}/${t+1}`,c,l.signal,(()=>this.updateStats()),r,{"X-OC-Mtime":e.lastModified/1e3,"OC-Total-Length":e.size,"Content-Type":"application/octet-stream"}).then((()=>{l.uploaded=l.uploaded+a})).catch((e=>{throw 507===e?.response?.status?(Y.error("Upload failed, not enough space on the server or quota exceeded. Cancelling the remaining chunks",{error:e,upload:l}),l.cancel(),l.status=$.FAILED,e):(e instanceof v.k3||(Y.error(`Chunk ${t+1} ${n} - ${o} uploading failed`,{error:e,upload:l}),l.cancel(),l.status=$.FAILED),e)}));i.push(this._jobQueue.add(d))}try{await Promise.all(i),this.updateStats(),l.response=await C.A.request({method:"MOVE",url:`${s}/.file`,headers:{"X-OC-Mtime":e.lastModified/1e3,"OC-Total-Length":e.size,Destination:r}}),this.updateStats(),l.status=$.FINISHED,Y.debug(`Successfully uploaded ${e.name}`,{file:e,upload:l}),t(l)}catch(t){t instanceof v.k3?(l.status=$.FAILED,n("Upload has been cancelled")):(l.status=$.FAILED,n("Failed assembling the chunks together")),C.A.request({method:"DELETE",url:`${s}`})}this._notifiers.forEach((t=>{try{t(l)}catch{}}))}return this._jobQueue.onIdle().then((()=>this.reset())),l}))}}function X(t,e,n,s,i,r,a,o){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),s&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=o?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(t,e){return l.call(e),d(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}const Z=X({name:"CancelIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon cancel-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,tt=X({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,et=X({name:"UploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon upload-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,nt=(0,V.$)().detectLocale();[{locale:"af",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)","Content-Type":"text/plain; charset=UTF-8",Language:"af","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: af\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ar",json:{charset:"utf-8",headers:{"Last-Translator":"Ali , 2024","Language-Team":"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar","Plural-Forms":"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nAli , 2024\n"},msgstr:["Last-Translator: Ali , 2024\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} ملف متعارض","{count} ملف متعارض","{count} ملفان متعارضان","{count} ملف متعارض","{count} ملفات متعارضة","{count} ملفات متعارضة"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} ملف متعارض في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفان متعارضان في n {dirname}","{count} ملف متعارض في n {dirname}","{count} ملفات متعارضة في n {dirname}","{count} ملفات متعارضة في n {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} ثانية متبقية"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} متبقية"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["باقٍ بضعُ ثوانٍ"]},Cancel:{msgid:"Cancel",msgstr:["إلغاء"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["إلغِ العملية بالكامل"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["إلغاء عمليات رفع الملفات"]},Continue:{msgid:"Continue",msgstr:["إستمر"]},"estimating time left":{msgid:"estimating time left",msgstr:["تقدير الوقت المتبقي"]},"Existing version":{msgid:"Existing version",msgstr:["الإصدار الحالي"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["إذا اخترت الإبقاء على النسختين معاً، فإن الملف المنسوخ سيتم إلحاق رقم تسلسلي في نهاية اسمه."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["تاريخ آخر تعديل غير معلوم"]},New:{msgid:"New",msgstr:["جديد"]},"New version":{msgid:"New version",msgstr:["نسخة جديدة"]},paused:{msgid:"paused",msgstr:["مُجمَّد"]},"Preview image":{msgid:"Preview image",msgstr:["معاينة الصورة"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["حدِّد كل صناديق الخيارات"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["حدِّد كل الملفات الموجودة"]},"Select all new files":{msgid:"Select all new files",msgstr:["حدِّد كل الملفات الجديدة"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف","تخطَّ {count} ملف"]},"Unknown size":{msgid:"Unknown size",msgstr:["حجم غير معلوم"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["تمَّ إلغاء الرفع"]},"Upload files":{msgid:"Upload files",msgstr:["رفع ملفات"]},"Upload progress":{msgid:"Upload progress",msgstr:["تقدُّم الرفع "]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["عند تحديد مجلد وارد، أي ملفات متعارضة بداخله ستتم الكتابة فوقها."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["أيُّ الملفات ترغب في الإبقاء عليها؟"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["يجب أن تختار نسخة واحدة على الأقل من كل ملف للاستمرار."]}}}}},{locale:"ar_SA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar_SA","Plural-Forms":"nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Arabic (Saudi Arabia) (https://www.transifex.com/nextcloud/teams/64236/ar_SA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar_SA\nPlural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ast",json:{charset:"utf-8",headers:{"Last-Translator":"enolp , 2023","Language-Team":"Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)","Content-Type":"text/plain; charset=UTF-8",Language:"ast","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nenolp , 2023\n"},msgstr:["Last-Translator: enolp , 2023\nLanguage-Team: Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ast\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} ficheru en coflictu","{count} ficheros en coflictu"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} ficheru en coflictu en {dirname}","{count} ficheros en coflictu en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Queden {seconds} segundos"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Tiempu que queda: {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["queden unos segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Encaboxar les xubes"]},Continue:{msgid:"Continue",msgstr:["Siguir"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando'l tiempu que falta"]},"Existing version":{msgid:"Existing version",msgstr:["Versión esistente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si seleiciones dambes versiones, el ficheru copiáu va tener un númberu amestáu al so nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["La data de la última modificación ye desconocida"]},New:{msgid:"New",msgstr:["Nuevu"]},"New version":{msgid:"New version",msgstr:["Versión nueva"]},paused:{msgid:"paused",msgstr:["en posa"]},"Preview image":{msgid:"Preview image",msgstr:["Previsualizar la imaxe"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marcar toles caxelles"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleicionar tolos ficheros esistentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleicionar tolos ficheros nuevos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Saltar esti ficheru","Saltar {count} ficheros"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamañu desconocíu"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Encaboxóse la xuba"]},"Upload files":{msgid:"Upload files",msgstr:["Xubir ficheros"]},"Upload progress":{msgid:"Upload progress",msgstr:["Xuba en cursu"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["¿Qué ficheros quies caltener?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Tienes de seleicionar polo menos una versión de cada ficheru pa siguir."]}}}}},{locale:"az",json:{charset:"utf-8",headers:{"Last-Translator":"Rashad Aliyev , 2023","Language-Team":"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)","Content-Type":"text/plain; charset=UTF-8",Language:"az","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRashad Aliyev , 2023\n"},msgstr:["Last-Translator: Rashad Aliyev , 2023\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: az\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniyə qalıb"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} qalıb"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir neçə saniyə qalıb"]},Add:{msgid:"Add",msgstr:["Əlavə et"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yükləməni imtina et"]},"estimating time left":{msgid:"estimating time left",msgstr:["Təxmini qalan vaxt"]},paused:{msgid:"paused",msgstr:["pauzadadır"]},"Upload files":{msgid:"Upload files",msgstr:["Faylları yüklə"]}}}}},{locale:"be",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)","Content-Type":"text/plain; charset=UTF-8",Language:"be","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: be\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bg_BG",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)","Content-Type":"text/plain; charset=UTF-8",Language:"bg_BG","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bg_BG\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bn_BD",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)","Content-Type":"text/plain; charset=UTF-8",Language:"bn_BD","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bn_BD\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"br",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)","Content-Type":"text/plain; charset=UTF-8",Language:"br","Plural-Forms":"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"bs",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)","Content-Type":"text/plain; charset=UTF-8",Language:"bs","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: bs\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ca",json:{charset:"utf-8",headers:{"Last-Translator":"Toni Hermoso Pulido , 2022","Language-Team":"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)","Content-Type":"text/plain; charset=UTF-8",Language:"ca","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMarc Riera , 2022\nToni Hermoso Pulido , 2022\n"},msgstr:["Last-Translator: Toni Hermoso Pulido , 2022\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Queden {seconds} segons"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["Queden {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Queden uns segons"]},Add:{msgid:"Add",msgstr:["Afegeix"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel·la les pujades"]},"estimating time left":{msgid:"estimating time left",msgstr:["S'està estimant el temps restant"]},paused:{msgid:"paused",msgstr:["En pausa"]},"Upload files":{msgid:"Upload files",msgstr:["Puja els fitxers"]}}}}},{locale:"cs",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki , 2022","Language-Team":"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPavel Borecki , 2022\n"},msgstr:["Last-Translator: Pavel Borecki , 2022\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},Add:{msgid:"Add",msgstr:["Přidat"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhadovaný zbývající čas"]},paused:{msgid:"paused",msgstr:["pozastaveno"]}}}}},{locale:"cs_CZ",json:{charset:"utf-8",headers:{"Last-Translator":"Michal Šmahel , 2024","Language-Team":"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs_CZ","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMichal Šmahel , 2024\n"},msgstr:["Last-Translator: Michal Šmahel , 2024\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} kolize souborů","{count} kolize souborů","{count} kolizí souborů","{count} kolize souborů"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} kolize souboru v {dirname}","{count} kolize souboru v {dirname}","{count} kolizí souborů v {dirname}","{count} kolize souboru v {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["zbývá {seconds}"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["zbývá {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["zbývá několik sekund"]},Cancel:{msgid:"Cancel",msgstr:["Zrušit"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Zrušit celou operaci"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Zrušit nahrávání"]},Continue:{msgid:"Continue",msgstr:["Pokračovat"]},"estimating time left":{msgid:"estimating time left",msgstr:["odhaduje se zbývající čas"]},"Existing version":{msgid:"Existing version",msgstr:["Existující verze"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Pokud vyberete obě verze, zkopírovaný soubor bude mít k názvu přidáno číslo."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Neznámé datum poslední úpravy"]},New:{msgid:"New",msgstr:["Nové"]},"New version":{msgid:"New version",msgstr:["Nová verze"]},paused:{msgid:"paused",msgstr:["pozastaveno"]},"Preview image":{msgid:"Preview image",msgstr:["Náhled obrázku"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Označit všechny zaškrtávací kolonky"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vybrat veškeré stávající soubory"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vybrat veškeré nové soubory"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Přeskočit tento soubor","Přeskočit {count} soubory","Přeskočit {count} souborů","Přeskočit {count} soubory"]},"Unknown size":{msgid:"Unknown size",msgstr:["Neznámá velikost"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Nahrávání zrušeno"]},"Upload files":{msgid:"Upload files",msgstr:["Nahrát soubory"]},"Upload progress":{msgid:"Upload progress",msgstr:["Postup v nahrávání"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Po výběru příchozí složky budou rovněž přepsány všechny v ní obsažené konfliktní soubory"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Které soubory si přejete ponechat?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru."]}}}}},{locale:"cy_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"cy_GB","Plural-Forms":"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cy_GB\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"da",json:{charset:"utf-8",headers:{"Last-Translator":"Martin Bonde , 2024","Language-Team":"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)","Content-Type":"text/plain; charset=UTF-8",Language:"da","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMartin Bonde , 2024\n"},msgstr:["Last-Translator: Martin Bonde , 2024\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fil konflikt","{count} filer i konflikt"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fil konflikt i {dirname}","{count} filer i konflikt i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{sekunder} sekunder tilbage"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{tid} tilbage"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["et par sekunder tilbage"]},Cancel:{msgid:"Cancel",msgstr:["Annuller"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Annuller hele handlingen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuller uploads"]},Continue:{msgid:"Continue",msgstr:["Fortsæt"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimering af resterende tid"]},"Existing version":{msgid:"Existing version",msgstr:["Eksisterende version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Hvis du vælger begge versioner vil den kopierede fil få et nummer tilføjet til sit navn."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Sidste modifikationsdato ukendt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pauset"]},"Preview image":{msgid:"Preview image",msgstr:["Forhåndsvisning af billede"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Vælg alle felter"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Vælg alle eksisterende filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Vælg alle nye filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Spring denne fil over","Spring {count} filer over"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukendt størrelse"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload annulleret"]},"Upload files":{msgid:"Upload files",msgstr:["Upload filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Upload fremskridt"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Når en indgående mappe er valgt, vil alle modstridende filer i den også blive overskrevet."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer ønsker du at beholde?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du skal vælge mindst én version af hver fil for at fortsætte."]}}}}},{locale:"de",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2024","Language-Team":"German (https://app.transifex.com/nextcloud/teams/64236/de/)","Content-Type":"text/plain; charset=UTF-8",Language:"de","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n"},msgstr:["Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleibend"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noch ein paar Sekunden"]},Cancel:{msgid:"Cancel",msgstr:["Abbrechen"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn du beide Versionen auswählst, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Diese Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fortschritt beim Hochladen"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchtest du behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du musst mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"de_DE",json:{charset:"utf-8",headers:{"Last-Translator":"Mario Siegmann , 2024","Language-Team":"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)","Content-Type":"text/plain; charset=UTF-8",Language:"de_DE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMario Siegmann , 2024\n"},msgstr:["Last-Translator: Mario Siegmann , 2024\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Datei-Konflikt","{count} Datei-Konflikte"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} Datei-Konflikt in {dirname}","{count} Datei-Konflikte in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} Sekunden verbleiben"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} verbleibend"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["ein paar Sekunden verbleiben"]},Cancel:{msgid:"Cancel",msgstr:["Abbrechen"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hochladen abbrechen"]},Continue:{msgid:"Continue",msgstr:["Fortsetzen"]},"estimating time left":{msgid:"estimating time left",msgstr:["Geschätzte verbleibende Zeit"]},"Existing version":{msgid:"Existing version",msgstr:["Vorhandene Version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Wenn Sie beide Versionen auswählen, wird der kopierten Datei eine Nummer zum Namen hinzugefügt."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},New:{msgid:"New",msgstr:["Neu"]},"New version":{msgid:"New version",msgstr:["Neue Version"]},paused:{msgid:"paused",msgstr:["Pausiert"]},"Preview image":{msgid:"Preview image",msgstr:["Vorschaubild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},"Select all new files":{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["{count} Datei überspringen","{count} Dateien überspringen"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unbekannte Größe"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hochladen abgebrochen"]},"Upload files":{msgid:"Upload files",msgstr:["Dateien hochladen"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fortschritt beim Hochladen"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien möchten Sie behalten?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Sie müssen mindestens eine Version jeder Datei auswählen, um fortzufahren."]}}}}},{locale:"el",json:{charset:"utf-8",headers:{"Last-Translator":"Nik Pap, 2022","Language-Team":"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)","Content-Type":"text/plain; charset=UTF-8",Language:"el","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nNik Pap, 2022\n"},msgstr:["Last-Translator: Nik Pap, 2022\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["απομένουν {seconds} δευτερόλεπτα"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["απομένουν {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["απομένουν λίγα δευτερόλεπτα"]},Add:{msgid:"Add",msgstr:["Προσθήκη"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ακύρωση μεταφορτώσεων"]},"estimating time left":{msgid:"estimating time left",msgstr:["εκτίμηση του χρόνου που απομένει"]},paused:{msgid:"paused",msgstr:["σε παύση"]},"Upload files":{msgid:"Upload files",msgstr:["Μεταφόρτωση αρχείων"]}}}}},{locale:"el_GR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)","Content-Type":"text/plain; charset=UTF-8",Language:"el_GR","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Greek (Greece) (https://www.transifex.com/nextcloud/teams/64236/el_GR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el_GR\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"en_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Andi Chandler , 2023","Language-Team":"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"en_GB","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nAndi Chandler , 2023\n"},msgstr:["Last-Translator: Andi Chandler , 2023\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: en_GB\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file conflict","{count} files conflict"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file conflict in {dirname}","{count} file conflicts in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} seconds left"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} left"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["a few seconds left"]},Add:{msgid:"Add",msgstr:["Add"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancel uploads"]},Continue:{msgid:"Continue",msgstr:["Continue"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimating time left"]},"Existing version":{msgid:"Existing version",msgstr:["Existing version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["If you select both versions, the copied file will have a number added to its name."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Last modified date unknown"]},"New version":{msgid:"New version",msgstr:["New version"]},paused:{msgid:"paused",msgstr:["paused"]},"Preview image":{msgid:"Preview image",msgstr:["Preview image"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Select all checkboxes"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Select all existing files"]},"Select all new files":{msgid:"Select all new files",msgstr:["Select all new files"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Skip this file","Skip {count} files"]},"Unknown size":{msgid:"Unknown size",msgstr:["Unknown size"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Upload cancelled"]},"Upload files":{msgid:"Upload files",msgstr:["Upload files"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Which files do you want to keep?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["You need to select at least one version of each file to continue."]}}}}},{locale:"eo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)","Content-Type":"text/plain; charset=UTF-8",Language:"eo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es",json:{charset:"utf-8",headers:{"Last-Translator":"Julio C. Ortega, 2024","Language-Team":"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)","Content-Type":"text/plain; charset=UTF-8",Language:"es","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nFranciscoFJ , 2023\nNext Cloud , 2023\nJulio C. Ortega, 2024\n"},msgstr:["Last-Translator: Julio C. Ortega, 2024\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} archivo en conflicto","{count} archivos en conflicto","{count} archivos en conflicto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} archivo en conflicto en {dirname}","{count} archivos en conflicto en {dirname}","{count} archivos en conflicto en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si selecciona ambas versiones, al archivo copiado se le añadirá un número en el nombre."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Última fecha de modificación desconocida"]},New:{msgid:"New",msgstr:["Nuevo"]},"New version":{msgid:"New version",msgstr:["Nueva versión"]},paused:{msgid:"paused",msgstr:["pausado"]},"Preview image":{msgid:"Preview image",msgstr:["Previsualizar imagen"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleccionar todas las casillas de verificación"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos los archivos existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos los archivos nuevos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Saltar este archivo","Saltar {count} archivos","Saltar {count} archivos"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño desconocido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Subida cancelada"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progreso de la subida"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["¿Qué archivos desea conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar al menos una versión de cada archivo para continuar."]}}}}},{locale:"es_419",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_419","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_419\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_AR",json:{charset:"utf-8",headers:{"Last-Translator":"Matias Iglesias, 2022","Language-Team":"Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_AR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatias Iglesias, 2022\n"},msgstr:["Last-Translator: Matias Iglesias, 2022\nLanguage-Team: Spanish (Argentina) (https://www.transifex.com/nextcloud/teams/64236/es_AR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_AR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan unos segundos"]},Add:{msgid:"Add",msgstr:["Añadir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar subidas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Subir archivos"]}}}}},{locale:"es_CL",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CL","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CL\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_CR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_CR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_CR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_DO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_DO","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_DO\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_EC",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_EC","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_EC\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_GT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_GT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_GT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_HN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_HN","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_HN\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_MX",json:{charset:"utf-8",headers:{"Last-Translator":"ALEJANDRO CASTRO, 2022","Language-Team":"Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_MX","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nLuis Francisco Castro, 2022\nALEJANDRO CASTRO, 2022\n"},msgstr:["Last-Translator: ALEJANDRO CASTRO, 2022\nLanguage-Team: Spanish (Mexico) (https://www.transifex.com/nextcloud/teams/64236/es_MX/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_MX\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{tiempo} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quedan pocos segundos"]},Add:{msgid:"Add",msgstr:["agregar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["cancelar las cargas"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tiempo restante"]},paused:{msgid:"paused",msgstr:["en pausa"]},"Upload files":{msgid:"Upload files",msgstr:["cargar archivos"]}}}}},{locale:"es_NI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_NI","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_NI\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PA",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PA","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PA\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PE","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PE\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PR",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PR","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PR\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_PY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_PY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_PY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_SV",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_SV","Plural-Forms":"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_SV\nPlural-Forms: nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"es_UY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)","Content-Type":"text/plain; charset=UTF-8",Language:"es_UY","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es_UY\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"et_EE",json:{charset:"utf-8",headers:{"Last-Translator":"Taavo Roos, 2023","Language-Team":"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)","Content-Type":"text/plain; charset=UTF-8",Language:"et_EE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMait R, 2022\nTaavo Roos, 2023\n"},msgstr:["Last-Translator: Taavo Roos, 2023\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: et_EE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} jäänud sekundid"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} aega jäänud"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["jäänud mõni sekund"]},Add:{msgid:"Add",msgstr:["Lisa"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Tühista üleslaadimine"]},"estimating time left":{msgid:"estimating time left",msgstr:["hinnanguline järelejäänud aeg"]},paused:{msgid:"paused",msgstr:["pausil"]},"Upload files":{msgid:"Upload files",msgstr:["Lae failid üles"]}}}}},{locale:"eu",json:{charset:"utf-8",headers:{"Last-Translator":"Unai Tolosa Pontesta , 2022","Language-Team":"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)","Content-Type":"text/plain; charset=UTF-8",Language:"eu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nUnai Tolosa Pontesta , 2022\n"},msgstr:["Last-Translator: Unai Tolosa Pontesta , 2022\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundo geratzen dira"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} geratzen da"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["segundo batzuk geratzen dira"]},Add:{msgid:"Add",msgstr:["Gehitu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Ezeztatu igoerak"]},"estimating time left":{msgid:"estimating time left",msgstr:["kalkulatutako geratzen den denbora"]},paused:{msgid:"paused",msgstr:["geldituta"]},"Upload files":{msgid:"Upload files",msgstr:["Igo fitxategiak"]}}}}},{locale:"fa",json:{charset:"utf-8",headers:{"Last-Translator":"Fatemeh Komeily, 2023","Language-Team":"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)","Content-Type":"text/plain; charset=UTF-8",Language:"fa","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nFatemeh Komeily, 2023\n"},msgstr:["Last-Translator: Fatemeh Komeily, 2023\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fa\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["ثانیه های باقی مانده"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["باقی مانده"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["چند ثانیه مانده"]},Add:{msgid:"Add",msgstr:["اضافه کردن"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["کنسل کردن فایل های اپلود شده"]},"estimating time left":{msgid:"estimating time left",msgstr:["تخمین زمان باقی مانده"]},paused:{msgid:"paused",msgstr:["مکث کردن"]},"Upload files":{msgid:"Upload files",msgstr:["بارگذاری فایل ها"]}}}}},{locale:"fi_FI",json:{charset:"utf-8",headers:{"Last-Translator":"Jiri Grönroos , 2022","Language-Team":"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)","Content-Type":"text/plain; charset=UTF-8",Language:"fi_FI","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJiri Grönroos , 2022\n"},msgstr:["Last-Translator: Jiri Grönroos , 2022\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekuntia jäljellä"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} jäljellä"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["muutama sekunti jäljellä"]},Add:{msgid:"Add",msgstr:["Lisää"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Peruuta lähetykset"]},"estimating time left":{msgid:"estimating time left",msgstr:["arvioidaan jäljellä olevaa aikaa"]},paused:{msgid:"paused",msgstr:["keskeytetty"]},"Upload files":{msgid:"Upload files",msgstr:["Lähetä tiedostoja"]}}}}},{locale:"fo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)","Content-Type":"text/plain; charset=UTF-8",Language:"fo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"fr",json:{charset:"utf-8",headers:{"Last-Translator":"jed boulahya, 2024","Language-Team":"French (https://app.transifex.com/nextcloud/teams/64236/fr/)","Content-Type":"text/plain; charset=UTF-8",Language:"fr","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nBenoit Pruneau, 2024\njed boulahya, 2024\n"},msgstr:["Last-Translator: jed boulahya, 2024\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} fichier en conflit","{count} fichiers en conflit","{count} fichiers en conflit"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} fichier en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}","{count} fichiers en conflit dans {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondes restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restant"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["quelques secondes restantes"]},Cancel:{msgid:"Cancel",msgstr:["Annuler"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Annuler l'opération entière"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annuler les envois"]},Continue:{msgid:"Continue",msgstr:["Continuer"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimation du temps restant"]},"Existing version":{msgid:"Existing version",msgstr:["Version existante"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Si vous sélectionnez les deux versions, le fichier copié aura un numéro ajouté àname."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Date de la dernière modification est inconnue"]},New:{msgid:"New",msgstr:["Nouveau"]},"New version":{msgid:"New version",msgstr:["Nouvelle version"]},paused:{msgid:"paused",msgstr:["en pause"]},"Preview image":{msgid:"Preview image",msgstr:["Aperçu de l'image"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Sélectionner toutes les cases à cocher"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Sélectionner tous les fichiers existants"]},"Select all new files":{msgid:"Select all new files",msgstr:["Sélectionner tous les nouveaux fichiers"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Ignorer ce fichier","Ignorer {count} fichiers","Ignorer {count} fichiers"]},"Unknown size":{msgid:"Unknown size",msgstr:["Taille inconnue"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:[" annulé"]},"Upload files":{msgid:"Upload files",msgstr:["Téléchargement des fichiers"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progression du téléchargement"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Lorsqu'un dossier entrant est sélectionné, tous les fichiers en conflit qu'il contient seront également écrasés."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quels fichiers souhaitez-vous conserver ?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Vous devez sélectionner au moins une version de chaque fichier pour continuer."]}}}}},{locale:"gd",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)","Content-Type":"text/plain; charset=UTF-8",Language:"gd","Plural-Forms":"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gd\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"gl",json:{charset:"utf-8",headers:{"Last-Translator":"Miguel Anxo Bouzada , 2023","Language-Team":"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)","Content-Type":"text/plain; charset=UTF-8",Language:"gl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nNacho , 2023\nMiguel Anxo Bouzada , 2023\n"},msgstr:["Last-Translator: Miguel Anxo Bouzada , 2023\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} conflito de ficheiros","{count} conflitos de ficheiros"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} conflito de ficheiros en {dirname}","{count} conflitos de ficheiros en {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltan {seconds} segundos"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["falta {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltan uns segundos"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envíos"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["calculando canto tempo falta"]},"Existing version":{msgid:"Existing version",msgstr:["Versión existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selecciona ambas as versións, o ficheiro copiado terá un número engadido ao seu nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Data da última modificación descoñecida"]},New:{msgid:"New",msgstr:["Nova"]},"New version":{msgid:"New version",msgstr:["Nova versión"]},paused:{msgid:"paused",msgstr:["detido"]},"Preview image":{msgid:"Preview image",msgstr:["Vista previa da imaxe"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marcar todas as caixas de selección"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleccionar todos os ficheiros existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleccionar todos os ficheiros novos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Omita este ficheiro","Omitir {count} ficheiros"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamaño descoñecido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envío cancelado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]},"Upload progress":{msgid:"Upload progress",msgstr:["Progreso do envío"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Que ficheiros quere conservar?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Debe seleccionar polo menos unha versión de cada ficheiro para continuar."]}}}}},{locale:"he",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)","Content-Type":"text/plain; charset=UTF-8",Language:"he","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hi_IN",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)","Content-Type":"text/plain; charset=UTF-8",Language:"hi_IN","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hi_IN\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)","Content-Type":"text/plain; charset=UTF-8",Language:"hr","Plural-Forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hr\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hsb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)","Content-Type":"text/plain; charset=UTF-8",Language:"hsb","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hsb\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Hungarian (https://www.transifex.com/nextcloud/teams/64236/hu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"hu_HU",json:{charset:"utf-8",headers:{"Last-Translator":"Balázs Úr, 2022","Language-Team":"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu_HU","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBalázs Meskó , 2022\nBalázs Úr, 2022\n"},msgstr:["Last-Translator: Balázs Úr, 2022\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{} másodperc van hátra"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} van hátra"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["pár másodperc van hátra"]},Add:{msgid:"Add",msgstr:["Hozzáadás"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Feltöltések megszakítása"]},"estimating time left":{msgid:"estimating time left",msgstr:["hátralévő idő becslése"]},paused:{msgid:"paused",msgstr:["szüneteltetve"]},"Upload files":{msgid:"Upload files",msgstr:["Fájlok feltöltése"]}}}}},{locale:"hy",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)","Content-Type":"text/plain; charset=UTF-8",Language:"hy","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hy\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ia",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)","Content-Type":"text/plain; charset=UTF-8",Language:"ia","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ia\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"id",json:{charset:"utf-8",headers:{"Last-Translator":"Linerly , 2023","Language-Team":"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)","Content-Type":"text/plain; charset=UTF-8",Language:"id","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nEmpty Slot Filler, 2023\nLinerly , 2023\n"},msgstr:["Last-Translator: Linerly , 2023\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: id\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} berkas berkonflik"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} berkas berkonflik dalam {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} detik tersisa"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} tersisa"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["tinggal sebentar lagi"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Batalkan unggahan"]},Continue:{msgid:"Continue",msgstr:["Lanjutkan"]},"estimating time left":{msgid:"estimating time left",msgstr:["memperkirakan waktu yang tersisa"]},"Existing version":{msgid:"Existing version",msgstr:["Versi yang ada"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jika Anda memilih kedua versi, nama berkas yang disalin akan ditambahi angka."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Tanggal perubahan terakhir tidak diketahui"]},New:{msgid:"New",msgstr:["Baru"]},"New version":{msgid:"New version",msgstr:["Versi baru"]},paused:{msgid:"paused",msgstr:["dijeda"]},"Preview image":{msgid:"Preview image",msgstr:["Gambar pratinjau"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Pilih semua kotak centang"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Pilih semua berkas yang ada"]},"Select all new files":{msgid:"Select all new files",msgstr:["Pilih semua berkas baru"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Lewati {count} berkas"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukuran tidak diketahui"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Unggahan dibatalkan"]},"Upload files":{msgid:"Upload files",msgstr:["Unggah berkas"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Berkas mana yang Anda ingin tetap simpan?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Anda harus memilih setidaknya satu versi dari masing-masing berkas untuk melanjutkan."]}}}}},{locale:"ig",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)","Content-Type":"text/plain; charset=UTF-8",Language:"ig","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ig\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"is",json:{charset:"utf-8",headers:{"Last-Translator":"Sveinn í Felli , 2023","Language-Team":"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)","Content-Type":"text/plain; charset=UTF-8",Language:"is","Plural-Forms":"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nSveinn í Felli , 2023\n"},msgstr:["Last-Translator: Sveinn í Felli , 2023\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} árekstur skráa","{count} árekstrar skráa"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} árekstur skráa í {dirname}","{count} árekstrar skráa í {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekúndur eftir"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} eftir"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["nokkrar sekúndur eftir"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Hætta við innsendingar"]},Continue:{msgid:"Continue",msgstr:["Halda áfram"]},"estimating time left":{msgid:"estimating time left",msgstr:["áætla tíma sem eftir er"]},"Existing version":{msgid:"Existing version",msgstr:["Fyrirliggjandi útgáfa"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ef þú velur báðar útgáfur, þá mun verða bætt tölustaf aftan við heiti afrituðu skrárinnar."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Síðasta breytingadagsetning er óþekkt"]},New:{msgid:"New",msgstr:["Nýtt"]},"New version":{msgid:"New version",msgstr:["Ný útgáfa"]},paused:{msgid:"paused",msgstr:["í bið"]},"Preview image":{msgid:"Preview image",msgstr:["Forskoðun myndar"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Velja gátreiti"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Velja allar fyrirliggjandi skrár"]},"Select all new files":{msgid:"Select all new files",msgstr:["Velja allar nýjar skrár"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Sleppa þessari skrá","Sleppa {count} skrám"]},"Unknown size":{msgid:"Unknown size",msgstr:["Óþekkt stærð"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Hætt við innsendingu"]},"Upload files":{msgid:"Upload files",msgstr:["Senda inn skrár"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvaða skrám vilt þú vilt halda eftir?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Þú verður að velja að minnsta kosti eina útgáfu af hverri skrá til að halda áfram."]}}}}},{locale:"it",json:{charset:"utf-8",headers:{"Last-Translator":"Random_R, 2023","Language-Team":"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)","Content-Type":"text/plain; charset=UTF-8",Language:"it","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nLep Lep, 2023\nRandom_R, 2023\n"},msgstr:["Last-Translator: Random_R, 2023\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file in conflitto","{count} file in conflitto","{count} file in conflitto"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}","{count} file in conflitto in {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secondi rimanenti "]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} rimanente"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alcuni secondi rimanenti"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Annulla i caricamenti"]},Continue:{msgid:"Continue",msgstr:["Continua"]},"estimating time left":{msgid:"estimating time left",msgstr:["calcolo il tempo rimanente"]},"Existing version":{msgid:"Existing version",msgstr:["Versione esistente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se selezioni entrambe le versioni, nel nome del file copiato verrà aggiunto un numero "]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Ultima modifica sconosciuta"]},New:{msgid:"New",msgstr:["Nuovo"]},"New version":{msgid:"New version",msgstr:["Nuova versione"]},paused:{msgid:"paused",msgstr:["pausa"]},"Preview image":{msgid:"Preview image",msgstr:["Anteprima immagine"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Seleziona tutte le caselle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Seleziona tutti i file esistenti"]},"Select all new files":{msgid:"Select all new files",msgstr:["Seleziona tutti i nuovi file"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Salta questo file","Salta {count} file","Salta {count} file"]},"Unknown size":{msgid:"Unknown size",msgstr:["Dimensione sconosciuta"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Caricamento cancellato"]},"Upload files":{msgid:"Upload files",msgstr:["Carica i file"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quali file vuoi mantenere?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Devi selezionare almeno una versione di ogni file per continuare"]}}}}},{locale:"it_IT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)","Content-Type":"text/plain; charset=UTF-8",Language:"it_IT","Plural-Forms":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Italian (Italy) (https://www.transifex.com/nextcloud/teams/64236/it_IT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it_IT\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ja_JP",json:{charset:"utf-8",headers:{"Last-Translator":"かたかめ, 2022","Language-Team":"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)","Content-Type":"text/plain; charset=UTF-8",Language:"ja_JP","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nT.S, 2022\nかたかめ, 2022\n"},msgstr:["Last-Translator: かたかめ, 2022\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["残り {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["残り {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["残り数秒"]},Add:{msgid:"Add",msgstr:["追加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["アップロードをキャンセル"]},"estimating time left":{msgid:"estimating time left",msgstr:["概算残り時間"]},paused:{msgid:"paused",msgstr:["一時停止中"]},"Upload files":{msgid:"Upload files",msgstr:["ファイルをアップデート"]}}}}},{locale:"ka",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ka_GE",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)","Content-Type":"text/plain; charset=UTF-8",Language:"ka_GE","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ka_GE\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kab",json:{charset:"utf-8",headers:{"Last-Translator":"ZiriSut, 2023","Language-Team":"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)","Content-Type":"text/plain; charset=UTF-8",Language:"kab","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nZiriSut, 2023\n"},msgstr:["Last-Translator: ZiriSut, 2023\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kab\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} tesdatin i d-yeqqimen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} i d-yeqqimen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["qqiment-d kra n tesdatin kan"]},Add:{msgid:"Add",msgstr:["Rnu"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Sefsex asali"]},"estimating time left":{msgid:"estimating time left",msgstr:["asizel n wakud i d-yeqqimen"]},paused:{msgid:"paused",msgstr:["yeḥbes"]},"Upload files":{msgid:"Upload files",msgstr:["Sali-d ifuyla"]}}}}},{locale:"kk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)","Content-Type":"text/plain; charset=UTF-8",Language:"kk","Plural-Forms":"nplurals=2; plural=(n!=1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kk\nPlural-Forms: nplurals=2; plural=(n!=1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"km",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)","Content-Type":"text/plain; charset=UTF-8",Language:"km","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: km\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"kn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)","Content-Type":"text/plain; charset=UTF-8",Language:"kn","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: kn\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ko",json:{charset:"utf-8",headers:{"Last-Translator":"Brandon Han, 2024","Language-Team":"Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)","Content-Type":"text/plain; charset=UTF-8",Language:"ko","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nhosun Lee, 2023\nBrandon Han, 2024\n"},msgstr:["Last-Translator: Brandon Han, 2024\nLanguage-Team: Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ko\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count}개의 파일이 충돌함"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname}에서 {count}개의 파일이 충돌함"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} 남음"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} 남음"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["곧 완료"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["업로드 취소"]},Continue:{msgid:"Continue",msgstr:["확인"]},"estimating time left":{msgid:"estimating time left",msgstr:["남은 시간 계산"]},"Existing version":{msgid:"Existing version",msgstr:["현재 버전"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["두 버전을 모두 선택할 경우, 복제된 파일 이름에 숫자가 추가됩니다."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["최근 수정일 알 수 없음"]},New:{msgid:"New",msgstr:["새로 만들기"]},"New version":{msgid:"New version",msgstr:["새 버전"]},paused:{msgid:"paused",msgstr:["일시정지됨"]},"Preview image":{msgid:"Preview image",msgstr:["미리보기 이미지"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["모든 체크박스 선택"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["모든 파일 선택"]},"Select all new files":{msgid:"Select all new files",msgstr:["모든 새 파일 선택"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["{count}개의 파일 넘기기"]},"Unknown size":{msgid:"Unknown size",msgstr:["크기를 알 수 없음"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["업로드 취소됨"]},"Upload files":{msgid:"Upload files",msgstr:["파일 업로드"]},"Upload progress":{msgid:"Upload progress",msgstr:["업로드 진행도"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["어떤 파일을 보존하시겠습니까?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["계속하기 위해서는 한 파일에 최소 하나의 버전을 선택해야 합니다."]}}}}},{locale:"la",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latin (https://www.transifex.com/nextcloud/teams/64236/la/)","Content-Type":"text/plain; charset=UTF-8",Language:"la","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: la\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lb",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)","Content-Type":"text/plain; charset=UTF-8",Language:"lb","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lb\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lo",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)","Content-Type":"text/plain; charset=UTF-8",Language:"lo","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lo\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lt_LT",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)","Content-Type":"text/plain; charset=UTF-8",Language:"lt_LT","Plural-Forms":"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"lv",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)","Content-Type":"text/plain; charset=UTF-8",Language:"lv","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"mk",json:{charset:"utf-8",headers:{"Last-Translator":"Сашко Тодоров , 2022","Language-Team":"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)","Content-Type":"text/plain; charset=UTF-8",Language:"mk","Plural-Forms":"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nСашко Тодоров , 2022\n"},msgstr:["Last-Translator: Сашко Тодоров , 2022\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостануваат {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["преостанува {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["уште неколку секунди"]},Add:{msgid:"Add",msgstr:["Додади"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Прекини прикачување"]},"estimating time left":{msgid:"estimating time left",msgstr:["приближно преостанато време"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Upload files":{msgid:"Upload files",msgstr:["Прикачување датотеки"]}}}}},{locale:"mn",json:{charset:"utf-8",headers:{"Last-Translator":"BATKHUYAG Ganbold, 2023","Language-Team":"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)","Content-Type":"text/plain; charset=UTF-8",Language:"mn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBATKHUYAG Ganbold, 2023\n"},msgstr:["Last-Translator: BATKHUYAG Ganbold, 2023\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} секунд үлдсэн"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} үлдсэн"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["хэдхэн секунд үлдсэн"]},Add:{msgid:"Add",msgstr:["Нэмэх"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Илгээлтийг цуцлах"]},"estimating time left":{msgid:"estimating time left",msgstr:["Үлдсэн хугацааг тооцоолж байна"]},paused:{msgid:"paused",msgstr:["түр зогсоосон"]},"Upload files":{msgid:"Upload files",msgstr:["Файл илгээх"]}}}}},{locale:"mr",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)","Content-Type":"text/plain; charset=UTF-8",Language:"mr","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mr\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ms_MY",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)","Content-Type":"text/plain; charset=UTF-8",Language:"ms_MY","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ms_MY\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"my",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)","Content-Type":"text/plain; charset=UTF-8",Language:"my","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: my\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nb_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Syvert Fossdal, 2024","Language-Team":"Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nb_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nSyvert Fossdal, 2024\n"},msgstr:["Last-Translator: Syvert Fossdal, 2024\nLanguage-Team: Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} file conflict","{count} filkonflikter"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} file conflict in {dirname}","{count} filkonflikter i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder igjen"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} igjen"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["noen få sekunder igjen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt opplastninger"]},Continue:{msgid:"Continue",msgstr:["Fortsett"]},"estimating time left":{msgid:"estimating time left",msgstr:["Estimerer tid igjen"]},"Existing version":{msgid:"Existing version",msgstr:["Gjeldende versjon"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Hvis du velger begge versjoner, vil den kopierte filen få et tall lagt til navnet."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Siste gang redigert ukjent"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny versjon"]},paused:{msgid:"paused",msgstr:["pauset"]},"Preview image":{msgid:"Preview image",msgstr:["Forhåndsvis bilde"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Velg alle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Velg alle eksisterende filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Velg alle nye filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Skip this file","Hopp over {count} filer"]},"Unknown size":{msgid:"Unknown size",msgstr:["Ukjent størrelse"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Opplasting avbrutt"]},"Upload files":{msgid:"Upload files",msgstr:["Last opp filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Fremdrift, opplasting"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer vil du beholde?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du må velge minst en versjon av hver fil for å fortsette."]}}}}},{locale:"ne",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)","Content-Type":"text/plain; charset=UTF-8",Language:"ne","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ne\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nl",json:{charset:"utf-8",headers:{"Last-Translator":"Rico , 2023","Language-Team":"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)","Content-Type":"text/plain; charset=UTF-8",Language:"nl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRico , 2023\n"},msgstr:["Last-Translator: Rico , 2023\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Nog {seconds} seconden"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{seconds} over"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Nog een paar seconden"]},Add:{msgid:"Add",msgstr:["Voeg toe"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Uploads annuleren"]},"estimating time left":{msgid:"estimating time left",msgstr:["Schatting van de resterende tijd"]},paused:{msgid:"paused",msgstr:["Gepauzeerd"]},"Upload files":{msgid:"Upload files",msgstr:["Upload bestanden"]}}}}},{locale:"nn",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (https://www.transifex.com/nextcloud/teams/64236/nn/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"nn_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nn_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nn_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"oc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)","Content-Type":"text/plain; charset=UTF-8",Language:"oc","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pl",json:{charset:"utf-8",headers:{"Last-Translator":"Valdnet, 2024","Language-Team":"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)","Content-Type":"text/plain; charset=UTF-8",Language:"pl","Plural-Forms":"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nM H , 2023\nValdnet, 2024\n"},msgstr:["Last-Translator: Valdnet, 2024\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["konflikt 1 pliku","{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} konfliktowy plik w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}","{count} konfliktowych plików w {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Pozostało {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Pozostało {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Pozostało kilka sekund"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anuluj wysyłanie"]},Continue:{msgid:"Continue",msgstr:["Kontynuuj"]},"estimating time left":{msgid:"estimating time left",msgstr:["Szacowanie pozostałego czasu"]},"Existing version":{msgid:"Existing version",msgstr:["Istniejąca wersja"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Jeżeli wybierzesz obie wersje to do nazw skopiowanych plików zostanie dodany numer"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Nieznana data ostatniej modyfikacji"]},New:{msgid:"New",msgstr:["Nowy"]},"New version":{msgid:"New version",msgstr:["Nowa wersja"]},paused:{msgid:"paused",msgstr:["Wstrzymane"]},"Preview image":{msgid:"Preview image",msgstr:["Podgląd obrazu"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Zaznacz wszystkie boxy"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Zaznacz wszystkie istniejące pliki"]},"Select all new files":{msgid:"Select all new files",msgstr:["Zaznacz wszystkie nowe pliki"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Pomiń 1 plik","Pomiń {count} plików","Pomiń {count} plików","Pomiń {count} plików"]},"Unknown size":{msgid:"Unknown size",msgstr:["Nieznany rozmiar"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Anulowano wysyłanie"]},"Upload files":{msgid:"Upload files",msgstr:["Wyślij pliki"]},"Upload progress":{msgid:"Upload progress",msgstr:["Postęp wysyłania"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Które pliki chcesz zachować"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku."]}}}}},{locale:"ps",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)","Content-Type":"text/plain; charset=UTF-8",Language:"ps","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ps\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"pt_BR",json:{charset:"utf-8",headers:{"Last-Translator":"Leonardo Colman Lopes , 2024","Language-Team":"Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_BR","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nLeonardo Colman Lopes , 2024\n"},msgstr:["Last-Translator: Leonardo Colman Lopes , 2024\nLanguage-Team: Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} arquivos em conflito","{count} arquivos em conflito","{count} arquivos em conflito"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} conflitos de arquivo em {dirname}","{count} conflitos de arquivo em {dirname}","{count} conflitos de arquivo em {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} segundos restantes"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} restante"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["alguns segundos restantes"]},Cancel:{msgid:"Cancel",msgstr:["Cancelar"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Cancelar a operação inteira"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar uploads"]},Continue:{msgid:"Continue",msgstr:["Continuar"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimando tempo restante"]},"Existing version":{msgid:"Existing version",msgstr:["Versão existente"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Se você selecionar ambas as versões, o arquivo copiado terá um número adicionado ao seu nome."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Data da última modificação desconhecida"]},New:{msgid:"New",msgstr:["Novo"]},"New version":{msgid:"New version",msgstr:["Nova versão"]},paused:{msgid:"paused",msgstr:["pausado"]},"Preview image":{msgid:"Preview image",msgstr:["Visualizar imagem"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Marque todas as caixas de seleção"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Selecione todos os arquivos existentes"]},"Select all new files":{msgid:"Select all new files",msgstr:["Selecione todos os novos arquivos"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Ignorar {count} arquivos","Ignorar {count} arquivos","Ignorar {count} arquivos"]},"Unknown size":{msgid:"Unknown size",msgstr:["Tamanho desconhecido"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Envio cancelado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar arquivos"]},"Upload progress":{msgid:"Upload progress",msgstr:["Envio em progresso"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Quando uma pasta é selecionada, quaisquer arquivos dentro dela também serão sobrescritos."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Quais arquivos você deseja manter?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Você precisa selecionar pelo menos uma versão de cada arquivo para continuar."]}}}}},{locale:"pt_PT",json:{charset:"utf-8",headers:{"Last-Translator":"Manuela Silva , 2022","Language-Team":"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_PT","Plural-Forms":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nManuela Silva , 2022\n"},msgstr:["Last-Translator: Manuela Silva , 2022\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["faltam {seconds} segundo(s)"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["faltam {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["faltam uns segundos"]},Add:{msgid:"Add",msgstr:["Adicionar"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Cancelar envios"]},"estimating time left":{msgid:"estimating time left",msgstr:["tempo em falta estimado"]},paused:{msgid:"paused",msgstr:["pausado"]},"Upload files":{msgid:"Upload files",msgstr:["Enviar ficheiros"]}}}}},{locale:"ro",json:{charset:"utf-8",headers:{"Last-Translator":"Mădălin Vasiliu , 2022","Language-Team":"Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)","Content-Type":"text/plain; charset=UTF-8",Language:"ro","Plural-Forms":"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMădălin Vasiliu , 2022\n"},msgstr:["Last-Translator: Mădălin Vasiliu , 2022\nLanguage-Team: Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ro\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} secunde rămase"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["{time} rămas"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["câteva secunde rămase"]},Add:{msgid:"Add",msgstr:["Adaugă"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Anulați încărcările"]},"estimating time left":{msgid:"estimating time left",msgstr:["estimarea timpului rămas"]},paused:{msgid:"paused",msgstr:["pus pe pauză"]},"Upload files":{msgid:"Upload files",msgstr:["Încarcă fișiere"]}}}}},{locale:"ru",json:{charset:"utf-8",headers:{"Last-Translator":"Александр, 2023","Language-Team":"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nMax Smith , 2023\nАлександр, 2023\n"},msgstr:["Last-Translator: Александр, 2023\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["конфликт {count} файла","конфликт {count} файлов","конфликт {count} файлов","конфликт {count} файлов"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["конфликт {count} файла в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}","конфликт {count} файлов в {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["осталось {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["осталось {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["осталось несколько секунд"]},Add:{msgid:"Add",msgstr:["Добавить"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Отменить загрузки"]},Continue:{msgid:"Continue",msgstr:["Продолжить"]},"estimating time left":{msgid:"estimating time left",msgstr:["оценка оставшегося времени"]},"Existing version":{msgid:"Existing version",msgstr:["Текущая версия"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Если вы выберете обе версии, к имени скопированного файла будет добавлен номер."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата последнего изменения неизвестна"]},"New version":{msgid:"New version",msgstr:["Новая версия"]},paused:{msgid:"paused",msgstr:["приостановлено"]},"Preview image":{msgid:"Preview image",msgstr:["Предварительный просмотр"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Установить все флажки"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Выбрать все существующие файлы"]},"Select all new files":{msgid:"Select all new files",msgstr:["Выбрать все новые файлы"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустить файл","Пропустить {count} файла","Пропустить {count} файлов","Пропустить {count} файлов"]},"Unknown size":{msgid:"Unknown size",msgstr:["Неизвестный размер"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Загрузка отменена"]},"Upload files":{msgid:"Upload files",msgstr:["Загрузка файлов"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Какие файлы вы хотите сохранить?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продолжения вам нужно выбрать по крайней мере одну версию каждого файла."]}}}}},{locale:"ru_RU",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru_RU","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Russian (Russia) (https://www.transifex.com/nextcloud/teams/64236/ru_RU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru_RU\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sc",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)","Content-Type":"text/plain; charset=UTF-8",Language:"sc","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sc\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)","Content-Type":"text/plain; charset=UTF-8",Language:"si","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"si_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"si_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Sinhala (Sri Lanka) (https://www.transifex.com/nextcloud/teams/64236/si_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sk_SK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)","Content-Type":"text/plain; charset=UTF-8",Language:"sk_SK","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sl",json:{charset:"utf-8",headers:{"Last-Translator":"Matej Urbančič <>, 2022","Language-Team":"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatej Urbančič <>, 2022\n"},msgstr:["Last-Translator: Matej Urbančič <>, 2022\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["še {seconds} sekund"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["še {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["še nekaj sekund"]},Add:{msgid:"Add",msgstr:["Dodaj"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Prekliči pošiljanje"]},"estimating time left":{msgid:"estimating time left",msgstr:["ocenjen čas do konca"]},paused:{msgid:"paused",msgstr:["v premoru"]},"Upload files":{msgid:"Upload files",msgstr:["Pošlji datoteke"]}}}}},{locale:"sl_SI",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl_SI","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Slovenian (Slovenia) (https://www.transifex.com/nextcloud/teams/64236/sl_SI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl_SI\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sq",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)","Content-Type":"text/plain; charset=UTF-8",Language:"sq","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sq\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sr",json:{charset:"utf-8",headers:{"Last-Translator":"Иван Пешић, 2023","Language-Team":"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nИван Пешић, 2023\n"},msgstr:["Last-Translator: Иван Пешић, 2023\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} фајл конфликт","{count} фајл конфликта","{count} фајл конфликта"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} фајл конфликт у {dirname}","{count} фајл конфликта у {dirname}","{count} фајл конфликта у {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["преостало је {seconds} секунди"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} преостало"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["преостало је неколико секунди"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Обустави отпремања"]},Continue:{msgid:"Continue",msgstr:["Настави"]},"estimating time left":{msgid:"estimating time left",msgstr:["процена преосталог времена"]},"Existing version":{msgid:"Existing version",msgstr:["Постојећа верзија"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Ако изаберете обе верзије, на име копираног фајла ће се додати број."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Није познат датум последње измене"]},New:{msgid:"New",msgstr:["Ново"]},"New version":{msgid:"New version",msgstr:["Нова верзија"]},paused:{msgid:"paused",msgstr:["паузирано"]},"Preview image":{msgid:"Preview image",msgstr:["Слика прегледа"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Штиклирај сва поља за штиклирање"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Изабери све постојеће фајлове"]},"Select all new files":{msgid:"Select all new files",msgstr:["Изабери све нове фајлове"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Прескочи овај фајл","Прескочи {count} фајла","Прескочи {count} фајлова"]},"Unknown size":{msgid:"Unknown size",msgstr:["Непозната величина"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Отпремање је отказано"]},"Upload files":{msgid:"Upload files",msgstr:["Отпреми фајлове"]},"Upload progress":{msgid:"Upload progress",msgstr:["Напредак отпремања"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Које фајлове желите да задржите?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Морате да изаберете барем једну верзију сваког фајла да наставите."]}}}}},{locale:"sr@latin",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr@latin","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr@latin\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"sv",json:{charset:"utf-8",headers:{"Last-Translator":"Magnus Höglund, 2024","Language-Team":"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)","Content-Type":"text/plain; charset=UTF-8",Language:"sv","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nMagnus Höglund, 2024\n"},msgstr:["Last-Translator: Magnus Höglund, 2024\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} filkonflikt","{count} filkonflikter"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} filkonflikt i {dirname}","{count} filkonflikter i {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} sekunder kvarstår"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kvarstår"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["några sekunder kvar"]},Cancel:{msgid:"Cancel",msgstr:["Avbryt"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Avbryt hela operationen"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Avbryt uppladdningar"]},Continue:{msgid:"Continue",msgstr:["Fortsätt"]},"estimating time left":{msgid:"estimating time left",msgstr:["uppskattar kvarstående tid"]},"Existing version":{msgid:"Existing version",msgstr:["Nuvarande version"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Om du väljer båda versionerna kommer den kopierade filen att få ett nummer tillagt i namnet."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Senaste ändringsdatum okänt"]},New:{msgid:"New",msgstr:["Ny"]},"New version":{msgid:"New version",msgstr:["Ny version"]},paused:{msgid:"paused",msgstr:["pausad"]},"Preview image":{msgid:"Preview image",msgstr:["Förhandsgranska bild"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Markera alla kryssrutor"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Välj alla befintliga filer"]},"Select all new files":{msgid:"Select all new files",msgstr:["Välj alla nya filer"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Hoppa över denna fil","Hoppa över {count} filer"]},"Unknown size":{msgid:"Unknown size",msgstr:["Okänd storlek"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Uppladdningen avbröts"]},"Upload files":{msgid:"Upload files",msgstr:["Ladda upp filer"]},"Upload progress":{msgid:"Upload progress",msgstr:["Uppladdningsförlopp"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["När en inkommande mapp väljs skrivs även alla konfliktande filer i den över."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Vilka filer vill du behålla?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du måste välja minst en version av varje fil för att fortsätta."]}}}}},{locale:"sw",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)","Content-Type":"text/plain; charset=UTF-8",Language:"sw","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sw\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"ta_LK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ta_LK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Tamil (Sri-Lanka) (https://www.transifex.com/nextcloud/teams/64236/ta_LK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ta_LK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Thai (https://www.transifex.com/nextcloud/teams/64236/th/)","Content-Type":"text/plain; charset=UTF-8",Language:"th","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Thai (https://www.transifex.com/nextcloud/teams/64236/th/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"th_TH",json:{charset:"utf-8",headers:{"Last-Translator":"Phongpanot Phairat , 2022","Language-Team":"Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)","Content-Type":"text/plain; charset=UTF-8",Language:"th_TH","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhongpanot Phairat , 2022\n"},msgstr:["Last-Translator: Phongpanot Phairat , 2022\nLanguage-Team: Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th_TH\nPlural-Forms: nplurals=1; plural=0;\n"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["เหลืออีก {seconds} วินาที"]},"{time} left":{msgid:"{time} left",comments:{extracted:"time has the format 00:00:00"},msgstr:["เหลืออีก {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["เหลืออีกไม่กี่วินาที"]},Add:{msgid:"Add",msgstr:["เพิ่ม"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["ยกเลิกการอัปโหลด"]},"estimating time left":{msgid:"estimating time left",msgstr:["กำลังคำนวณเวลาที่เหลือ"]},paused:{msgid:"paused",msgstr:["หยุดชั่วคราว"]},"Upload files":{msgid:"Upload files",msgstr:["อัปโหลดไฟล์"]}}}}},{locale:"tk",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)","Content-Type":"text/plain; charset=UTF-8",Language:"tk","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tk\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"tr",json:{charset:"utf-8",headers:{"Last-Translator":"Kaya Zeren , 2024","Language-Team":"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)","Content-Type":"text/plain; charset=UTF-8",Language:"tr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nKaya Zeren , 2024\n"},msgstr:["Last-Translator: Kaya Zeren , 2024\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} dosya çakışması var","{count} dosya çakışması var"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} klasöründe {count} dosya çakışması var","{dirname} klasöründe {count} dosya çakışması var"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["{seconds} saniye kaldı"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["{time} kaldı"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["bir kaç saniye kaldı"]},Cancel:{msgid:"Cancel",msgstr:["İptal"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Tüm işlemi iptal et"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Yüklemeleri iptal et"]},Continue:{msgid:"Continue",msgstr:["İlerle"]},"estimating time left":{msgid:"estimating time left",msgstr:["öngörülen kalan süre"]},"Existing version":{msgid:"Existing version",msgstr:["Var olan sürüm"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["İki sürümü de seçerseniz, kopyalanan dosyanın adına bir sayı eklenir."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Son değiştirilme tarihi bilinmiyor"]},New:{msgid:"New",msgstr:["Yeni"]},"New version":{msgid:"New version",msgstr:["Yeni sürüm"]},paused:{msgid:"paused",msgstr:["duraklatıldı"]},"Preview image":{msgid:"Preview image",msgstr:["Görsel ön izlemesi"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Tüm kutuları işaretle"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Tüm var olan dosyaları seç"]},"Select all new files":{msgid:"Select all new files",msgstr:["Tüm yeni dosyaları seç"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Bu dosyayı atla","{count} dosyayı atla"]},"Unknown size":{msgid:"Unknown size",msgstr:["Boyut bilinmiyor"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Yükleme iptal edildi"]},"Upload files":{msgid:"Upload files",msgstr:["Dosyaları yükle"]},"Upload progress":{msgid:"Upload progress",msgstr:["Yükleme ilerlemesi"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Hangi dosyaları tutmak istiyorsunuz?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["İlerlemek için her dosyanın en az bir sürümünü seçmelisiniz."]}}}}},{locale:"ug",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)","Content-Type":"text/plain; charset=UTF-8",Language:"ug","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ug\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uk",json:{charset:"utf-8",headers:{"Last-Translator":"O St , 2024","Language-Team":"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)","Content-Type":"text/plain; charset=UTF-8",Language:"uk","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\nO St , 2024\n"},msgstr:["Last-Translator: O St , 2024\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} конфліктний файл","{count} конфліктних файли","{count} конфліктних файлів","{count} конфліктних файлів"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} конфліктний файл у каталозі {dirname}","{count} конфліктних файли у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}","{count} конфліктних файлів у каталозі {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Залишилося {seconds} секунд"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Залишилося {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["залишилося кілька секунд"]},Cancel:{msgid:"Cancel",msgstr:["Скасувати"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["Скасувати операцію повністю"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Скасувати завантаження"]},Continue:{msgid:"Continue",msgstr:["Продовжити"]},"estimating time left":{msgid:"estimating time left",msgstr:["оцінка часу, що залишився"]},"Existing version":{msgid:"Existing version",msgstr:["Присутня версія"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Якщо ви виберете обидві версії, то буде створено копію файлу, до назви якої буде додано цифру."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Дата останньої зміни невідома"]},New:{msgid:"New",msgstr:["Нове"]},"New version":{msgid:"New version",msgstr:["Нова версія"]},paused:{msgid:"paused",msgstr:["призупинено"]},"Preview image":{msgid:"Preview image",msgstr:["Попередній перегляд"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Вибрати все"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Вибрати усі присутні файли"]},"Select all new files":{msgid:"Select all new files",msgstr:["Вибрати усі нові файли"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Пропустити файл","Пропустити {count} файли","Пропустити {count} файлів","Пропустити {count} файлів"]},"Unknown size":{msgid:"Unknown size",msgstr:["Невідомий розмір"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Завантаження скасовано"]},"Upload files":{msgid:"Upload files",msgstr:["Завантажити файли"]},"Upload progress":{msgid:"Upload progress",msgstr:["Поступ завантаження"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Усі конфліктні файли у вибраному каталозі призначення буде перезаписано поверх."]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Які файли залишити?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продовження потрібно вибрати принаймні одну версію для кожного файлу."]}}}}},{locale:"ur_PK",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)","Content-Type":"text/plain; charset=UTF-8",Language:"ur_PK","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ur_PK\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"uz",json:{charset:"utf-8",headers:{"Last-Translator":"Transifex Bot <>, 2022","Language-Team":"Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)","Content-Type":"text/plain; charset=UTF-8",Language:"uz","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nTransifex Bot <>, 2022\n"},msgstr:["Last-Translator: Transifex Bot <>, 2022\nLanguage-Team: Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uz\nPlural-Forms: nplurals=1; plural=0;\n"]},"{estimate} seconds left":{msgid:"{estimate} seconds left",msgstr:[""]},"{hours} hours and {minutes} minutes left":{msgid:"{hours} hours and {minutes} minutes left",msgstr:[""]},"{minutes} minutes left":{msgid:"{minutes} minutes left",msgstr:[""]},"a few seconds left":{msgid:"a few seconds left",msgstr:[""]},Add:{msgid:"Add",msgstr:[""]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:[""]},"estimating time left":{msgid:"estimating time left",msgstr:[""]},paused:{msgid:"paused",msgstr:[""]}}}}},{locale:"vi",json:{charset:"utf-8",headers:{"Last-Translator":"Tung DangQuang, 2023","Language-Team":"Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)","Content-Type":"text/plain; charset=UTF-8",Language:"vi","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nTung DangQuang, 2023\n"},msgstr:["Last-Translator: Tung DangQuang, 2023\nLanguage-Team: Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: vi\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} Tập tin xung đột"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{count} tập tin lỗi trong {dirname}"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["Còn {second} giây"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["Còn lại {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["Còn lại một vài giây"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["Huỷ tải lên"]},Continue:{msgid:"Continue",msgstr:["Tiếp Tục"]},"estimating time left":{msgid:"estimating time left",msgstr:["Thời gian còn lại dự kiến"]},"Existing version":{msgid:"Existing version",msgstr:["Phiên Bản Hiện Tại"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["Nếu bạn chọn cả hai phiên bản, tệp được sao chép sẽ có thêm một số vào tên của nó."]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["Ngày sửa dổi lần cuối không xác định"]},New:{msgid:"New",msgstr:["Tạo Mới"]},"New version":{msgid:"New version",msgstr:["Phiên Bản Mới"]},paused:{msgid:"paused",msgstr:["đã tạm dừng"]},"Preview image":{msgid:"Preview image",msgstr:["Xem Trước Ảnh"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["Chọn tất cả hộp checkbox"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["Chọn tất cả các tập tin có sẵn"]},"Select all new files":{msgid:"Select all new files",msgstr:["Chọn tất cả các tập tin mới"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["Bỏ Qua {count} tập tin"]},"Unknown size":{msgid:"Unknown size",msgstr:["Không rõ dung lượng"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["Dừng Tải Lên"]},"Upload files":{msgid:"Upload files",msgstr:["Tập tin tải lên"]},"Upload progress":{msgid:"Upload progress",msgstr:["Đang Tải Lên"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["Bạn muốn giữ tập tin nào?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["Bạn cần chọn ít nhất một phiên bản tập tin mới có thể tiếp tục"]}}}}},{locale:"zh_CN",json:{charset:"utf-8",headers:{"Last-Translator":"Hongbo Chen, 2023","Language-Team":"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_CN","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nHongbo Chen, 2023\n"},msgstr:["Last-Translator: Hongbo Chen, 2023\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count}文件冲突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["在{dirname}目录下有{count}个文件冲突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩余 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩余 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["还剩几秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上传"]},Continue:{msgid:"Continue",msgstr:["继续"]},"estimating time left":{msgid:"estimating time left",msgstr:["估计剩余时间"]},"Existing version":{msgid:"Existing version",msgstr:["版本已存在"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["如果选择所有的版本,新增版本的文件名为原文件名加数字"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["文件最后修改日期未知"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暂停"]},"Preview image":{msgid:"Preview image",msgstr:["图片预览"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["选择所有的选择框"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["选择所有存在的文件"]},"Select all new files":{msgid:"Select all new files",msgstr:["选择所有的新文件"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["跳过{count}个文件"]},"Unknown size":{msgid:"Unknown size",msgstr:["文件大小未知"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["取消上传"]},"Upload files":{msgid:"Upload files",msgstr:["上传文件"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["你要保留哪些文件?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["每个文件至少选择一个版本"]}}}}},{locale:"zh_HK",json:{charset:"utf-8",headers:{"Last-Translator":"Café Tango, 2023","Language-Team":"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_HK","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJohn Molakvoæ , 2023\nCafé Tango, 2023\n"},msgstr:["Last-Translator: Café Tango, 2023\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Add:{msgid:"Add",msgstr:["添加"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期不詳"]},"New version":{msgid:"New version",msgstr:["新版本 "]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 個檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["大小不詳"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}},{locale:"zh_TW",json:{charset:"utf-8",headers:{"Last-Translator":"黃柏諺 , 2024","Language-Team":"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_TW","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nJoas Schilling, 2024\n黃柏諺 , 2024\n"},msgstr:["Last-Translator: 黃柏諺 , 2024\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n"]},"{count} file conflict":{msgid:"{count} file conflict",msgid_plural:"{count} files conflict",msgstr:["{count} 個檔案衝突"]},"{count} file conflict in {dirname}":{msgid:"{count} file conflict in {dirname}",msgid_plural:"{count} file conflicts in {dirname}",msgstr:["{dirname} 中有 {count} 個檔案衝突"]},"{seconds} seconds left":{msgid:"{seconds} seconds left",msgstr:["剩餘 {seconds} 秒"]},"{time} left":{msgid:"{time} left",comments:{extracted:"TRANSLATORS time has the format 00:00:00"},msgstr:["剩餘 {time}"]},"a few seconds left":{msgid:"a few seconds left",msgstr:["還剩幾秒"]},Cancel:{msgid:"Cancel",msgstr:["取消"]},"Cancel the entire operation":{msgid:"Cancel the entire operation",msgstr:["取消整個操作"]},"Cancel uploads":{msgid:"Cancel uploads",msgstr:["取消上傳"]},Continue:{msgid:"Continue",msgstr:["繼續"]},"estimating time left":{msgid:"estimating time left",msgstr:["估計剩餘時間"]},"Existing version":{msgid:"Existing version",msgstr:["既有版本"]},"If you select both versions, the copied file will have a number added to its name.":{msgid:"If you select both versions, the copied file will have a number added to its name.",msgstr:["若您選取兩個版本,複製的檔案的名稱將會新增編號。"]},"Last modified date unknown":{msgid:"Last modified date unknown",msgstr:["最後修改日期未知"]},New:{msgid:"New",msgstr:["新增"]},"New version":{msgid:"New version",msgstr:["新版本"]},paused:{msgid:"paused",msgstr:["已暫停"]},"Preview image":{msgid:"Preview image",msgstr:["預覽圖片"]},"Select all checkboxes":{msgid:"Select all checkboxes",msgstr:["選取所有核取方塊"]},"Select all existing files":{msgid:"Select all existing files",msgstr:["選取所有既有檔案"]},"Select all new files":{msgid:"Select all new files",msgstr:["選取所有新檔案"]},"Skip this file":{msgid:"Skip this file",msgid_plural:"Skip {count} files",msgstr:["略過 {count} 檔案"]},"Unknown size":{msgid:"Unknown size",msgstr:["未知大小"]},"Upload cancelled":{msgid:"Upload cancelled",msgstr:["已取消上傳"]},"Upload files":{msgid:"Upload files",msgstr:["上傳檔案"]},"Upload progress":{msgid:"Upload progress",msgstr:["上傳進度"]},"When an incoming folder is selected, any conflicting files within it will also be overwritten.":{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["選取傳入資料夾後,其中任何的衝突檔案都會被覆寫。"]},"Which files do you want to keep?":{msgid:"Which files do you want to keep?",msgstr:["您想保留哪些檔案?"]},"You need to select at least one version of each file to continue.":{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須為每個檔案都至少選取一個版本以繼續。"]}}}}}].map((t=>nt.addTranslation(t.locale,t.json)));const st=nt.build(),it=st.ngettext.bind(st),rt=st.gettext.bind(st),at=U.Ay.extend({name:"UploadPicker",components:{Cancel:Z,NcActionButton:B.A,NcActions:M.A,NcButton:j.A,NcIconSvgWrapper:R.A,NcProgressBar:z.A,Plus:tt,Upload:et},props:{accept:{type:Array,default:null},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},destination:{type:y.vd,default:void 0},content:{type:Array,default:()=>[]},forbiddenCharacters:{type:Array,default:()=>[]}},data:()=>({addLabel:rt("New"),cancelLabel:rt("Cancel uploads"),uploadLabel:rt("Upload files"),progressLabel:rt("Upload progress"),progressTimeId:`nc-uploader-progress-${Math.random().toString(36).slice(7)}`,eta:null,timeLeft:"",newFileMenuEntries:[],uploadManager:ct()}),computed:{totalQueueSize(){return this.uploadManager.info?.size||0},uploadedQueueSize(){return this.uploadManager.info?.progress||0},progress(){return Math.round(this.uploadedQueueSize/this.totalQueueSize*100)||0},queue(){return this.uploadManager.queue},hasFailure(){return 0!==this.queue?.filter((t=>t.status===$.FAILED)).length},isUploading(){return this.queue?.length>0},isAssembling(){return 0!==this.queue?.filter((t=>t.status===$.ASSEMBLING)).length},isPaused(){return this.uploadManager.info?.status===Q.PAUSED},buttonName(){if(!this.isUploading)return this.addLabel}},watch:{destination(t){this.setDestination(t)},totalQueueSize(t){this.eta=O({min:0,max:t}),this.updateStatus()},uploadedQueueSize(t){this.eta?.report?.(t),this.updateStatus()},isPaused(t){t?this.$emit("paused",this.queue):this.$emit("resumed",this.queue)}},beforeMount(){this.destination&&this.setDestination(this.destination),this.uploadManager.addNotifier(this.onUploadCompletion),Y.debug("UploadPicker initialised")},methods:{onClick(){this.$refs.input.click()},async onPick(){let t=[...this.$refs.input.files];if(ut(t,this.content)){const e=t.filter((t=>this.content.find((e=>e.basename===t.name)))).filter(Boolean),n=t.filter((t=>!e.includes(t)));try{const{selected:s,renamed:i}=await dt(this.destination.basename,e,this.content);t=[...n,...s,...i]}catch{return void(0,D.Qg)(rt("Upload cancelled"))}}t.forEach((t=>{const e=(this.forbiddenCharacters||[]).find((e=>t.name.includes(e)));e?(0,D.Qg)(rt(`"${e}" is not allowed inside a file name.`)):this.uploadManager.upload(t.name,t).catch((()=>{}))})),this.$refs.form.reset()},onCancel(){this.uploadManager.queue.forEach((t=>{t.cancel()})),this.$refs.form.reset()},updateStatus(){if(this.isPaused)return void(this.timeLeft=rt("paused"));const t=Math.round(this.eta.estimate());if(t!==1/0)if(t<10)this.timeLeft=rt("a few seconds left");else if(t>60){const e=new Date(0);e.setSeconds(t);const n=e.toISOString().slice(11,19);this.timeLeft=rt("{time} left",{time:n})}else this.timeLeft=rt("{seconds} seconds left",{seconds:t});else this.timeLeft=rt("estimating time left")},setDestination(t){this.destination?(this.uploadManager.destination=t,this.newFileMenuEntries=(0,y.m1)(t)):Y.debug("Invalid destination")},onUploadCompletion(t){t.status===$.FAILED?this.$emit("failed",t):this.$emit("uploaded",t)}}}),ot=X(at,(function(){var t=this,e=t._self._c;return t._self._setupProxy,t.destination?e("form",{ref:"form",staticClass:"upload-picker",class:{"upload-picker--uploading":t.isUploading,"upload-picker--paused":t.isPaused},attrs:{"data-cy-upload-picker":""}},[t.newFileMenuEntries&&0===t.newFileMenuEntries.length?e("NcButton",{attrs:{disabled:t.disabled,"data-cy-upload-picker-add":"",type:"secondary"},on:{click:t.onClick},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[t._v(" "+t._s(t.buttonName)+" ")]):e("NcActions",{attrs:{"menu-name":t.buttonName,"menu-title":t.addLabel,type:"secondary"},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,2954875042)},[e("NcActionButton",{attrs:{"data-cy-upload-picker-add":"","close-after-click":!0},on:{click:t.onClick},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Upload",{attrs:{title:"",size:20,decorative:""}})]},proxy:!0}],null,!1,3606034491)},[t._v(" "+t._s(t.uploadLabel)+" ")]),t._l(t.newFileMenuEntries,(function(n){return e("NcActionButton",{key:n.id,staticClass:"upload-picker__menu-entry",attrs:{icon:n.iconClass,"close-after-click":!0},on:{click:function(e){return n.handler(t.destination,t.content)}},scopedSlots:t._u([n.iconSvgInline?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:n.iconSvgInline}})]},proxy:!0}:null],null,!0)},[t._v(" "+t._s(n.displayName)+" ")])}))],2),e("div",{directives:[{name:"show",rawName:"v-show",value:t.isUploading,expression:"isUploading"}],staticClass:"upload-picker__progress"},[e("NcProgressBar",{attrs:{"aria-label":t.progressLabel,"aria-describedby":t.progressTimeId,error:t.hasFailure,value:t.progress,size:"medium"}}),e("p",{attrs:{id:t.progressTimeId}},[t._v(" "+t._s(t.timeLeft)+" ")])],1),t.isUploading?e("NcButton",{staticClass:"upload-picker__cancel",attrs:{type:"tertiary","aria-label":t.cancelLabel,"data-cy-upload-picker-cancel":""},on:{click:t.onCancel},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Cancel",{attrs:{title:"",size:20}})]},proxy:!0}],null,!1,4076886712)}):t._e(),e("input",{directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}],ref:"input",attrs:{type:"file",accept:t.accept?.join?.(", "),multiple:t.multiple,"data-cy-upload-picker-input":""},on:{change:t.onPick}})],1):t._e()}),[],!1,null,"eca9500a",null,null).exports;let lt=null;function ct(){const t=null!==document.querySelector('input[name="isPublic"][value="1"]');return lt instanceof J||(lt=new J(t)),lt}async function dt(t,e,s){const i=(0,U.$V)((()=>Promise.all([n.e(4208),n.e(6075)]).then(n.bind(n,56075))));return new Promise(((n,r)=>{const a=new U.Ay({name:"ConflictPickerRoot",render:o=>o(i,{props:{dirname:t,conflicts:e,content:s},on:{submit(t){n(t),a.$destroy(),a.$el?.parentNode?.removeChild(a.$el)},cancel(t){r(t??new Error("Canceled")),a.$destroy(),a.$el?.parentNode?.removeChild(a.$el)}}})});a.$mount(),document.body.appendChild(a.$el)}))}function ut(t,e){const n=e.map((t=>t.basename));return t.filter((t=>{const e=t instanceof File?t.name:t.basename;return-1!==n.indexOf(e)})).length>0}},53110:(t,e,n)=>{"use strict";n.d(e,{k3:()=>a,pe:()=>r});var s=n(28893);const{Axios:i,AxiosError:r,CanceledError:a,isCancel:o,CancelToken:l,VERSION:c,all:d,Cancel:u,isAxiosError:m,spread:p,toFormData:g,AxiosHeaders:f,HttpStatusCode:h,formToJSON:v,getAdapter:w,mergeConfig:y}=s.A}},r={};function a(t){var e=r[t];if(void 0!==e)return e.exports;var n=r[t]={id:t,loaded:!1,exports:{}};return i[t].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.m=i,e=[],a.O=(t,n,s,i)=>{if(!n){var r=1/0;for(d=0;d=i)&&Object.keys(a.O).every((t=>a.O[t](n[l])))?n.splice(l--,1):(o=!1,i0&&e[d-1][2]>i;d--)e[d]=e[d-1];e[d]=[n,s,i]},a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.f={},a.e=t=>Promise.all(Object.keys(a.f).reduce(((e,n)=>(a.f[n](t,e),e)),[])),a.u=t=>t+"-"+t+".js?v="+{4065:"9661e9d1e1b32699b74a",4254:"96661b9f421b07ce7189",6075:"d640b65b03c7259e0129"}[t],a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},s="nextcloud:",a.l=(t,e,i,r)=>{if(n[t])n[t].push(e);else{var o,l;if(void 0!==i)for(var c=document.getElementsByTagName("script"),d=0;d{o.onerror=o.onload=null,clearTimeout(p);var i=n[t];if(delete n[t],o.parentNode&&o.parentNode.removeChild(o),i&&i.forEach((t=>t(s))),e)return e(s)},p=setTimeout(m.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=m.bind(null,o.onerror),o.onload=m.bind(null,o.onload),l&&document.head.appendChild(o)}},a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),a.j=2882,(()=>{var t;a.g.importScripts&&(t=a.g.location+"");var e=a.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var s=n.length-1;s>-1&&(!t||!/^http(s?):/.test(t));)t=n[s--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t})(),(()=>{a.b=document.baseURI||self.location.href;var t={2882:0};a.f.j=(e,n)=>{var s=a.o(t,e)?t[e]:void 0;if(0!==s)if(s)n.push(s[2]);else{var i=new Promise(((n,i)=>s=t[e]=[n,i]));n.push(s[2]=i);var r=a.p+a.u(e),o=new Error;a.l(r,(n=>{if(a.o(t,e)&&(0!==(s=t[e])&&(t[e]=void 0),s)){var i=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+e+" failed.\n("+i+": "+r+")",o.name="ChunkLoadError",o.type=i,o.request=r,s[1](o)}}),"chunk-"+e,e)}},a.O.j=e=>0===t[e];var e=(e,n)=>{var s,i,r=n[0],o=n[1],l=n[2],c=0;if(r.some((e=>0!==t[e]))){for(s in o)a.o(o,s)&&(a.m[s]=o[s]);if(l)var d=l(a)}for(e&&e(n);ca(4396)));o=a.O(o)})(); +//# sourceMappingURL=files-main.js.map?v=edd46c37db2efca58fb0 \ No newline at end of file diff --git a/dist/files-main.js.map b/dist/files-main.js.map index 9192d08928a75..b9446ee84fab2 100644 --- a/dist/files-main.js.map +++ b/dist/files-main.js.map @@ -1 +1 @@ -{"version":3,"file":"files-main.js?v=dc3e7f7e429ef0cffa99","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/eventemitter3/index.js","webpack:///nextcloud/apps/files/src/store/index.ts","webpack:///nextcloud/node_modules/decode-uri-component/index.js","webpack:///nextcloud/node_modules/split-on-first/index.js","webpack:///nextcloud/node_modules/query-string/node_modules/filter-obj/index.js","webpack:///nextcloud/node_modules/query-string/base.js","webpack:///nextcloud/node_modules/query-string/index.js","webpack:///nextcloud/apps/files/src/router/router.ts","webpack:///nextcloud/apps/files/src/FilesApp.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Cog.vue?4d6d","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue?vue&type=template&id=89df8f2e","webpack:///nextcloud/node_modules/throttle-debounce/esm/index.js","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ChartPie.vue?421f","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue?vue&type=template&id=b117066e","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?ebc6","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?2966","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?08cb","webpack://nextcloud/./apps/files/src/views/Settings.vue?84f7","webpack:///nextcloud/node_modules/vue-material-design-icons/Clipboard.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Clipboard.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Clipboard.vue?68c7","webpack:///nextcloud/node_modules/vue-material-design-icons/Clipboard.vue?vue&type=template&id=0c133921","webpack:///nextcloud/apps/files/src/components/Setting.vue","webpack:///nextcloud/apps/files/src/components/Setting.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files/src/components/Setting.vue?98ea","webpack://nextcloud/./apps/files/src/components/Setting.vue?8d57","webpack:///nextcloud/apps/files/src/store/userconfig.ts","webpack:///nextcloud/apps/files/src/views/Settings.vue","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files/src/views/Settings.vue?8bf3","webpack://nextcloud/./apps/files/src/views/Settings.vue?b81b","webpack:///nextcloud/apps/files/src/composables/useNavigation.ts","webpack:///nextcloud/apps/files/src/store/viewConfig.ts","webpack:///nextcloud/apps/files/src/views/Navigation.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/views/Navigation.vue","webpack://nextcloud/./apps/files/src/views/Navigation.vue?e412","webpack://nextcloud/./apps/files/src/views/Navigation.vue?74b9","webpack:///nextcloud/apps/files/src/views/FilesList.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulletedSquare.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulletedSquare.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FormatListBulletedSquare.vue?5dae","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulletedSquare.vue?vue&type=template&id=00aea13f","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountPlus.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountPlus.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountPlus.vue?2818","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountPlus.vue?vue&type=template&id=a16afc28","webpack:///nextcloud/node_modules/vue-material-design-icons/ViewGrid.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/ViewGrid.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ViewGrid.vue?4e55","webpack:///nextcloud/node_modules/vue-material-design-icons/ViewGrid.vue?vue&type=template&id=7b96a104","webpack:///nextcloud/apps/files/src/actions/sidebarAction.ts","webpack:///nextcloud/apps/files/src/services/WebdavClient.ts","webpack:///nextcloud/apps/files/src/store/files.ts","webpack:///nextcloud/apps/files/src/store/paths.ts","webpack:///nextcloud/apps/files/src/store/selection.ts","webpack:///nextcloud/apps/files/src/store/uploader.ts","webpack:///nextcloud/apps/files/src/services/SortingService.ts","webpack:///nextcloud/apps/files/src/services/DropServiceUtils.ts","webpack:///nextcloud/apps/files/src/actions/moveOrCopyActionUtils.ts","webpack:///nextcloud/apps/files/src/utils/hashUtils.ts","webpack:///nextcloud/apps/files/src/services/Files.ts","webpack:///nextcloud/apps/files/src/actions/moveOrCopyAction.ts","webpack:///nextcloud/apps/files/src/services/DropService.ts","webpack:///nextcloud/apps/files/src/store/dragging.ts","webpack:///nextcloud/apps/files/src/mixins/filesListWidth.ts","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?bd8f","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?d357","webpack:///nextcloud/apps/files/src/utils/fileUtils.ts","webpack:///nextcloud/apps/files/src/components/FileEntry.vue","webpack:///nextcloud/apps/files/src/store/actionsmenu.ts","webpack:///nextcloud/apps/files/src/store/renaming.ts","webpack:///nextcloud/node_modules/vue-material-design-icons/FileMultiple.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FileMultiple.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FileMultiple.vue?6e9d","webpack:///nextcloud/node_modules/vue-material-design-icons/FileMultiple.vue?vue&type=template&id=27b46e04","webpack:///nextcloud/apps/files/src/components/DragAndDropPreview.vue","webpack:///nextcloud/apps/files/src/components/DragAndDropPreview.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/DragAndDropPreview.vue?8e66","webpack://nextcloud/./apps/files/src/components/DragAndDropPreview.vue?36f6","webpack:///nextcloud/apps/files/src/utils/dragUtils.ts","webpack:///nextcloud/apps/files/src/components/FileEntryMixin.ts","webpack:///nextcloud/apps/files/src/components/CustomElementRender.vue","webpack:///nextcloud/apps/files/src/components/CustomElementRender.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/CustomElementRender.vue?5f5c","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ArrowLeft.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ArrowLeft.vue?f857","webpack:///nextcloud/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=template&id=214c9a86","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryActions.vue?e79d","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryActions.vue?5012","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryActions.vue?7b52","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryCheckbox.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryCheckbox.vue","webpack:///nextcloud/apps/files/src/store/keyboard.ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryCheckbox.vue?a18b","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryName.vue","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryName.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryName.vue?98a4","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryPreview.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/File.vue?245d","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue?vue&type=template&id=e3c8d598","webpack:///nextcloud/node_modules/vue-material-design-icons/FolderOpen.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/FolderOpen.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/FolderOpen.vue?6818","webpack:///nextcloud/node_modules/vue-material-design-icons/FolderOpen.vue?vue&type=template&id=79cee0a4","webpack:///nextcloud/node_modules/vue-material-design-icons/Key.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Key.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Key.vue?157c","webpack:///nextcloud/node_modules/vue-material-design-icons/Key.vue?vue&type=template&id=01a06d54","webpack:///nextcloud/node_modules/vue-material-design-icons/Network.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Network.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Network.vue?11eb","webpack:///nextcloud/node_modules/vue-material-design-icons/Network.vue?vue&type=template&id=29f8873c","webpack:///nextcloud/node_modules/vue-material-design-icons/Tag.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Tag.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Tag.vue?6116","webpack:///nextcloud/node_modules/vue-material-design-icons/Tag.vue?vue&type=template&id=75dd05e4","webpack:///nextcloud/node_modules/vue-material-design-icons/PlayCircle.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/PlayCircle.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/PlayCircle.vue?0c26","webpack:///nextcloud/node_modules/vue-material-design-icons/PlayCircle.vue?vue&type=template&id=6901b3e6","webpack:///nextcloud/apps/files/src/components/FileEntry/CollectivesIcon.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files/src/components/FileEntry/CollectivesIcon.vue","webpack://nextcloud/./apps/files/src/components/FileEntry/CollectivesIcon.vue?1937","webpack://nextcloud/./apps/files/src/components/FileEntry/CollectivesIcon.vue?949d","webpack:///nextcloud/apps/files/src/components/FileEntry/FavoriteIcon.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FileEntry/FavoriteIcon.vue","webpack://nextcloud/./apps/files/src/components/FileEntry/FavoriteIcon.vue?238d","webpack://nextcloud/./apps/files/src/components/FileEntry/FavoriteIcon.vue?62c6","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryPreview.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/services/LivePhotos.ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryPreview.vue?8c1f","webpack:///nextcloud/apps/files/src/components/FileEntry.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FileEntry.vue?da7c","webpack:///nextcloud/apps/files/src/components/FileEntryGrid.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FileEntryGrid.vue","webpack://nextcloud/./apps/files/src/components/FileEntryGrid.vue?bb8e","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FilesListHeader.vue?349b","webpack:///nextcloud/apps/files/src/components/FilesListTableFooter.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FilesListTableFooter.vue","webpack://nextcloud/./apps/files/src/components/FilesListTableFooter.vue?975a","webpack://nextcloud/./apps/files/src/components/FilesListTableFooter.vue?fa4c","webpack:///nextcloud/apps/files/src/components/FilesListTableHeader.vue","webpack:///nextcloud/apps/files/src/mixins/filesSorting.ts","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderButton.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderButton.vue","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderButton.vue?39b1","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderButton.vue?e364","webpack:///nextcloud/apps/files/src/components/FilesListTableHeader.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FilesListTableHeader.vue?8cb2","webpack://nextcloud/./apps/files/src/components/FilesListTableHeader.vue?b1c9","webpack:///nextcloud/apps/files/src/components/VirtualList.vue","webpack:///nextcloud/apps/files/src/components/VirtualList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/VirtualList.vue?37fa","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderActions.vue","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderActions.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderActions.vue?6709","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderActions.vue?9494","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?67ee","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?f185","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?3555","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowDown.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowDown.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/TrayArrowDown.vue?a897","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowDown.vue?vue&type=template&id=447c2cd4","webpack:///nextcloud/apps/files/src/components/DragAndDropNotice.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/DragAndDropNotice.vue","webpack://nextcloud/./apps/files/src/components/DragAndDropNotice.vue?4a42","webpack://nextcloud/./apps/files/src/components/DragAndDropNotice.vue?a2e0","webpack:///nextcloud/apps/files/src/views/FilesList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/views/FilesList.vue?c7af","webpack://nextcloud/./apps/files/src/views/FilesList.vue?1e5b","webpack:///nextcloud/apps/files/src/FilesApp.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/FilesApp.vue?597e","webpack:///nextcloud/apps/files/src/main.ts","webpack:///nextcloud/apps/files/src/services/RouterService.ts","webpack:///nextcloud/apps/files/src/services/Settings.js","webpack:///nextcloud/apps/files/src/models/Setting.js","webpack:///nextcloud/node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue?vue&type=style&index=0&id=77111ada&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/DragAndDropNotice.vue?vue&type=style&index=0&id=2b498b48&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/DragAndDropPreview.vue?vue&type=style&index=0&id=b63e55d4&prod&lang=scss","webpack:///nextcloud/apps/files/src/components/FileEntry/FavoriteIcon.vue?vue&type=style&index=0&id=42ea6dd4&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue?vue&type=style&index=0&id=0ef7511c&prod&lang=scss","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue?vue&type=style&index=1&id=0ef7511c&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListTableHeader.vue?vue&type=style&index=0&id=68d3de81&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderActions.vue?vue&type=style&index=0&id=91476734&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=style&index=0&id=1e2b43b6&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=style&index=1&id=1e2b43b6&prod&lang=scss","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue?vue&type=style&index=0&id=063ed938&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/views/FilesList.vue?vue&type=style&index=0&id=139727ec&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/views/Navigation.vue?vue&type=style&index=0&id=7387953c&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=style&index=0&id=00f09e69&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/events/events.js","webpack:///nextcloud/node_modules/readable-stream/errors-browser.js","webpack:///nextcloud/node_modules/readable-stream/lib/_stream_duplex.js","webpack:///nextcloud/node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///nextcloud/node_modules/readable-stream/lib/_stream_readable.js","webpack:///nextcloud/node_modules/readable-stream/lib/_stream_transform.js","webpack:///nextcloud/node_modules/readable-stream/lib/_stream_writable.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/state.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///nextcloud/node_modules/safe-buffer/index.js","webpack:///nextcloud/node_modules/sax/lib/sax.js","webpack:///nextcloud/node_modules/setimmediate/setImmediate.js","webpack:///nextcloud/node_modules/simple-eta/index.js","webpack:///nextcloud/node_modules/stream-browserify/index.js","webpack:///nextcloud/node_modules/string_decoder/lib/string_decoder.js","webpack:///nextcloud/node_modules/timers-browserify/main.js","webpack:///nextcloud/node_modules/util-deprecate/browser.js","webpack:///nextcloud/node_modules/xml2js/lib/bom.js","webpack:///nextcloud/node_modules/xml2js/lib/builder.js","webpack:///nextcloud/node_modules/xml2js/lib/defaults.js","webpack:///nextcloud/node_modules/xml2js/lib/parser.js","webpack:///nextcloud/node_modules/xml2js/lib/processors.js","webpack:///nextcloud/node_modules/xml2js/lib/xml2js.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/DocumentPosition.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/NodeType.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/Utility.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/WriterState.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLAttribute.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLCData.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLCharacterData.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLComment.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDOMImplementation.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDOMStringList.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDTDAttList.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDTDElement.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDTDEntity.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDTDNotation.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDeclaration.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDocType.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDocument.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDocumentCB.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLDummy.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLElement.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLNode.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLNodeList.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLRaw.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLStreamWriter.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLStringWriter.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLStringifier.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLText.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/XMLWriterBase.js","webpack:///nextcloud/node_modules/xmlbuilder/lib/index.js","webpack://nextcloud/./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css?40cd","webpack:///nextcloud/node_modules/p-cancelable/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-timeout/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/priority-queue.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/lower-bound.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/dist/chunks/index-DM2X1kc6.mjs","webpack:///nextcloud/node_modules/axios/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { createPinia } from 'pinia';\nexport const pinia = createPinia();\n","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","import decodeComponent from 'decode-uri-component';\nimport splitOnFirst from 'split-on-first';\nimport {includeKeys} from 'filter-obj';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replaceAll(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSeparator = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSeparator, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replaceAll('+', ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tvalue[key2] = parseValue(value2, options);\n\t\t\t}\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tresult[key] = Boolean(value) && typeof value === 'object' && !Array.isArray(value) ? keysSorter(value) : value;\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tqueryString &&= `?${queryString}`;\n\n\tlet hash = getHash(object.url);\n\tif (typeof object.fragmentIdentifier === 'string') {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n","import { generateUrl } from '@nextcloud/router';\nimport queryString from 'query-string';\nimport Router from 'vue-router';\nimport Vue from 'vue';\nVue.use(Router);\n// Prevent router from throwing errors when we're already on the page we're trying to go to\nconst originalPush = Router.prototype.push;\nRouter.prototype.push = function push(to, onComplete, onAbort) {\n if (onComplete || onAbort)\n return originalPush.call(this, to, onComplete, onAbort);\n return originalPush.call(this, to).catch(err => err);\n};\nconst router = new Router({\n mode: 'history',\n // if index.php is in the url AND we got this far, then it's working:\n // let's keep using index.php in the url\n base: generateUrl('/apps/files'),\n linkActiveClass: 'active',\n routes: [\n {\n path: '/',\n // Pretending we're using the default view\n redirect: { name: 'filelist', params: { view: 'files' } },\n },\n {\n path: '/:view/:fileid(\\\\d+)?',\n name: 'filelist',\n props: true,\n },\n ],\n // Custom stringifyQuery to prevent encoding of slashes in the url\n stringifyQuery(query) {\n const result = queryString.stringify(query).replace(/%2F/gmi, '/');\n return result ? ('?' + result) : '';\n },\n});\nexport default router;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcContent',{attrs:{\"app-name\":\"files\"}},[_c('Navigation'),_vm._v(\" \"),_c('FilesList')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Cog.vue?vue&type=template&id=89df8f2e\"\nimport script from \"./Cog.vue?vue&type=script&lang=js\"\nexport * from \"./Cog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon cog-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)\n * are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,\n * as-is, to `callback` when the throttled-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds\n * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed\n * one final time after the last throttled-function call. (After the throttled-function has not been called for\n * `delay` milliseconds, the internal counter is reset).\n * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback\n * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that\n * callback will never executed if both noLeading = true and noTrailing = true.\n * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is\n * false (at end), schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, callback, options) {\n var _ref = options || {},\n _ref$noTrailing = _ref.noTrailing,\n noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,\n _ref$noLeading = _ref.noLeading,\n noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,\n _ref$debounceMode = _ref.debounceMode,\n debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n\n\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel(options) {\n var _ref2 = options || {},\n _ref2$upcomingOnly = _ref2.upcomingOnly,\n upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;\n\n clearExistingTimeout();\n cancelled = !upcomingOnly;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n\n var self = this;\n var elapsed = Date.now() - lastExec;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (!noLeading && debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`\n * and noLeading != true.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n if (noLeading) {\n /*\n * In throttle mode with noLeading, if `delay` time has\n * been exceeded, update `lastExec` and schedule `callback`\n * to execute after `delay` ms.\n */\n lastExec = Date.now();\n\n if (!noTrailing) {\n timeoutID = setTimeout(debounceMode ? clear : exec, delay);\n }\n } else {\n /*\n * In throttle mode without noLeading, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n }\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n *\n * @returns {Function} A new, debounced function.\n */\n\nfunction debounce (delay, callback, options) {\n var _ref = options || {},\n _ref$atBegin = _ref.atBegin,\n atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;\n\n return throttle(delay, callback, {\n debounceMode: atBegin !== false\n });\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChartPie.vue?vue&type=template&id=b117066e\"\nimport script from \"./ChartPie.vue?vue&type=script&lang=js\"\nexport * from \"./ChartPie.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chart-pie-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js\"","\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=063ed938&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=063ed938&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NavigationQuota.vue?vue&type=template&id=063ed938&scoped=true\"\nimport script from \"./NavigationQuota.vue?vue&type=script&lang=js\"\nexport * from \"./NavigationQuota.vue?vue&type=script&lang=js\"\nimport style0 from \"./NavigationQuota.vue?vue&type=style&index=0&id=063ed938&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"063ed938\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.storageStats)?_c('NcAppNavigationItem',{staticClass:\"app-navigation-entry__settings-quota\",class:{ 'app-navigation-entry__settings-quota--not-unlimited': _vm.storageStats.quota >= 0},attrs:{\"aria-label\":_vm.t('files', 'Storage informations'),\"loading\":_vm.loadingStorageStats,\"name\":_vm.storageStatsTitle,\"title\":_vm.storageStatsTooltip,\"data-cy-files-navigation-settings-quota\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.debounceUpdateStorageStats.apply(null, arguments)}}},[_c('ChartPie',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"}),_vm._v(\" \"),(_vm.storageStats.quota >= 0)?_c('NcProgressBar',{attrs:{\"slot\":\"extra\",\"error\":_vm.storageStats.relative > 80,\"value\":Math.min(_vm.storageStats.relative, 100)},slot:\"extra\"}):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.open,\"show-navigation\":true,\"name\":_vm.t('files', 'Files settings')},on:{\"update:open\":_vm.onClose}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"settings\",\"name\":_vm.t('files', 'Files settings')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"sort_favorites_first\",\"checked\":_vm.userConfig.sort_favorites_first},on:{\"update:checked\":function($event){return _vm.setConfig('sort_favorites_first', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Sort favorites first'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"sort_folders_first\",\"checked\":_vm.userConfig.sort_folders_first},on:{\"update:checked\":function($event){return _vm.setConfig('sort_folders_first', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Sort folders before files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"show_hidden\",\"checked\":_vm.userConfig.show_hidden},on:{\"update:checked\":function($event){return _vm.setConfig('show_hidden', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Show hidden files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"crop_image_previews\",\"checked\":_vm.userConfig.crop_image_previews},on:{\"update:checked\":function($event){return _vm.setConfig('crop_image_previews', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Crop image previews'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.enableGridView)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"grid_view\",\"checked\":_vm.userConfig.grid_view},on:{\"update:checked\":function($event){return _vm.setConfig('grid_view', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Enable the grid view'))+\"\\n\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),(_vm.settings.length !== 0)?_c('NcAppSettingsSection',{attrs:{\"id\":\"more-settings\",\"name\":_vm.t('files', 'Additional settings')}},[_vm._l((_vm.settings),function(setting){return [_c('Setting',{key:setting.name,attrs:{\"el\":setting.el}})]})],2):_vm._e(),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"webdav\",\"name\":_vm.t('files', 'WebDAV')}},[_c('NcInputField',{attrs:{\"id\":\"webdav-url-input\",\"label\":_vm.t('files', 'WebDAV URL'),\"show-trailing-button\":true,\"success\":_vm.webdavUrlCopied,\"trailing-button-label\":_vm.t('files', 'Copy to clipboard'),\"value\":_vm.webdavUrl,\"readonly\":\"readonly\",\"type\":\"url\"},on:{\"focus\":function($event){return $event.target.select()},\"trailing-button-click\":_vm.copyCloudId},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [_c('Clipboard',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.webdavDocs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Use this address to access your Files via WebDAV'))+\" ↗\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.appPasswordUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'If you have enabled 2FA, you must create and use a new app password by clicking here.'))+\" ↗\\n\\t\\t\\t\")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Clipboard.vue?vue&type=template&id=0c133921\"\nimport script from \"./Clipboard.vue?vue&type=script&lang=js\"\nexport * from \"./Clipboard.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clipboard-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Setting.vue?vue&type=template&id=61d69eae\"\nimport script from \"./Setting.vue?vue&type=script&lang=js\"\nexport * from \"./Setting.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst userConfig = loadState('files', 'config', {\n show_hidden: false,\n crop_image_previews: true,\n sort_favorites_first: true,\n sort_folders_first: true,\n grid_view: false,\n});\nexport const useUserConfigStore = function (...args) {\n const store = defineStore('userconfig', {\n state: () => ({\n userConfig,\n }),\n actions: {\n /**\n * Update the user config local store\n */\n onUpdate(key, value) {\n Vue.set(this.userConfig, key, value);\n },\n /**\n * Update the user config local store AND on server side\n */\n async update(key, value) {\n await axios.put(generateUrl('/apps/files/api/v1/config/' + key), {\n value,\n });\n emit('files:config:updated', { key, value });\n },\n },\n });\n const userConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!userConfigStore._initialized) {\n subscribe('files:config:updated', function ({ key, value }) {\n userConfigStore.onUpdate(key, value);\n });\n userConfigStore._initialized = true;\n }\n return userConfigStore;\n};\n","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=00f09e69&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=00f09e69&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=00f09e69&scoped=true\"\nimport script from \"./Settings.vue?vue&type=script&lang=js\"\nexport * from \"./Settings.vue?vue&type=script&lang=js\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=00f09e69&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00f09e69\",\n null\n \n)\n\nexport default component.exports","import { getNavigation } from '@nextcloud/files';\nimport { onMounted, onUnmounted, shallowRef } from 'vue';\n/**\n * Composable to get the currently active files view from the files navigation\n */\nexport function useNavigation() {\n const navigation = getNavigation();\n const views = shallowRef(navigation.views);\n const currentView = shallowRef(navigation.active);\n /**\n * Event listener to update the `currentView`\n * @param event The update event\n */\n function onUpdateActive(event) {\n currentView.value = event.detail;\n }\n /**\n * Event listener to update all registered views\n */\n function onUpdateViews() {\n views.value = navigation.views;\n }\n onMounted(() => {\n navigation.addEventListener('update', onUpdateViews);\n navigation.addEventListener('updateActive', onUpdateActive);\n });\n onUnmounted(() => {\n navigation.removeEventListener('update', onUpdateViews);\n navigation.removeEventListener('updateActive', onUpdateActive);\n });\n return {\n currentView,\n views,\n };\n}\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst viewConfig = loadState('files', 'viewConfigs', {});\nexport const useViewConfigStore = function (...args) {\n const store = defineStore('viewconfig', {\n state: () => ({\n viewConfig,\n }),\n getters: {\n getConfig: (state) => (view) => state.viewConfig[view] || {},\n },\n actions: {\n /**\n * Update the view config local store\n */\n onUpdate(view, key, value) {\n if (!this.viewConfig[view]) {\n Vue.set(this.viewConfig, view, {});\n }\n Vue.set(this.viewConfig[view], key, value);\n },\n /**\n * Update the view config local store AND on server side\n */\n async update(view, key, value) {\n axios.put(generateUrl(`/apps/files/api/v1/views/${view}/${key}`), {\n value,\n });\n emit('files:viewconfig:updated', { view, key, value });\n },\n /**\n * Set the sorting key AND sort by ASC\n * The key param must be a valid key of a File object\n * If not found, will be searched within the File attributes\n */\n setSortingBy(key = 'basename', view = 'files') {\n // Save new config\n this.update(view, 'sorting_mode', key);\n this.update(view, 'sorting_direction', 'asc');\n },\n /**\n * Toggle the sorting direction\n */\n toggleSortingDirection(view = 'files') {\n const config = this.getConfig(view) || { sorting_direction: 'asc' };\n const newDirection = config.sorting_direction === 'asc' ? 'desc' : 'asc';\n // Save new config\n this.update(view, 'sorting_direction', newDirection);\n },\n },\n });\n const viewConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!viewConfigStore._initialized) {\n subscribe('files:viewconfig:updated', function ({ view, key, value }) {\n viewConfigStore.onUpdate(view, key, value);\n });\n viewConfigStore._initialized = true;\n }\n return viewConfigStore;\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppNavigation',{attrs:{\"data-cy-files-navigation\":\"\",\"aria-label\":_vm.t('files', 'Files')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return _vm._l((_vm.parentViews),function(view){return _c('NcAppNavigationItem',{key:view.id,attrs:{\"allow-collapse\":true,\"data-cy-files-navigation-item\":view.id,\"exact\":_vm.useExactRouteMatching(view),\"icon\":view.iconClass,\"name\":view.name,\"open\":_vm.isExpanded(view),\"pinned\":view.sticky,\"to\":_vm.generateToNavigation(view)},on:{\"update:open\":function($event){return _vm.onToggleExpand(view)}}},[(view.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":view.icon},slot:\"icon\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.childViews[view.id]),function(child){return _c('NcAppNavigationItem',{key:child.id,attrs:{\"data-cy-files-navigation-item\":child.id,\"exact-path\":true,\"icon\":child.iconClass,\"name\":child.name,\"to\":_vm.generateToNavigation(child)}},[(child.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":child.icon},slot:\"icon\"}):_vm._e()],1)})],2)})},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NavigationQuota'),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"aria-label\":_vm.t('files', 'Open the files app settings'),\"name\":_vm.t('files', 'Files settings'),\"data-cy-files-navigation-settings-button\":\"\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openSettings.apply(null, arguments)}}},[_c('IconCog',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"})],1)],1)]},proxy:true}])},[_vm._v(\" \"),_vm._v(\" \"),_c('SettingsModal',{attrs:{\"open\":_vm.settingsOpened,\"data-cy-files-navigation-settings\":\"\"},on:{\"close\":_vm.onSettingsClose}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=7387953c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=7387953c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=7387953c&scoped=true\"\nimport script from \"./Navigation.vue?vue&type=script&lang=ts\"\nexport * from \"./Navigation.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=7387953c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7387953c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{attrs:{\"page-heading\":_vm.pageHeading,\"data-cy-files-content\":\"\"}},[_c('div',{staticClass:\"files-list__header\"},[_c('BreadCrumbs',{attrs:{\"path\":_vm.dir},on:{\"reload\":_vm.fetchContent},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [(_vm.canShare && _vm.filesListWidth >= 512)?_c('NcButton',{staticClass:\"files-list__header-share-button\",class:{ 'files-list__header-share-button--shared': _vm.shareButtonType },attrs:{\"aria-label\":_vm.shareButtonLabel,\"title\":_vm.shareButtonLabel,\"type\":\"tertiary\"},on:{\"click\":_vm.openSharingSidebar},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.shareButtonType === _vm.ShareType.Link)?_c('LinkIcon'):_c('AccountPlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,4106306959)}):_vm._e(),_vm._v(\" \"),(!_vm.canUpload || _vm.isQuotaExceeded)?_c('NcButton',{staticClass:\"files-list__header-upload-button--disabled\",attrs:{\"aria-label\":_vm.cantUploadLabel,\"title\":_vm.cantUploadLabel,\"disabled\":true,\"type\":\"secondary\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'New'))+\"\\n\\t\\t\\t\\t\")]):(_vm.currentFolder)?_c('UploadPicker',{staticClass:\"files-list__header-upload-button\",attrs:{\"content\":_vm.dirContents,\"destination\":_vm.currentFolder,\"multiple\":true},on:{\"failed\":_vm.onUploadFail,\"uploaded\":_vm.onUpload}}):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_vm.filesListWidth >= 512 && _vm.enableGridView)?_c('NcButton',{staticClass:\"files-list__header-grid-button\",attrs:{\"aria-label\":_vm.gridViewButtonLabel,\"title\":_vm.gridViewButtonLabel,\"type\":\"tertiary\"},on:{\"click\":_vm.toggleGridView},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.userConfig.grid_view)?_c('ListViewIcon'):_c('ViewGridIcon')]},proxy:true}],null,false,1682960703)}):_vm._e(),_vm._v(\" \"),(_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__refresh-icon\"}):_vm._e()],1),_vm._v(\" \"),(!_vm.loading && _vm.canUpload)?_c('DragAndDropNotice',{attrs:{\"current-folder\":_vm.currentFolder}}):_vm._e(),_vm._v(\" \"),(_vm.loading && !_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__loading-icon\",attrs:{\"size\":38,\"name\":_vm.t('files', 'Loading current folder')}}):(!_vm.loading && _vm.isEmptyDir)?_c('NcEmptyContent',{attrs:{\"name\":_vm.currentView?.emptyTitle || _vm.t('files', 'No files in here'),\"description\":_vm.currentView?.emptyCaption || _vm.t('files', 'Upload some content or sync with your devices!'),\"data-cy-files-content-empty\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function(){return [(_vm.dir !== '/')?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files', 'Go to the previous folder'),\"type\":\"primary\",\"to\":_vm.toPreviousDir}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Go back'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.currentView.icon}})]},proxy:true}])}):_c('FilesListVirtual',{ref:\"filesListVirtual\",attrs:{\"current-folder\":_vm.currentFolder,\"current-view\":_vm.currentView,\"nodes\":_vm.dirContentsSorted}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulletedSquare.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulletedSquare.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormatListBulletedSquare.vue?vue&type=template&id=00aea13f\"\nimport script from \"./FormatListBulletedSquare.vue?vue&type=script&lang=js\"\nexport * from \"./FormatListBulletedSquare.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon format-list-bulleted-square-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountPlus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountPlus.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountPlus.vue?vue&type=template&id=a16afc28\"\nimport script from \"./AccountPlus.vue?vue&type=script&lang=js\"\nexport * from \"./AccountPlus.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-plus-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ViewGrid.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ViewGrid.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./ViewGrid.vue?vue&type=template&id=7b96a104\"\nimport script from \"./ViewGrid.vue?vue&type=script&lang=js\"\nexport * from \"./ViewGrid.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon view-grid-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Permission, View, FileAction, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Open details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (nodes) => {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n if (!nodes[0]) {\n return false;\n }\n // Only work if the sidebar is available\n if (!window?.OCA?.Files?.Sidebar) {\n return false;\n }\n return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n },\n async exec(node, view, dir) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n await window.OCA.Files.Sidebar.open(node.path);\n // Silently update current fileid\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { ...window.OCP.Files.Router.query, dir }, true);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n order: -50,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { createClient, getPatcher } from 'webdav';\nimport { generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser, getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth';\nexport const rootPath = `/files/${getCurrentUser()?.uid}`;\nexport const defaultRootUrl = generateRemoteUrl('dav' + rootPath);\nexport const getClient = (rootUrl = defaultRootUrl) => {\n const client = createClient(rootUrl);\n // set CSRF token header\n const setHeaders = (token) => {\n client?.setHeaders({\n // Add this so the server knows it is an request from the browser\n 'X-Requested-With': 'XMLHttpRequest',\n // Inject user auth\n requesttoken: token ?? '',\n });\n };\n // refresh headers when request token changes\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n /**\n * Allow to override the METHOD to support dav REPORT\n *\n * @see https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/request.ts\n */\n const patcher = getPatcher();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // https://github.com/perry-mitchell/hot-patcher/issues/6\n patcher.patch('fetch', (url, options) => {\n const headers = options.headers;\n if (headers?.method) {\n options.method = headers.method;\n delete headers.method;\n }\n return fetch(url, options);\n });\n return client;\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { davGetDefaultPropfind, davResultToNode, davRootPath } from '@nextcloud/files';\nimport { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nimport logger from '../logger';\nimport Vue from 'vue';\nimport { getClient } from '../services/WebdavClient.ts';\nconst client = getClient();\nconst fetchNode = async (node) => {\n const propfindPayload = davGetDefaultPropfind();\n const result = await client.stat(`${davRootPath}${node.path}`, {\n details: true,\n data: propfindPayload,\n });\n return davResultToNode(result.data);\n};\nexport const useFilesStore = function (...args) {\n const store = defineStore('files', {\n state: () => ({\n files: {},\n roots: {},\n }),\n getters: {\n /**\n * Get a file or folder by its source\n */\n getNode: (state) => (source) => state.files[source],\n /**\n * Get a list of files or folders by their IDs\n * Note: does not return undefined values\n */\n getNodes: (state) => (sources) => sources\n .map(source => state.files[source])\n .filter(Boolean),\n /**\n * Get files or folders by their file ID\n * Multiple nodes can have the same file ID but different sources\n * (e.g. in a shared context)\n */\n getNodesById: (state) => (fileId) => Object.values(state.files).filter(node => node.fileid === fileId),\n /**\n * Get the root folder of a service\n */\n getRoot: (state) => (service) => state.roots[service],\n },\n actions: {\n updateNodes(nodes) {\n // Update the store all at once\n const files = nodes.reduce((acc, node) => {\n if (!node.fileid) {\n logger.error('Trying to update/set a node without fileid', { node });\n return acc;\n }\n acc[node.source] = node;\n return acc;\n }, {});\n Vue.set(this, 'files', { ...this.files, ...files });\n },\n deleteNodes(nodes) {\n nodes.forEach(node => {\n if (node.source) {\n Vue.delete(this.files, node.source);\n }\n });\n },\n setRoot({ service, root }) {\n Vue.set(this.roots, service, root);\n },\n onDeletedNode(node) {\n this.deleteNodes([node]);\n },\n onCreatedNode(node) {\n this.updateNodes([node]);\n },\n async onUpdatedNode(node) {\n if (!node.fileid) {\n logger.error('Trying to update/set a node without fileid', { node });\n return;\n }\n // If we have multiple nodes with the same file ID, we need to update all of them\n const nodes = this.getNodesById(node.fileid);\n if (nodes.length > 1) {\n await Promise.all(nodes.map(fetchNode)).then(this.updateNodes);\n logger.debug(nodes.length + ' nodes updated in store', { fileid: node.fileid });\n return;\n }\n // If we have only one node with the file ID, we can update it directly\n if (node.source === nodes[0].source) {\n this.updateNodes([node]);\n return;\n }\n // Otherwise, it means we receive an event for a node that is not in the store\n fetchNode(node).then(n => this.updateNodes([n]));\n },\n },\n });\n const fileStore = store(...args);\n // Make sure we only register the listeners once\n if (!fileStore._initialized) {\n subscribe('files:node:created', fileStore.onCreatedNode);\n subscribe('files:node:deleted', fileStore.onDeletedNode);\n subscribe('files:node:updated', fileStore.onUpdatedNode);\n fileStore._initialized = true;\n }\n return fileStore;\n};\n","import { defineStore } from 'pinia';\nimport { FileType, Folder, Node, getNavigation } from '@nextcloud/files';\nimport { subscribe } from '@nextcloud/event-bus';\nimport Vue from 'vue';\nimport logger from '../logger';\nimport { useFilesStore } from './files';\nexport const usePathsStore = function (...args) {\n const files = useFilesStore(...args);\n const store = defineStore('paths', {\n state: () => ({\n paths: {},\n }),\n getters: {\n getPath: (state) => {\n return (service, path) => {\n if (!state.paths[service]) {\n return undefined;\n }\n return state.paths[service][path];\n };\n },\n },\n actions: {\n addPath(payload) {\n // If it doesn't exists, init the service state\n if (!this.paths[payload.service]) {\n Vue.set(this.paths, payload.service, {});\n }\n // Now we can set the provided path\n Vue.set(this.paths[payload.service], payload.path, payload.source);\n },\n onCreatedNode(node) {\n const service = getNavigation()?.active?.id || 'files';\n if (!node.fileid) {\n logger.error('Node has no fileid', { node });\n return;\n }\n // Only add path if it's a folder\n if (node.type === FileType.Folder) {\n this.addPath({\n service,\n path: node.path,\n source: node.source,\n });\n }\n // Update parent folder children if exists\n // If the folder is the root, get it and update it\n if (node.dirname === '/') {\n const root = files.getRoot(service);\n if (!root._children) {\n Vue.set(root, '_children', []);\n }\n root._children.push(node.source);\n return;\n }\n // If the folder doesn't exists yet, it will be\n // fetched later and its children updated anyway.\n if (this.paths[service][node.dirname]) {\n const parentSource = this.paths[service][node.dirname];\n const parentFolder = files.getNode(parentSource);\n logger.debug('Path already exists, updating children', { parentFolder, node });\n if (!parentFolder) {\n logger.error('Parent folder not found', { parentSource });\n return;\n }\n if (!parentFolder._children) {\n Vue.set(parentFolder, '_children', []);\n }\n parentFolder._children.push(node.source);\n return;\n }\n logger.debug('Parent path does not exists, skipping children update', { node });\n },\n },\n });\n const pathsStore = store(...args);\n // Make sure we only register the listeners once\n if (!pathsStore._initialized) {\n // TODO: watch folders to update paths?\n subscribe('files:node:created', pathsStore.onCreatedNode);\n // subscribe('files:node:deleted', pathsStore.onDeletedNode)\n // subscribe('files:node:moved', pathsStore.onMovedNode)\n pathsStore._initialized = true;\n }\n return pathsStore;\n};\n","import { defineStore } from 'pinia';\nimport Vue from 'vue';\nexport const useSelectionStore = defineStore('selection', {\n state: () => ({\n selected: [],\n lastSelection: [],\n lastSelectedIndex: null,\n }),\n actions: {\n /**\n * Set the selection of fileIds\n */\n set(selection = []) {\n Vue.set(this, 'selected', [...new Set(selection)]);\n },\n /**\n * Set the last selected index\n */\n setLastIndex(lastSelectedIndex = null) {\n // Update the last selection if we provided a new selection starting point\n Vue.set(this, 'lastSelection', lastSelectedIndex ? this.selected : []);\n Vue.set(this, 'lastSelectedIndex', lastSelectedIndex);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'selected', []);\n Vue.set(this, 'lastSelection', []);\n Vue.set(this, 'lastSelectedIndex', null);\n },\n },\n});\n","import { defineStore } from 'pinia';\nimport { getUploader } from '@nextcloud/upload';\nlet uploader;\nexport const useUploaderStore = function (...args) {\n // Only init on runtime\n uploader = getUploader();\n const store = defineStore('uploader', {\n state: () => ({\n queue: uploader.queue,\n }),\n });\n return store(...args);\n};\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCanonicalLocale, getLanguage } from '@nextcloud/l10n';\n/**\n * Helper to create string representation\n * @param value Value to stringify\n */\nfunction stringify(value) {\n // The default representation of Date is not sortable because of the weekday names in front of it\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\n/**\n * Natural order a collection\n * You can define identifiers as callback functions, that get the element and return the value to sort.\n *\n * @param collection The collection to order\n * @param identifiers An array of identifiers to use, by default the identity of the element is used\n * @param orders Array of orders, by default all identifiers are sorted ascening\n */\nexport function orderBy(collection, identifiers, orders) {\n // If not identifiers are set we use the identity of the value\n identifiers = identifiers ?? [(value) => value];\n // By default sort the collection ascending\n orders = orders ?? [];\n const sorting = identifiers.map((_, index) => (orders[index] ?? 'asc') === 'asc' ? 1 : -1);\n const collator = Intl.Collator([getLanguage(), getCanonicalLocale()], {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: 'sort',\n });\n return [...collection].sort((a, b) => {\n for (const [index, identifier] of identifiers.entries()) {\n // Get the local compare of stringified value a and b\n const value = collator.compare(stringify(identifier(a)), stringify(identifier(b)));\n // If they do not match return the order\n if (value !== 0) {\n return value * sorting[index];\n }\n // If they match we need to continue with the next identifier\n }\n // If all are equal we need to return equality\n return 0;\n });\n}\n","import { emit } from '@nextcloud/event-bus';\nimport { Folder, Node, davGetClient, davGetDefaultPropfind, davResultToNode } from '@nextcloud/files';\nimport { openConflictPicker } from '@nextcloud/upload';\nimport { showError, showInfo } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport logger from '../logger.js';\n/**\n * This represents a Directory in the file tree\n * We extend the File class to better handling uploading\n * and stay as close as possible as the Filesystem API.\n * This also allow us to hijack the size or lastModified\n * properties to compute them dynamically.\n */\nexport class Directory extends File {\n /* eslint-disable no-use-before-define */\n _contents;\n constructor(name, contents = []) {\n super([], name, { type: 'httpd/unix-directory' });\n this._contents = contents;\n }\n set contents(contents) {\n this._contents = contents;\n }\n get contents() {\n return this._contents;\n }\n get size() {\n return this._computeDirectorySize(this);\n }\n get lastModified() {\n if (this._contents.length === 0) {\n return Date.now();\n }\n return this._computeDirectoryMtime(this);\n }\n /**\n * Get the last modification time of a file tree\n * This is not perfect, but will get us a pretty good approximation\n * @param directory the directory to traverse\n */\n _computeDirectoryMtime(directory) {\n return directory.contents.reduce((acc, file) => {\n return file.lastModified > acc\n // If the file is a directory, the lastModified will\n // also return the results of its _computeDirectoryMtime method\n // Fancy recursion, huh?\n ? file.lastModified\n : acc;\n }, 0);\n }\n /**\n * Get the size of a file tree\n * @param directory the directory to traverse\n */\n _computeDirectorySize(directory) {\n return directory.contents.reduce((acc, entry) => {\n // If the file is a directory, the size will\n // also return the results of its _computeDirectorySize method\n // Fancy recursion, huh?\n return acc + entry.size;\n }, 0);\n }\n}\n/**\n * Traverse a file tree using the Filesystem API\n * @param entry the entry to traverse\n */\nexport const traverseTree = async (entry) => {\n // Handle file\n if (entry.isFile) {\n return new Promise((resolve, reject) => {\n entry.file(resolve, reject);\n });\n }\n // Handle directory\n logger.debug('Handling recursive file tree', { entry: entry.name });\n const directory = entry;\n const entries = await readDirectory(directory);\n const contents = (await Promise.all(entries.map(traverseTree))).flat();\n return new Directory(directory.name, contents);\n};\n/**\n * Read a directory using Filesystem API\n * @param directory the directory to read\n */\nconst readDirectory = (directory) => {\n const dirReader = directory.createReader();\n return new Promise((resolve, reject) => {\n const entries = [];\n const getEntries = () => {\n dirReader.readEntries((results) => {\n if (results.length) {\n entries.push(...results);\n getEntries();\n }\n else {\n resolve(entries);\n }\n }, (error) => {\n reject(error);\n });\n };\n getEntries();\n });\n};\nexport const createDirectoryIfNotExists = async (absolutePath) => {\n const davClient = davGetClient();\n const dirExists = await davClient.exists(absolutePath);\n if (!dirExists) {\n logger.debug('Directory does not exist, creating it', { absolutePath });\n await davClient.createDirectory(absolutePath, { recursive: true });\n const stat = await davClient.stat(absolutePath, { details: true, data: davGetDefaultPropfind() });\n emit('files:node:created', davResultToNode(stat.data));\n }\n};\nexport const resolveConflict = async (files, destination, contents) => {\n try {\n // List all conflicting files\n const conflicts = files.filter((file) => {\n return contents.find((node) => node.basename === (file instanceof File ? file.name : file.basename));\n }).filter(Boolean);\n // List of incoming files that are NOT in conflict\n const uploads = files.filter((file) => {\n return !conflicts.includes(file);\n });\n // Let the user choose what to do with the conflicting files\n const { selected, renamed } = await openConflictPicker(destination.path, conflicts, contents);\n logger.debug('Conflict resolution', { uploads, selected, renamed });\n // If the user selected nothing, we cancel the upload\n if (selected.length === 0 && renamed.length === 0) {\n // User skipped\n showInfo(t('files', 'Conflicts resolution skipped'));\n logger.info('User skipped the conflict resolution');\n return [];\n }\n // Update the list of files to upload\n return [...uploads, ...selected, ...renamed];\n }\n catch (error) {\n console.error(error);\n // User cancelled\n showError(t('files', 'Upload cancelled'));\n logger.error('User cancelled the upload');\n }\n return [];\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\nimport { Permission } from '@nextcloud/files';\nimport PQueue from 'p-queue';\n// This is the processing queue. We only want to allow 3 concurrent requests\nlet queue;\n// Maximum number of concurrent operations\nconst MAX_CONCURRENCY = 5;\n/**\n * Get the processing queue\n */\nexport const getQueue = () => {\n if (!queue) {\n queue = new PQueue({ concurrency: MAX_CONCURRENCY });\n }\n return queue;\n};\nexport var MoveCopyAction;\n(function (MoveCopyAction) {\n MoveCopyAction[\"MOVE\"] = \"Move\";\n MoveCopyAction[\"COPY\"] = \"Copy\";\n MoveCopyAction[\"MOVE_OR_COPY\"] = \"move-or-copy\";\n})(MoveCopyAction || (MoveCopyAction = {}));\nexport const canMove = (nodes) => {\n const minPermission = nodes.reduce((min, node) => Math.min(min, node.permissions), Permission.ALL);\n return (minPermission & Permission.UPDATE) !== 0;\n};\nexport const canDownload = (nodes) => {\n return nodes.every(node => {\n const shareAttributes = JSON.parse(node.attributes?.['share-attributes'] ?? '[]');\n return !shareAttributes.some(attribute => attribute.scope === 'permissions' && attribute.enabled === false && attribute.key === 'download');\n });\n};\nexport const canCopy = (nodes) => {\n // a shared file cannot be copied if the download is disabled\n // it can be copied if the user has at least read permissions\n return canDownload(nodes)\n && !nodes.some(node => node.permissions === Permission.NONE);\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport const hashCode = function (str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash + str.charCodeAt(i)) | 0;\n }\n return (hash >>> 0);\n};\n","import { CancelablePromise } from 'cancelable-promise';\nimport { File, Folder, davParsePermissions, davGetDefaultPropfind } from '@nextcloud/files';\nimport { generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { getClient, rootPath } from './WebdavClient';\nimport { hashCode } from '../utils/hashUtils';\nimport logger from '../logger';\nconst client = getClient();\nexport const resultToNode = function (node) {\n const userId = getCurrentUser()?.uid;\n if (!userId) {\n throw new Error('No user id found');\n }\n const props = node.props;\n const permissions = davParsePermissions(props?.permissions);\n const owner = String(props['owner-id'] || userId);\n const source = generateRemoteUrl('dav' + rootPath + node.filename);\n const id = props?.fileid < 0\n ? hashCode(source)\n : props?.fileid || 0;\n const nodeData = {\n id,\n source,\n mtime: new Date(node.lastmod),\n mime: node.mime || 'application/octet-stream',\n size: props?.size || 0,\n permissions,\n owner,\n root: rootPath,\n attributes: {\n ...node,\n ...props,\n 'owner-id': owner,\n 'owner-display-name': String(props['owner-display-name']),\n hasPreview: !!props?.['has-preview'],\n failed: props?.fileid < 0,\n },\n };\n delete nodeData.attributes.props;\n return node.type === 'file'\n ? new File(nodeData)\n : new Folder(nodeData);\n};\nexport const getContents = (path = '/') => {\n const controller = new AbortController();\n const propfindPayload = davGetDefaultPropfind();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const contentsResponse = await client.getDirectoryContents(path, {\n details: true,\n data: propfindPayload,\n includeSelf: true,\n signal: controller.signal,\n });\n const root = contentsResponse.data[0];\n const contents = contentsResponse.data.slice(1);\n if (root.filename !== path) {\n throw new Error('Root node does not match requested path');\n }\n resolve({\n folder: resultToNode(root),\n contents: contents.map(result => {\n try {\n return resultToNode(result);\n }\n catch (error) {\n logger.error(`Invalid node detected '${result.basename}'`, { error });\n return null;\n }\n }).filter(Boolean),\n });\n }\n catch (error) {\n reject(error);\n }\n });\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\n// eslint-disable-next-line n/no-extraneous-import\nimport { AxiosError } from 'axios';\nimport { basename, join } from 'path';\nimport { emit } from '@nextcloud/event-bus';\nimport { FilePickerClosed, getFilePickerBuilder, showError } from '@nextcloud/dialogs';\nimport { FileAction, FileType, NodeStatus, davGetClient, davRootPath, davResultToNode, davGetDefaultPropfind, getUniqueName } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { openConflictPicker, hasConflict } from '@nextcloud/upload';\nimport Vue from 'vue';\nimport CopyIconSvg from '@mdi/svg/svg/folder-multiple.svg?raw';\nimport FolderMoveSvg from '@mdi/svg/svg/folder-move.svg?raw';\nimport { MoveCopyAction, canCopy, canMove, getQueue } from './moveOrCopyActionUtils';\nimport { getContents } from '../services/Files';\nimport logger from '../logger';\n/**\n * Return the action that is possible for the given nodes\n * @param {Node[]} nodes The nodes to check against\n * @return {MoveCopyAction} The action that is possible for the given nodes\n */\nconst getActionForNodes = (nodes) => {\n if (canMove(nodes)) {\n if (canCopy(nodes)) {\n return MoveCopyAction.MOVE_OR_COPY;\n }\n return MoveCopyAction.MOVE;\n }\n // Assuming we can copy as the enabled checks for copy permissions\n return MoveCopyAction.COPY;\n};\n/**\n * Handle the copy/move of a node to a destination\n * This can be imported and used by other scripts/components on server\n * @param {Node} node The node to copy/move\n * @param {Folder} destination The destination to copy/move the node to\n * @param {MoveCopyAction} method The method to use for the copy/move\n * @param {boolean} overwrite Whether to overwrite the destination if it exists\n * @return {Promise} A promise that resolves when the copy/move is done\n */\nexport const handleCopyMoveNodeTo = async (node, destination, method, overwrite = false) => {\n if (!destination) {\n return;\n }\n if (destination.type !== FileType.Folder) {\n throw new Error(t('files', 'Destination is not a folder'));\n }\n // Do not allow to MOVE a node to the same folder it is already located\n if (method === MoveCopyAction.MOVE && node.dirname === destination.path) {\n throw new Error(t('files', 'This file/folder is already in that directory'));\n }\n /**\n * Example:\n * - node: /foo/bar/file.txt -> path = /foo/bar/file.txt, destination: /foo\n * Allow move of /foo does not start with /foo/bar/file.txt so allow\n * - node: /foo , destination: /foo/bar\n * Do not allow as it would copy foo within itself\n * - node: /foo/bar.txt, destination: /foo\n * Allow copy a file to the same directory\n * - node: \"/foo/bar\", destination: \"/foo/bar 1\"\n * Allow to move or copy but we need to check with trailing / otherwise it would report false positive\n */\n if (`${destination.path}/`.startsWith(`${node.path}/`)) {\n throw new Error(t('files', 'You cannot move a file/folder onto itself or into a subfolder of itself'));\n }\n // Set loading state\n Vue.set(node, 'status', NodeStatus.LOADING);\n const queue = getQueue();\n return await queue.add(async () => {\n const copySuffix = (index) => {\n if (index === 1) {\n return t('files', '(copy)'); // TRANSLATORS: Mark a file as a copy of another file\n }\n return t('files', '(copy %n)', undefined, index); // TRANSLATORS: Meaning it is the n'th copy of a file\n };\n try {\n const client = davGetClient();\n const currentPath = join(davRootPath, node.path);\n const destinationPath = join(davRootPath, destination.path);\n if (method === MoveCopyAction.COPY) {\n let target = node.basename;\n // If we do not allow overwriting then find an unique name\n if (!overwrite) {\n const otherNodes = await client.getDirectoryContents(destinationPath);\n target = getUniqueName(node.basename, otherNodes.map((n) => n.basename), {\n suffix: copySuffix,\n ignoreFileExtension: node.type === FileType.Folder,\n });\n }\n await client.copyFile(currentPath, join(destinationPath, target));\n // If the node is copied into current directory the view needs to be updated\n if (node.dirname === destination.path) {\n const { data } = await client.stat(join(destinationPath, target), {\n details: true,\n data: davGetDefaultPropfind(),\n });\n emit('files:node:created', davResultToNode(data));\n }\n }\n else {\n // show conflict file popup if we do not allow overwriting\n const otherNodes = await getContents(destination.path);\n if (hasConflict([node], otherNodes.contents)) {\n try {\n // Let the user choose what to do with the conflicting files\n const { selected, renamed } = await openConflictPicker(destination.path, [node], otherNodes.contents);\n // two empty arrays: either only old files or conflict skipped -> no action required\n if (!selected.length && !renamed.length) {\n return;\n }\n }\n catch (error) {\n // User cancelled\n showError(t('files', 'Move cancelled'));\n return;\n }\n }\n // getting here means either no conflict, file was renamed to keep both files\n // in a conflict, or the selected file was chosen to be kept during the conflict\n await client.moveFile(currentPath, join(destinationPath, node.basename));\n // Delete the node as it will be fetched again\n // when navigating to the destination folder\n emit('files:node:deleted', node);\n }\n }\n catch (error) {\n if (error instanceof AxiosError) {\n if (error?.response?.status === 412) {\n throw new Error(t('files', 'A file or folder with that name already exists in this folder'));\n }\n else if (error?.response?.status === 423) {\n throw new Error(t('files', 'The files are locked'));\n }\n else if (error?.response?.status === 404) {\n throw new Error(t('files', 'The file does not exist anymore'));\n }\n else if (error.message) {\n throw new Error(error.message);\n }\n }\n logger.debug(error);\n throw new Error();\n }\n finally {\n Vue.set(node, 'status', undefined);\n }\n });\n};\n/**\n * Open a file picker for the given action\n * @param {MoveCopyAction} action The action to open the file picker for\n * @param {string} dir The directory to start the file picker in\n * @param {Node[]} nodes The nodes to move/copy\n * @return {Promise} The picked destination\n */\nconst openFilePickerForAction = async (action, dir = '/', nodes) => {\n const fileIDs = nodes.map(node => node.fileid).filter(Boolean);\n const filePicker = getFilePickerBuilder(t('files', 'Choose destination'))\n .allowDirectories(true)\n .setFilter((n) => {\n // We don't want to show the current nodes in the file picker\n return !fileIDs.includes(n.fileid);\n })\n .setMimeTypeFilter([])\n .setMultiSelect(false)\n .startAt(dir);\n return new Promise((resolve, reject) => {\n filePicker.setButtonFactory((selection, path) => {\n const buttons = [];\n const target = basename(path);\n const dirnames = nodes.map(node => node.dirname);\n const paths = nodes.map(node => node.path);\n if (action === MoveCopyAction.COPY || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Copy to {target}', { target }, undefined, { escape: false, sanitize: false }) : t('files', 'Copy'),\n type: 'primary',\n icon: CopyIconSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.COPY,\n });\n },\n });\n }\n // Invalid MOVE targets (but valid copy targets)\n if (dirnames.includes(path)) {\n // This file/folder is already in that directory\n return buttons;\n }\n if (paths.includes(path)) {\n // You cannot move a file/folder onto itself\n return buttons;\n }\n if (action === MoveCopyAction.MOVE || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Move to {target}', { target }, undefined, { escape: false, sanitize: false }) : t('files', 'Move'),\n type: action === MoveCopyAction.MOVE ? 'primary' : 'secondary',\n icon: FolderMoveSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.MOVE,\n });\n },\n });\n }\n return buttons;\n });\n const picker = filePicker.build();\n picker.pick().catch((error) => {\n logger.debug(error);\n if (error instanceof FilePickerClosed) {\n reject(new Error(t('files', 'Cancelled move or copy operation')));\n }\n else {\n reject(new Error(t('files', 'Move or copy operation failed')));\n }\n });\n });\n};\nexport const action = new FileAction({\n id: 'move-copy',\n displayName(nodes) {\n switch (getActionForNodes(nodes)) {\n case MoveCopyAction.MOVE:\n return t('files', 'Move');\n case MoveCopyAction.COPY:\n return t('files', 'Copy');\n case MoveCopyAction.MOVE_OR_COPY:\n return t('files', 'Move or copy');\n }\n },\n iconSvgInline: () => FolderMoveSvg,\n enabled(nodes) {\n // We only support moving/copying files within the user folder\n if (!nodes.every(node => node.root?.startsWith('/files/'))) {\n return false;\n }\n return nodes.length > 0 && (canMove(nodes) || canCopy(nodes));\n },\n async exec(node, view, dir) {\n const action = getActionForNodes([node]);\n let result;\n try {\n result = await openFilePickerForAction(action, dir, [node]);\n }\n catch (e) {\n logger.error(e);\n return false;\n }\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n if (error instanceof Error && !!error.message) {\n showError(error.message);\n // Silent action as we handle the toast\n return null;\n }\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n const action = getActionForNodes(nodes);\n const result = await openFilePickerForAction(action, dir, nodes);\n const promises = nodes.map(async (node) => {\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n logger.error(`Failed to ${result.action} node`, { node, error });\n return false;\n }\n });\n // We need to keep the selection on error!\n // So we do not return null, and for batch action\n // we let the front handle the error.\n return await Promise.all(promises);\n },\n order: 15,\n});\n","/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Folder, Node, NodeStatus, davRootPath } from '@nextcloud/files';\nimport { getUploader, hasConflict } from '@nextcloud/upload';\nimport { join } from 'path';\nimport { joinPaths } from '@nextcloud/paths';\nimport { showError, showInfo, showSuccess, showWarning } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport Vue from 'vue';\nimport { Directory, traverseTree, resolveConflict, createDirectoryIfNotExists } from './DropServiceUtils';\nimport { handleCopyMoveNodeTo } from '../actions/moveOrCopyAction';\nimport { MoveCopyAction } from '../actions/moveOrCopyActionUtils';\nimport logger from '../logger.js';\n/**\n * This function converts a list of DataTransferItems to a file tree.\n * It uses the Filesystem API if available, otherwise it falls back to the File API.\n * The File API will NOT be available if the browser is not in a secure context (e.g. HTTP).\n * ⚠️ When using this method, you need to use it as fast as possible, as the DataTransferItems\n * will be cleared after the first access to the props of one of the entries.\n *\n * @param items the list of DataTransferItems\n */\nexport const dataTransferToFileTree = async (items) => {\n // Check if the browser supports the Filesystem API\n // We need to cache the entries to prevent Blink engine bug that clears\n // the list (`data.items`) after first access props of one of the entries\n const entries = items\n .filter((item) => {\n if (item.kind !== 'file') {\n logger.debug('Skipping dropped item', { kind: item.kind, type: item.type });\n return false;\n }\n return true;\n }).map((item) => {\n // MDN recommends to try both, as it might be renamed in the future\n return item?.getAsEntry?.()\n ?? item?.webkitGetAsEntry?.()\n ?? item;\n });\n let warned = false;\n const fileTree = new Directory('root');\n // Traverse the file tree\n for (const entry of entries) {\n // Handle browser issues if Filesystem API is not available. Fallback to File API\n if (entry instanceof DataTransferItem) {\n logger.warn('Could not get FilesystemEntry of item, falling back to file');\n const file = entry.getAsFile();\n if (file === null) {\n logger.warn('Could not process DataTransferItem', { type: entry.type, kind: entry.kind });\n showError(t('files', 'One of the dropped files could not be processed'));\n continue;\n }\n // Warn the user that the browser does not support the Filesystem API\n // we therefore cannot upload directories recursively.\n if (file.type === 'httpd/unix-directory' || !file.type) {\n if (!warned) {\n logger.warn('Browser does not support Filesystem API. Directories will not be uploaded');\n showWarning(t('files', 'Your browser does not support the Filesystem API. Directories will not be uploaded'));\n warned = true;\n }\n continue;\n }\n fileTree.contents.push(file);\n continue;\n }\n // Use Filesystem API\n try {\n fileTree.contents.push(await traverseTree(entry));\n }\n catch (error) {\n // Do not throw, as we want to continue with the other files\n logger.error('Error while traversing file tree', { error });\n }\n }\n return fileTree;\n};\nexport const onDropExternalFiles = async (root, destination, contents) => {\n const uploader = getUploader();\n // Check for conflicts on root elements\n if (await hasConflict(root.contents, contents)) {\n root.contents = await resolveConflict(root.contents, destination, contents);\n }\n if (root.contents.length === 0) {\n logger.info('No files to upload', { root });\n showInfo(t('files', 'No files to upload'));\n return [];\n }\n // Let's process the files\n logger.debug(`Uploading files to ${destination.path}`, { root, contents: root.contents });\n const queue = [];\n const uploadDirectoryContents = async (directory, path) => {\n for (const file of directory.contents) {\n // This is the relative path to the resource\n // from the current uploader destination\n const relativePath = join(path, file.name);\n // If the file is a directory, we need to create it first\n // then browse its tree and upload its contents.\n if (file instanceof Directory) {\n const absolutePath = joinPaths(davRootPath, destination.path, relativePath);\n try {\n console.debug('Processing directory', { relativePath });\n await createDirectoryIfNotExists(absolutePath);\n await uploadDirectoryContents(file, relativePath);\n }\n catch (error) {\n showError(t('files', 'Unable to create the directory {directory}', { directory: file.name }));\n logger.error('', { error, absolutePath, directory: file });\n }\n continue;\n }\n // If we've reached a file, we can upload it\n logger.debug('Uploading file to ' + join(destination.path, relativePath), { file });\n // Overriding the root to avoid changing the current uploader context\n queue.push(uploader.upload(relativePath, file, destination.source));\n }\n };\n // Pause the uploader to prevent it from starting\n // while we compute the queue\n uploader.pause();\n // Upload the files. Using '/' as the starting point\n // as we already adjusted the uploader destination\n await uploadDirectoryContents(root, '/');\n uploader.start();\n // Wait for all promises to settle\n const results = await Promise.allSettled(queue);\n // Check for errors\n const errors = results.filter(result => result.status === 'rejected');\n if (errors.length > 0) {\n logger.error('Error while uploading files', { errors });\n showError(t('files', 'Some files could not be uploaded'));\n return [];\n }\n logger.debug('Files uploaded successfully');\n showSuccess(t('files', 'Files uploaded successfully'));\n return Promise.all(queue);\n};\nexport const onDropInternalFiles = async (nodes, destination, contents, isCopy = false) => {\n const queue = [];\n // Check for conflicts on root elements\n if (await hasConflict(nodes, contents)) {\n nodes = await resolveConflict(nodes, destination, contents);\n }\n if (nodes.length === 0) {\n logger.info('No files to process', { nodes });\n showInfo(t('files', 'No files to process'));\n return;\n }\n for (const node of nodes) {\n Vue.set(node, 'status', NodeStatus.LOADING);\n // TODO: resolve potential conflicts prior and force overwrite\n queue.push(handleCopyMoveNodeTo(node, destination, isCopy ? MoveCopyAction.COPY : MoveCopyAction.MOVE));\n }\n // Wait for all promises to settle\n const results = await Promise.allSettled(queue);\n nodes.forEach(node => Vue.set(node, 'status', undefined));\n // Check for errors\n const errors = results.filter(result => result.status === 'rejected');\n if (errors.length > 0) {\n logger.error('Error while copying or moving files', { errors });\n showError(isCopy ? t('files', 'Some files could not be copied') : t('files', 'Some files could not be moved'));\n return;\n }\n logger.debug('Files copy/move successful');\n showSuccess(isCopy ? t('files', 'Files copied successfully') : t('files', 'Files moved successfully'));\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nexport const useDragAndDropStore = defineStore('dragging', {\n state: () => ({\n dragging: [],\n }),\n actions: {\n /**\n * Set the selection of fileIds\n */\n set(selection = []) {\n Vue.set(this, 'dragging', selection);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'dragging', []);\n },\n },\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nexport default Vue.extend({\n data() {\n return {\n filesListWidth: null,\n };\n },\n mounted() {\n const fileListEl = document.querySelector('#app-content-vue');\n this.filesListWidth = fileListEl?.clientWidth ?? null;\n this.$resizeObserver = new ResizeObserver((entries) => {\n if (entries.length > 0 && entries[0].target === fileListEl) {\n this.filesListWidth = entries[0].contentRect.width;\n }\n });\n this.$resizeObserver.observe(fileListEl);\n },\n beforeDestroy() {\n this.$resizeObserver.disconnect();\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcBreadcrumbs',{staticClass:\"files-list__breadcrumbs\",class:{ 'files-list__breadcrumbs--with-progress': _vm.wrapUploadProgressBar },attrs:{\"data-cy-files-content-breadcrumbs\":\"\",\"aria-label\":_vm.t('files', 'Current directory path')},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_vm._t(\"actions\")]},proxy:true}],null,true)},_vm._l((_vm.sections),function(section,index){return _c('NcBreadcrumb',_vm._b({key:section.dir,attrs:{\"dir\":\"auto\",\"to\":section.to,\"force-icon-text\":index === 0 && _vm.filesListWidth >= 486,\"title\":_vm.titleForSection(index, section),\"aria-description\":_vm.ariaForSection(section)},on:{\"drop\":function($event){return _vm.onDrop($event, section.dir)}},nativeOn:{\"click\":function($event){return _vm.onClick(section.to)},\"dragover\":function($event){return _vm.onDragOver($event, section.dir)}},scopedSlots:_vm._u([(index === 0)?{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"size\":20,\"svg\":_vm.viewIcon}})]},proxy:true}:null],null,true)},'NcBreadcrumb',section,false))}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=77111ada&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=77111ada&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./BreadCrumbs.vue?vue&type=template&id=77111ada&scoped=true\"\nimport script from \"./BreadCrumbs.vue?vue&type=script&lang=ts\"\nexport * from \"./BreadCrumbs.vue?vue&type=script&lang=ts\"\nimport style0 from \"./BreadCrumbs.vue?vue&type=style&index=0&id=77111ada&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"77111ada\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { FileType } from '@nextcloud/files';\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n';\n/**\n * Extract dir and name from file path\n *\n * @param {string} path the full path\n * @return {string[]} [dirPath, fileName]\n */\nexport const extractFilePaths = function (path) {\n const pathSections = path.split('/');\n const fileName = pathSections[pathSections.length - 1];\n const dirPath = pathSections.slice(0, pathSections.length - 1).join('/');\n return [dirPath, fileName];\n};\n/**\n * Generate a translated summary of an array of nodes\n * @param {Node[]} nodes the nodes to summarize\n * @return {string}\n */\nexport const getSummaryFor = (nodes) => {\n const fileCount = nodes.filter(node => node.type === FileType.File).length;\n const folderCount = nodes.filter(node => node.type === FileType.Folder).length;\n if (fileCount === 0) {\n return n('files', '{folderCount} folder', '{folderCount} folders', folderCount, { folderCount });\n }\n else if (folderCount === 0) {\n return n('files', '{fileCount} file', '{fileCount} files', fileCount, { fileCount });\n }\n if (fileCount === 1) {\n return n('files', '1 file and {folderCount} folder', '1 file and {folderCount} folders', folderCount, { folderCount });\n }\n if (folderCount === 1) {\n return n('files', '{fileCount} file and 1 folder', '{fileCount} files and 1 folder', fileCount, { fileCount });\n }\n return t('files', '{fileCount} files and {folderCount} folders', { fileCount, folderCount });\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',_vm._g({staticClass:\"files-list__row\",class:{\n\t\t'files-list__row--dragover': _vm.dragover,\n\t\t'files-list__row--loading': _vm.isLoading,\n\t\t'files-list__row--active': _vm.isActive,\n\t},attrs:{\"data-cy-files-list-row\":\"\",\"data-cy-files-list-row-fileid\":_vm.fileid,\"data-cy-files-list-row-name\":_vm.source.basename,\"draggable\":_vm.canDrag}},_vm.rowListeners),[(_vm.source.attributes.failed)?_c('span',{staticClass:\"files-list__row--failed\"}):_vm._e(),_vm._v(\" \"),_c('FileEntryCheckbox',{attrs:{\"fileid\":_vm.fileid,\"is-loading\":_vm.isLoading,\"nodes\":_vm.nodes,\"source\":_vm.source}}),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\",attrs:{\"data-cy-files-list-row-name\":\"\"}},[_c('FileEntryPreview',{ref:\"preview\",attrs:{\"source\":_vm.source,\"dragover\":_vm.dragover},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}}),_vm._v(\" \"),_c('FileEntryName',{ref:\"name\",attrs:{\"display-name\":_vm.displayName,\"extension\":_vm.extension,\"files-list-width\":_vm.filesListWidth,\"nodes\":_vm.nodes,\"source\":_vm.source},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}})],1),_vm._v(\" \"),_c('FileEntryActions',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isRenamingSmallScreen),expression:\"!isRenamingSmallScreen\"}],ref:\"actions\",class:`files-list__row-actions-${_vm.uniqueId}`,attrs:{\"files-list-width\":_vm.filesListWidth,\"loading\":_vm.loading,\"opened\":_vm.openedMenu,\"source\":_vm.source},on:{\"update:loading\":function($event){_vm.loading=$event},\"update:opened\":function($event){_vm.openedMenu=$event}}}),_vm._v(\" \"),(!_vm.compact && _vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__row-size\",style:(_vm.sizeOpacity),attrs:{\"data-cy-files-list-row-size\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('span',[_vm._v(_vm._s(_vm.size))])]):_vm._e(),_vm._v(\" \"),(!_vm.compact && _vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__row-mtime\",style:(_vm.mtimeOpacity),attrs:{\"data-cy-files-list-row-mtime\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[(_vm.source.mtime)?_c('NcDateTime',{attrs:{\"timestamp\":_vm.source.mtime,\"ignore-seconds\":true}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('td',{key:column.id,staticClass:\"files-list__row-column-custom\",class:`files-list__row-${_vm.currentView?.id}-${column.id}`,attrs:{\"data-cy-files-list-row-column-custom\":column.id},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('CustomElementRender',{attrs:{\"current-view\":_vm.currentView,\"render\":column.render,\"source\":_vm.source}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nexport const useActionsMenuStore = defineStore('actionsmenu', {\n state: () => ({\n opened: null,\n }),\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nexport const useRenamingStore = function (...args) {\n const store = defineStore('renaming', {\n state: () => ({\n renamingNode: undefined,\n newName: '',\n }),\n });\n const renamingStore = store(...args);\n // Make sure we only register the listeners once\n if (!renamingStore._initialized) {\n subscribe('files:node:rename', function (node) {\n renamingStore.renamingNode = node;\n renamingStore.newName = node.basename;\n });\n renamingStore._initialized = true;\n }\n return renamingStore;\n};\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileMultiple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileMultiple.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileMultiple.vue?vue&type=template&id=27b46e04\"\nimport script from \"./FileMultiple.vue?vue&type=script&lang=js\"\nexport * from \"./FileMultiple.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-multiple-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list-drag-image\"},[_c('span',{staticClass:\"files-list-drag-image__icon\"},[_c('span',{ref:\"previewImg\"}),_vm._v(\" \"),(_vm.isSingleFolder)?_c('FolderIcon'):_c('FileMultipleIcon')],1),_vm._v(\" \"),_c('span',{staticClass:\"files-list-drag-image__name\"},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=style&index=0&id=b63e55d4&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=style&index=0&id=b63e55d4&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DragAndDropPreview.vue?vue&type=template&id=b63e55d4\"\nimport script from \"./DragAndDropPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./DragAndDropPreview.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DragAndDropPreview.vue?vue&type=style&index=0&id=b63e55d4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DragAndDropPreview from '../components/DragAndDropPreview.vue';\nimport Vue from 'vue';\nconst Preview = Vue.extend(DragAndDropPreview);\nlet preview;\nexport const getDragAndDropPreview = async (nodes) => {\n return new Promise((resolve) => {\n if (!preview) {\n preview = new Preview().$mount();\n document.body.appendChild(preview.$el);\n }\n preview.update(nodes);\n preview.$on('loaded', () => {\n resolve(preview.$el);\n preview.$off('loaded');\n });\n });\n};\n","/**\n * @copyright Copyright (c) 2024 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { showError } from '@nextcloud/dialogs';\nimport { FileType, Permission, Folder, File as NcFile, NodeStatus, Node, View } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { generateUrl } from '@nextcloud/router';\nimport { vOnClickOutside } from '@vueuse/components';\nimport { extname } from 'path';\nimport Vue, { defineComponent } from 'vue';\nimport { action as sidebarAction } from '../actions/sidebarAction.ts';\nimport { getDragAndDropPreview } from '../utils/dragUtils.ts';\nimport { hashCode } from '../utils/hashUtils.ts';\nimport { dataTransferToFileTree, onDropExternalFiles, onDropInternalFiles } from '../services/DropService.ts';\nimport logger from '../logger.js';\nimport FileEntryActions from '../components/FileEntry/FileEntryActions.vue';\nVue.directive('onClickOutside', vOnClickOutside);\nexport default defineComponent({\n props: {\n source: {\n type: [Folder, NcFile, Node],\n required: true,\n },\n nodes: {\n type: Array,\n required: true,\n },\n filesListWidth: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n loading: '',\n dragover: false,\n gridMode: false,\n };\n },\n computed: {\n currentDir() {\n // Remove any trailing slash but leave root slash\n return (this.$route?.query?.dir?.toString() || '/').replace(/^(.+)\\/$/, '$1');\n },\n currentFileId() {\n return this.$route.params?.fileid || this.$route.query?.fileid || null;\n },\n fileid() {\n return this.source?.fileid;\n },\n uniqueId() {\n return hashCode(this.source.source);\n },\n isLoading() {\n return this.source.status === NodeStatus.LOADING;\n },\n extension() {\n if (this.source.attributes?.displayname) {\n return extname(this.source.attributes.displayname);\n }\n return this.source.extension || '';\n },\n displayName() {\n const ext = this.extension;\n const name = String(this.source.attributes.displayname || this.source.basename);\n // Strip extension from name if defined\n return !ext ? name : name.slice(0, 0 - ext.length);\n },\n draggingFiles() {\n return this.draggingStore.dragging;\n },\n selectedFiles() {\n return this.selectionStore.selected;\n },\n isSelected() {\n return this.selectedFiles.includes(this.source.source);\n },\n isRenaming() {\n return this.renamingStore.renamingNode === this.source;\n },\n isRenamingSmallScreen() {\n return this.isRenaming && this.filesListWidth < 512;\n },\n isActive() {\n return String(this.fileid) === String(this.currentFileId);\n },\n canDrag() {\n if (this.isRenaming) {\n return false;\n }\n const canDrag = (node) => {\n return (node?.permissions & Permission.UPDATE) !== 0;\n };\n // If we're dragging a selection, we need to check all files\n if (this.selectedFiles.length > 0) {\n const nodes = this.selectedFiles.map(source => this.filesStore.getNode(source));\n return nodes.every(canDrag);\n }\n return canDrag(this.source);\n },\n canDrop() {\n if (this.source.type !== FileType.Folder) {\n return false;\n }\n // If the current folder is also being dragged, we can't drop it on itself\n if (this.draggingFiles.includes(this.source.source)) {\n return false;\n }\n return (this.source.permissions & Permission.CREATE) !== 0;\n },\n openedMenu: {\n get() {\n return this.actionsMenuStore.opened === this.uniqueId.toString();\n },\n set(opened) {\n this.actionsMenuStore.opened = opened ? this.uniqueId.toString() : null;\n },\n },\n isRenaming() {\n return this.renamingStore.renamingNode === this.source;\n },\n },\n watch: {\n /**\n * When the source changes, reset the preview\n * and fetch the new one.\n */\n source(a, b) {\n if (a.source !== b.source) {\n this.resetState();\n }\n },\n },\n beforeDestroy() {\n this.resetState();\n },\n methods: {\n resetState() {\n // Reset loading state\n this.loading = '';\n // Reset the preview state\n this.$refs?.preview?.reset?.();\n // Close menu\n this.openedMenu = false;\n },\n // Open the actions menu on right click\n onRightClick(event) {\n // If already opened, fallback to default browser\n if (this.openedMenu) {\n return;\n }\n // The grid mode is compact enough to not care about\n // the actions menu mouse position\n if (!this.gridMode) {\n // Actions menu is contained within the app content\n const root = this.$el?.closest('main.app-content');\n const contentRect = root.getBoundingClientRect();\n // Using Math.min/max to prevent the menu from going out of the AppContent\n // 200 = max width of the menu\n root.style.setProperty('--mouse-pos-x', Math.max(0, event.clientX - contentRect.left - 200) + 'px');\n root.style.setProperty('--mouse-pos-y', Math.max(0, event.clientY - contentRect.top) + 'px');\n }\n else {\n // Reset any right menu position potentially set\n const root = this.$el?.closest('main.app-content');\n root.style.removeProperty('--mouse-pos-x');\n root.style.removeProperty('--mouse-pos-y');\n }\n // If the clicked row is in the selection, open global menu\n const isMoreThanOneSelected = this.selectedFiles.length > 1;\n this.actionsMenuStore.opened = this.isSelected && isMoreThanOneSelected ? 'global' : this.uniqueId.toString();\n // Prevent any browser defaults\n event.preventDefault();\n event.stopPropagation();\n },\n execDefaultAction(event) {\n // Ignore click if we are renaming\n if (this.isRenaming) {\n return;\n }\n // Ignore right click.\n if (event.button > 1) {\n return;\n }\n // if ctrl+click or middle mouse button, open in new tab\n if (event.ctrlKey || event.metaKey || event.button === 1) {\n event.preventDefault();\n window.open(generateUrl('/f/{fileId}', { fileId: this.fileid }));\n return false;\n }\n const actions = this.$refs.actions;\n actions.execDefaultAction(event);\n },\n openDetailsIfAvailable(event) {\n event.preventDefault();\n event.stopPropagation();\n if (sidebarAction?.enabled?.([this.source], this.currentView)) {\n sidebarAction.exec(this.source, this.currentView, this.currentDir);\n }\n },\n onDragOver(event) {\n this.dragover = this.canDrop;\n if (!this.canDrop) {\n event.dataTransfer.dropEffect = 'none';\n return;\n }\n // Handle copy/move drag and drop\n if (event.ctrlKey) {\n event.dataTransfer.dropEffect = 'copy';\n }\n else {\n event.dataTransfer.dropEffect = 'move';\n }\n },\n onDragLeave(event) {\n // Counter bubbling, make sure we're ending the drag\n // only when we're leaving the current element\n const currentTarget = event.currentTarget;\n if (currentTarget?.contains(event.relatedTarget)) {\n return;\n }\n this.dragover = false;\n },\n async onDragStart(event) {\n event.stopPropagation();\n if (!this.canDrag || !this.fileid) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n logger.debug('Drag started', { event });\n // Make sure that we're not dragging a file like the preview\n event.dataTransfer?.clearData?.();\n // Reset any renaming\n this.renamingStore.$reset();\n // Dragging set of files, if we're dragging a file\n // that is already selected, we use the entire selection\n if (this.selectedFiles.includes(this.source.source)) {\n this.draggingStore.set(this.selectedFiles);\n }\n else {\n this.draggingStore.set([this.source.source]);\n }\n const nodes = this.draggingStore.dragging\n .map(source => this.filesStore.getNode(source));\n const image = await getDragAndDropPreview(nodes);\n event.dataTransfer?.setDragImage(image, -10, -10);\n },\n onDragEnd() {\n this.draggingStore.reset();\n this.dragover = false;\n logger.debug('Drag ended');\n },\n async onDrop(event) {\n // skip if native drop like text drag and drop from files names\n if (!this.draggingFiles && !event.dataTransfer?.items?.length) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n // Caching the selection\n const selection = this.draggingFiles;\n const items = [...event.dataTransfer?.items || []];\n // We need to process the dataTransfer ASAP before the\n // browser clears it. This is why we cache the items too.\n const fileTree = await dataTransferToFileTree(items);\n // We might not have the target directory fetched yet\n const contents = await this.currentView?.getContents(this.source.path);\n const folder = contents?.folder;\n if (!folder) {\n showError(this.t('files', 'Target folder does not exist any more'));\n return;\n }\n // If another button is pressed, cancel it. This\n // allows cancelling the drag with the right click.\n if (!this.canDrop || event.button) {\n return;\n }\n const isCopy = event.ctrlKey;\n this.dragover = false;\n logger.debug('Dropped', { event, folder, selection, fileTree });\n // Check whether we're uploading files\n if (fileTree.contents.length > 0) {\n await onDropExternalFiles(fileTree, folder, contents.contents);\n return;\n }\n // Else we're moving/copying files\n const nodes = selection.map(source => this.filesStore.getNode(source));\n await onDropInternalFiles(nodes, folder, contents.contents, isCopy);\n // Reset selection after we dropped the files\n // if the dropped files are within the selection\n if (selection.some(source => this.selectedFiles.includes(source))) {\n logger.debug('Dropped selection, resetting select store...');\n this.selectionStore.reset();\n }\n },\n t,\n },\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CustomElementRender.vue?vue&type=template&id=08a118c6\"\nimport script from \"./CustomElementRender.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomElementRender.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('td',{staticClass:\"files-list__row-actions\",attrs:{\"data-cy-files-list-row-actions\":\"\"}},[_vm._l((_vm.enabledRenderActions),function(action){return _c('CustomElementRender',{key:action.id,staticClass:\"files-list__row-action--inline\",class:'files-list__row-action-' + action.id,attrs:{\"current-view\":_vm.currentView,\"render\":action.renderInline,\"source\":_vm.source}})}),_vm._v(\" \"),_c('NcActions',{ref:\"actionsMenu\",attrs:{\"boundaries-element\":_vm.getBoundariesElement,\"container\":_vm.getBoundariesElement,\"force-name\":true,\"type\":\"tertiary\",\"force-menu\":_vm.enabledInlineActions.length === 0 /* forceMenu only if no inline actions */,\"inline\":_vm.enabledInlineActions.length,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event},\"close\":function($event){_vm.openedSubmenu = null}}},[_vm._l((_vm.enabledMenuActions),function(action){return _c('NcActionButton',{key:action.id,ref:`action-${action.id}`,refInFor:true,class:{\n\t\t\t\t[`files-list__row-action-${action.id}`]: true,\n\t\t\t\t[`files-list__row-action--menu`]: _vm.isMenu(action.id)\n\t\t\t},attrs:{\"close-after-click\":!_vm.isMenu(action.id),\"data-cy-files-list-row-action\":action.id,\"is-menu\":_vm.isMenu(action.id),\"title\":action.title?.([_vm.source], _vm.currentView)},on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.mountType === 'shared' && action.id === 'sharing-status' ? '' : _vm.actionDisplayName(action))+\"\\n\\t\\t\")])}),_vm._v(\" \"),(_vm.openedSubmenu && _vm.enabledSubmenuActions[_vm.openedSubmenu?.id])?[_c('NcActionButton',{staticClass:\"files-list__row-action-back\",on:{\"click\":function($event){return _vm.onBackToMenuClick(_vm.openedSubmenu)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ArrowLeftIcon')]},proxy:true}],null,false,3001860362)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.actionDisplayName(_vm.openedSubmenu))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.enabledSubmenuActions[_vm.openedSubmenu?.id]),function(action){return _c('NcActionButton',{key:action.id,staticClass:\"files-list__row-action--submenu\",class:`files-list__row-action-${action.id}`,attrs:{\"close-after-click\":\"\",\"data-cy-files-list-row-action\":action.id,\"title\":action.title?.([_vm.source], _vm.currentView)},on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.actionDisplayName(action))+\"\\n\\t\\t\\t\")])})]:_vm._e()],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArrowLeft.vue?vue&type=template&id=214c9a86\"\nimport script from \"./ArrowLeft.vue?vue&type=script&lang=js\"\nexport * from \"./ArrowLeft.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon arrow-left-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=0&id=0ef7511c&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=0&id=0ef7511c&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=1&id=0ef7511c&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=1&id=0ef7511c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileEntryActions.vue?vue&type=template&id=0ef7511c&scoped=true\"\nimport script from \"./FileEntryActions.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FileEntryActions.vue?vue&type=style&index=0&id=0ef7511c&prod&lang=scss\"\nimport style1 from \"./FileEntryActions.vue?vue&type=style&index=1&id=0ef7511c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ef7511c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryCheckbox.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryCheckbox.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('td',{staticClass:\"files-list__row-checkbox\",on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.resetSelection.apply(null, arguments)}}},[(_vm.isLoading)?_c('NcLoadingIcon'):_c('NcCheckboxRadioSwitch',{attrs:{\"aria-label\":_vm.ariaLabel,\"checked\":_vm.isSelected},on:{\"update:checked\":_vm.onSelectionChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\n/**\n * Observe various events and save the current\n * special keys states. Useful for checking the\n * current status of a key when executing a method.\n */\nexport const useKeyboardStore = function (...args) {\n const store = defineStore('keyboard', {\n state: () => ({\n altKey: false,\n ctrlKey: false,\n metaKey: false,\n shiftKey: false,\n }),\n actions: {\n onEvent(event) {\n if (!event) {\n event = window.event;\n }\n Vue.set(this, 'altKey', !!event.altKey);\n Vue.set(this, 'ctrlKey', !!event.ctrlKey);\n Vue.set(this, 'metaKey', !!event.metaKey);\n Vue.set(this, 'shiftKey', !!event.shiftKey);\n },\n },\n });\n const keyboardStore = store(...args);\n // Make sure we only register the listeners once\n if (!keyboardStore._initialized) {\n window.addEventListener('keydown', keyboardStore.onEvent);\n window.addEventListener('keyup', keyboardStore.onEvent);\n window.addEventListener('mousemove', keyboardStore.onEvent);\n keyboardStore._initialized = true;\n }\n return keyboardStore;\n};\n","import { render, staticRenderFns } from \"./FileEntryCheckbox.vue?vue&type=template&id=9cf669b4\"\nimport script from \"./FileEntryCheckbox.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryCheckbox.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isRenaming)?_c('form',{directives:[{name:\"on-click-outside\",rawName:\"v-on-click-outside\",value:(_vm.stopRenaming),expression:\"stopRenaming\"}],staticClass:\"files-list__row-rename\",attrs:{\"aria-label\":_vm.t('files', 'Rename file')},on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onRename.apply(null, arguments)}}},[_c('NcTextField',{ref:\"renameInput\",attrs:{\"label\":_vm.renameLabel,\"autofocus\":true,\"minlength\":1,\"required\":true,\"value\":_vm.newName,\"enterkeyhint\":\"done\"},on:{\"update:value\":function($event){_vm.newName=$event},\"keyup\":[_vm.checkInputValidity,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.stopRenaming.apply(null, arguments)}]}})],1):_c(_vm.linkTo.is,_vm._b({ref:\"basename\",tag:\"component\",staticClass:\"files-list__row-name-link\",attrs:{\"aria-hidden\":_vm.isRenaming,\"data-cy-files-list-row-name-link\":\"\"}},'component',_vm.linkTo.params,false),[_c('span',{staticClass:\"files-list__row-name-text\"},[_c('span',{staticClass:\"files-list__row-name-\",domProps:{\"textContent\":_vm._s(_vm.displayName)}}),_vm._v(\" \"),_c('span',{staticClass:\"files-list__row-name-ext\",domProps:{\"textContent\":_vm._s(_vm.extension)}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileEntryName.vue?vue&type=template&id=4a9bbeb9\"\nimport script from \"./FileEntryName.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryName.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"files-list__row-icon\"},[(_vm.source.type === 'folder')?[(_vm.dragover)?_vm._m(0):[_vm._m(1),_vm._v(\" \"),(_vm.folderOverlay)?_c(_vm.folderOverlay,{tag:\"OverlayIcon\",staticClass:\"files-list__row-icon-overlay\"}):_vm._e()]]:(_vm.previewUrl && _vm.backgroundFailed !== true)?_c('img',{ref:\"previewImg\",staticClass:\"files-list__row-icon-preview\",class:{'files-list__row-icon-preview--loaded': _vm.backgroundFailed === false},attrs:{\"alt\":\"\",\"loading\":\"lazy\",\"src\":_vm.previewUrl},on:{\"error\":_vm.onBackgroundError,\"load\":function($event){_vm.backgroundFailed = false}}}):_vm._m(2),_vm._v(\" \"),(_vm.isFavorite)?_c('span',{staticClass:\"files-list__row-icon-favorite\"},[_vm._m(3)],1):_vm._e(),_vm._v(\" \"),(_vm.fileOverlay)?_c(_vm.fileOverlay,{tag:\"OverlayIcon\",staticClass:\"files-list__row-icon-overlay files-list__row-icon-overlay--file\"}):_vm._e()],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FolderOpenIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FolderIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FileIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FavoriteIcon')\n}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=e3c8d598\"\nimport script from \"./File.vue?vue&type=script&lang=js\"\nexport * from \"./File.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderOpen.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderOpen.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./FolderOpen.vue?vue&type=template&id=79cee0a4\"\nimport script from \"./FolderOpen.vue?vue&type=script&lang=js\"\nexport * from \"./FolderOpen.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon folder-open-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Key.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Key.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Key.vue?vue&type=template&id=01a06d54\"\nimport script from \"./Key.vue?vue&type=script&lang=js\"\nexport * from \"./Key.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon key-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Network.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Network.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Network.vue?vue&type=template&id=29f8873c\"\nimport script from \"./Network.vue?vue&type=script&lang=js\"\nexport * from \"./Network.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon network-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Tag.vue?vue&type=template&id=75dd05e4\"\nimport script from \"./Tag.vue?vue&type=script&lang=js\"\nexport * from \"./Tag.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tag-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./PlayCircle.vue?vue&type=template&id=6901b3e6\"\nimport script from \"./PlayCircle.vue?vue&type=script&lang=js\"\nexport * from \"./PlayCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon play-circle-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectivesIcon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectivesIcon.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./CollectivesIcon.vue?vue&type=template&id=18541dcc\"\nimport script from \"./CollectivesIcon.vue?vue&type=script&lang=js\"\nexport * from \"./CollectivesIcon.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon collectives-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 16 16\"}},[_c('path',{attrs:{\"d\":\"M2.9,8.8c0-1.2,0.4-2.4,1.2-3.3L0.3,6c-0.2,0-0.3,0.3-0.1,0.4l2.7,2.6C2.9,9,2.9,8.9,2.9,8.8z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M8,3.7c0.7,0,1.3,0.1,1.9,0.4L8.2,0.6c-0.1-0.2-0.3-0.2-0.4,0L6.1,4C6.7,3.8,7.3,3.7,8,3.7z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M3.7,11.5L3,15.2c0,0.2,0.2,0.4,0.4,0.3l3.3-1.7C5.4,13.4,4.4,12.6,3.7,11.5z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M15.7,6l-3.7-0.5c0.7,0.9,1.2,2,1.2,3.3c0,0.1,0,0.2,0,0.3l2.7-2.6C15.9,6.3,15.9,6.1,15.7,6z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M12.3,11.5c-0.7,1.1-1.8,1.9-3,2.2l3.3,1.7c0.2,0.1,0.4-0.1,0.4-0.3L12.3,11.5z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M9.6,10.1c-0.4,0.5-1,0.8-1.6,0.8c-1.1,0-2-0.9-2.1-2C5.9,7.7,6.8,6.7,8,6.7c0.6,0,1.1,0.3,1.5,0.7 c0.1,0.1,0.1,0.1,0.2,0.1h1.4c0.2,0,0.4-0.2,0.3-0.5c-0.7-1.3-2.1-2.2-3.8-2.1C5.8,5,4.3,6.6,4.1,8.5C4,10.8,5.8,12.7,8,12.7 c1.6,0,2.9-0.9,3.5-2.3c0.1-0.2-0.1-0.4-0.3-0.4H9.9C9.8,10,9.7,10,9.6,10.1z\"}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcIconSvgWrapper',{staticClass:\"favorite-marker-icon\",attrs:{\"name\":_vm.t('files', 'Favorite'),\"svg\":_vm.StarSvg}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=style&index=0&id=42ea6dd4&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=style&index=0&id=42ea6dd4&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FavoriteIcon.vue?vue&type=template&id=42ea6dd4&scoped=true\"\nimport script from \"./FavoriteIcon.vue?vue&type=script&lang=ts\"\nexport * from \"./FavoriteIcon.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FavoriteIcon.vue?vue&type=style&index=0&id=42ea6dd4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42ea6dd4\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryPreview.vue?vue&type=script&lang=ts\"","/**\n * @copyright Copyright (c) 2023 Louis Chmn \n *\n * @author Louis Chmn \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Node, registerDavProperty } from '@nextcloud/files';\nexport function initLivePhotos() {\n registerDavProperty('nc:metadata-files-live-photo', { nc: 'http://nextcloud.org/ns' });\n}\n/**\n * @param {Node} node - The node\n */\nexport function isLivePhoto(node) {\n return node.attributes['metadata-files-live-photo'] !== undefined;\n}\n","import { render, staticRenderFns } from \"./FileEntryPreview.vue?vue&type=template&id=29810d15\"\nimport script from \"./FileEntryPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryPreview.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileEntry.vue?vue&type=template&id=97c5f55c\"\nimport script from \"./FileEntry.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntry.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryGrid.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryGrid.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"files-list__row\",class:{'files-list__row--active': _vm.isActive, 'files-list__row--dragover': _vm.dragover, 'files-list__row--loading': _vm.isLoading},attrs:{\"data-cy-files-list-row\":\"\",\"data-cy-files-list-row-fileid\":_vm.fileid,\"data-cy-files-list-row-name\":_vm.source.basename,\"draggable\":_vm.canDrag},on:{\"contextmenu\":_vm.onRightClick,\"dragover\":_vm.onDragOver,\"dragleave\":_vm.onDragLeave,\"dragstart\":_vm.onDragStart,\"dragend\":_vm.onDragEnd,\"drop\":_vm.onDrop}},[(_vm.source.attributes.failed)?_c('span',{staticClass:\"files-list__row--failed\"}):_vm._e(),_vm._v(\" \"),_c('FileEntryCheckbox',{attrs:{\"fileid\":_vm.fileid,\"is-loading\":_vm.isLoading,\"nodes\":_vm.nodes,\"source\":_vm.source}}),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\",attrs:{\"data-cy-files-list-row-name\":\"\"}},[_c('FileEntryPreview',{ref:\"preview\",attrs:{\"dragover\":_vm.dragover,\"grid-mode\":true,\"source\":_vm.source},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}}),_vm._v(\" \"),_c('FileEntryName',{ref:\"name\",attrs:{\"display-name\":_vm.displayName,\"extension\":_vm.extension,\"files-list-width\":_vm.filesListWidth,\"grid-mode\":true,\"nodes\":_vm.nodes,\"source\":_vm.source},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}})],1),_vm._v(\" \"),_c('FileEntryActions',{ref:\"actions\",class:`files-list__row-actions-${_vm.uniqueId}`,attrs:{\"files-list-width\":_vm.filesListWidth,\"grid-mode\":true,\"loading\":_vm.loading,\"opened\":_vm.openedMenu,\"source\":_vm.source},on:{\"update:loading\":function($event){_vm.loading=$event},\"update:opened\":function($event){_vm.openedMenu=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./FileEntryGrid.vue?vue&type=template&id=b1769a56\"\nimport script from \"./FileEntryGrid.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryGrid.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.enabled),expression:\"enabled\"}],class:`files-list__header-${_vm.header.id}`},[_c('span',{ref:\"mount\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesListHeader.vue?vue&type=template&id=0434f153\"\nimport script from \"./FilesListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListHeader.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__row-checkbox\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('files', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.summary))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-size\"},[_c('span',[_vm._v(_vm._s(_vm.totalSize))])]):_vm._e(),_vm._v(\" \"),(_vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-mtime\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[_c('span',[_vm._v(_vm._s(column.summary?.(_vm.nodes, _vm.currentView)))])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableFooter.vue?vue&type=template&id=a85bde20&scoped=true\"\nimport script from \"./FilesListTableFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a85bde20\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"files-list__row-head\"},[_c('th',{staticClass:\"files-list__column files-list__row-checkbox\",on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.resetSelection.apply(null, arguments)}}},[_c('NcCheckboxRadioSwitch',_vm._b({on:{\"update:checked\":_vm.onToggleAll}},'NcCheckboxRadioSwitch',_vm.selectAllBind,false))],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__column files-list__row-name files-list__column--sortable\",attrs:{\"aria-sort\":_vm.ariaSortForMode('basename')}},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Name'),\"mode\":\"basename\"}})],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-size\",class:{ 'files-list__column--sortable': _vm.isSizeAvailable },attrs:{\"aria-sort\":_vm.ariaSortForMode('size')}},[_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Size'),\"mode\":\"size\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.isMtimeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-mtime\",class:{ 'files-list__column--sortable': _vm.isMtimeAvailable },attrs:{\"aria-sort\":_vm.ariaSortForMode('mtime')}},[_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Modified'),\"mode\":\"mtime\"}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column),attrs:{\"aria-sort\":_vm.ariaSortForMode(column.id)}},[(!!column.sort)?_c('FilesListTableHeaderButton',{attrs:{\"name\":column.title,\"mode\":column.id}}):_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(column.title)+\"\\n\\t\\t\")])],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nimport { mapState } from 'pinia';\nimport { useViewConfigStore } from '../store/viewConfig';\nimport { Navigation, View } from '@nextcloud/files';\nexport default Vue.extend({\n computed: {\n ...mapState(useViewConfigStore, ['getConfig', 'setSortingBy', 'toggleSortingDirection']),\n currentView() {\n return this.$navigation.active;\n },\n /**\n * Get the sorting mode for the current view\n */\n sortingMode() {\n return this.getConfig(this.currentView.id)?.sorting_mode\n || this.currentView?.defaultSortKey\n || 'basename';\n },\n /**\n * Get the sorting direction for the current view\n */\n isAscSorting() {\n const sortingDirection = this.getConfig(this.currentView.id)?.sorting_direction;\n return sortingDirection !== 'desc';\n },\n },\n methods: {\n toggleSortBy(key) {\n // If we're already sorting by this key, flip the direction\n if (this.sortingMode === key) {\n this.toggleSortingDirection(this.currentView.id);\n return;\n }\n // else sort ASC by this new key\n this.setSortingBy(key, this.currentView.id);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcButton',{class:['files-list__column-sort-button', {\n\t\t'files-list__column-sort-button--active': _vm.sortingMode === _vm.mode,\n\t\t'files-list__column-sort-button--size': _vm.sortingMode === 'size',\n\t}],attrs:{\"alignment\":_vm.mode === 'size' ? 'end' : 'start-reverse',\"type\":\"tertiary\"},on:{\"click\":function($event){return _vm.toggleSortBy(_vm.mode)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.sortingMode !== _vm.mode || _vm.isAscSorting)?_c('MenuUp',{staticClass:\"files-list__column-sort-button-icon\"}):_c('MenuDown',{staticClass:\"files-list__column-sort-button-icon\"})]},proxy:true}])},[_vm._v(\" \"),_c('span',{staticClass:\"files-list__column-sort-button-text\"},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeaderButton.vue?vue&type=template&id=2dd1845e&scoped=true\"\nimport script from \"./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2dd1845e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=style&index=0&id=68d3de81&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=style&index=0&id=68d3de81&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeader.vue?vue&type=template&id=68d3de81&scoped=true\"\nimport script from \"./FilesListTableHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeader.vue?vue&type=style&index=0&id=68d3de81&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68d3de81\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list\",attrs:{\"data-cy-files-list\":\"\"}},[_c('div',{ref:\"before\",staticClass:\"files-list__before\"},[_vm._t(\"before\")],2),_vm._v(\" \"),(!!_vm.$scopedSlots['header-overlay'])?_c('div',{staticClass:\"files-list__thead-overlay\"},[_vm._t(\"header-overlay\")],2):_vm._e(),_vm._v(\" \"),_c('table',{staticClass:\"files-list__table\",class:{ 'files-list__table--with-thead-overlay': !!_vm.$scopedSlots['header-overlay'] }},[(_vm.caption)?_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.caption)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"files-list__thead\",attrs:{\"data-cy-files-list-thead\":\"\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"files-list__tbody\",class:_vm.gridMode ? 'files-list__tbody--grid' : 'files-list__tbody--list',style:(_vm.tbodyStyle),attrs:{\"data-cy-files-list-tbody\":\"\"}},_vm._l((_vm.renderedItems),function({key, item},i){return _c(_vm.dataComponent,_vm._b({key:key,tag:\"component\",attrs:{\"source\":item,\"index\":i}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isReady),expression:\"isReady\"}],staticClass:\"files-list__tfoot\",attrs:{\"data-cy-files-list-tfoot\":\"\"}},[_vm._t(\"footer\")],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=4a3570a2\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list__column files-list__row-actions-batch\"},[_c('NcActions',{ref:\"actionsMenu\",attrs:{\"disabled\":!!_vm.loading || _vm.areSomeNodesLoading,\"force-name\":true,\"inline\":_vm.inlineActions,\"menu-name\":_vm.inlineActions <= 1 ? _vm.t('files', 'Actions') : null,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-actions-batch-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline(_vm.nodes, _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(action.displayName(_vm.nodes, _vm.currentView))+\"\\n\\t\\t\")])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=91476734&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=91476734&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeaderActions.vue?vue&type=template&id=91476734&scoped=true\"\nimport script from \"./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=91476734&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"91476734\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('VirtualList',{ref:\"table\",attrs:{\"data-component\":_vm.userConfig.grid_view ? _vm.FileEntryGrid : _vm.FileEntry,\"data-key\":'source',\"data-sources\":_vm.nodes,\"grid-mode\":_vm.userConfig.grid_view,\"extra-props\":{\n\t\tisMtimeAvailable: _vm.isMtimeAvailable,\n\t\tisSizeAvailable: _vm.isSizeAvailable,\n\t\tnodes: _vm.nodes,\n\t\tfilesListWidth: _vm.filesListWidth,\n\t},\"scroll-to-index\":_vm.scrollToIndex,\"caption\":_vm.caption},scopedSlots:_vm._u([(!_vm.isNoneSelected)?{key:\"header-overlay\",fn:function(){return [_c('span',{staticClass:\"files-list__selected\"},[_vm._v(_vm._s(_vm.t('files', '{count} selected', { count: _vm.selectedNodes.length })))]),_vm._v(\" \"),_c('FilesListTableHeaderActions',{attrs:{\"current-view\":_vm.currentView,\"selected-nodes\":_vm.selectedNodes}})]},proxy:true}:null,{key:\"before\",fn:function(){return _vm._l((_vm.sortedHeaders),function(header){return _c('FilesListHeader',{key:header.id,attrs:{\"current-folder\":_vm.currentFolder,\"current-view\":_vm.currentView,\"header\":header}})})},proxy:true},{key:\"header\",fn:function(){return [_c('FilesListTableHeader',{ref:\"thead\",attrs:{\"files-list-width\":_vm.filesListWidth,\"is-mtime-available\":_vm.isMtimeAvailable,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('FilesListTableFooter',{attrs:{\"files-list-width\":_vm.filesListWidth,\"is-mtime-available\":_vm.isMtimeAvailable,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes,\"summary\":_vm.summary}})]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=1e2b43b6&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=1e2b43b6&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=1&id=1e2b43b6&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=1&id=1e2b43b6&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListVirtual.vue?vue&type=template&id=1e2b43b6&scoped=true\"\nimport script from \"./FilesListVirtual.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListVirtual.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListVirtual.vue?vue&type=style&index=0&id=1e2b43b6&prod&scoped=true&lang=scss\"\nimport style1 from \"./FilesListVirtual.vue?vue&type=style&index=1&id=1e2b43b6&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e2b43b6\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowDown.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./TrayArrowDown.vue?vue&type=template&id=447c2cd4\"\nimport script from \"./TrayArrowDown.vue?vue&type=script&lang=js\"\nexport * from \"./TrayArrowDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tray-arrow-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dragover),expression:\"dragover\"}],staticClass:\"files-list__drag-drop-notice\",attrs:{\"data-cy-files-drag-drop-area\":\"\"},on:{\"drop\":_vm.onDrop}},[_c('div',{staticClass:\"files-list__drag-drop-notice-wrapper\"},[(_vm.canUpload && !_vm.isQuotaExceeded)?[_c('TrayArrowDownIcon',{attrs:{\"size\":48}}),_vm._v(\" \"),_c('h3',{staticClass:\"files-list-drag-drop-notice__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Drag and drop files here to upload'))+\"\\n\\t\\t\\t\")])]:[_c('h3',{staticClass:\"files-list-drag-drop-notice__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.cantUploadLabel)+\"\\n\\t\\t\\t\")])]],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=style&index=0&id=2b498b48&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=style&index=0&id=2b498b48&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DragAndDropNotice.vue?vue&type=template&id=2b498b48&scoped=true\"\nimport script from \"./DragAndDropNotice.vue?vue&type=script&lang=ts\"\nexport * from \"./DragAndDropNotice.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DragAndDropNotice.vue?vue&type=style&index=0&id=2b498b48&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b498b48\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=139727ec&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=139727ec&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesList.vue?vue&type=template&id=139727ec&scoped=true\"\nimport script from \"./FilesList.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesList.vue?vue&type=style&index=0&id=139727ec&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"139727ec\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesApp.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesApp.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesApp.vue?vue&type=template&id=11e0f2dd\"\nimport script from \"./FilesApp.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesApp.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { PiniaVuePlugin } from 'pinia';\nimport { getNavigation } from '@nextcloud/files';\nimport { getRequestToken } from '@nextcloud/auth';\nimport Vue from 'vue';\nimport { pinia } from './store/index.ts';\nimport router from './router/router';\nimport RouterService from './services/RouterService';\nimport SettingsModel from './models/Setting.js';\nimport SettingsService from './services/Settings.js';\nimport FilesApp from './FilesApp.vue';\n// @ts-expect-error __webpack_nonce__ is injected by webpack\n__webpack_nonce__ = btoa(getRequestToken());\n// Init private and public Files namespace\nwindow.OCA.Files = window.OCA.Files ?? {};\nwindow.OCP.Files = window.OCP.Files ?? {};\n// Expose router\nconst Router = new RouterService(router);\nObject.assign(window.OCP.Files, { Router });\n// Init Pinia store\nVue.use(PiniaVuePlugin);\n// Init Navigation Service\n// This only works with Vue 2 - with Vue 3 this will not modify the source but return just a oberserver\nconst Navigation = Vue.observable(getNavigation());\nVue.prototype.$navigation = Navigation;\n// Init Files App Settings Service\nconst Settings = new SettingsService();\nObject.assign(window.OCA.Files, { Settings });\nObject.assign(window.OCA.Files.Settings, { Setting: SettingsModel });\nconst FilesAppVue = Vue.extend(FilesApp);\nnew FilesAppVue({\n router,\n pinia,\n}).$mount('#content');\n","export default class RouterService {\n _router;\n constructor(router) {\n this._router = router;\n }\n get name() {\n return this._router.currentRoute.name;\n }\n get query() {\n return this._router.currentRoute.query || {};\n }\n get params() {\n return this._router.currentRoute.params || {};\n }\n /**\n * Trigger a route change on the files app\n *\n * @param path the url path, eg: '/trashbin?dir=/Deleted'\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goTo(path, replace = false) {\n return this._router.push({\n path,\n replace,\n });\n }\n /**\n * Trigger a route change on the files App\n *\n * @param name the route name\n * @param params the route parameters\n * @param query the url query parameters\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goToRoute(name, params, query, replace) {\n return this._router.push({\n name,\n query,\n params,\n replace,\n });\n }\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Settings {\n\n\t_settings\n\n\tconstructor() {\n\t\tthis._settings = []\n\t\tconsole.debug('OCA.Files.Settings initialized')\n\t}\n\n\t/**\n\t * Register a new setting\n\t *\n\t * @since 19.0.0\n\t * @param {OCA.Files.Settings.Setting} view element to add to settings\n\t * @return {boolean} whether registering was successful\n\t */\n\tregister(view) {\n\t\tif (this._settings.filter(e => e.name === view.name).length > 0) {\n\t\t\tconsole.error('A setting with the same name is already registered')\n\t\t\treturn false\n\t\t}\n\t\tthis._settings.push(view)\n\t\treturn true\n\t}\n\n\t/**\n\t * All settings elements\n\t *\n\t * @return {OCA.Files.Settings.Setting[]} All currently registered settings\n\t */\n\tget settings() {\n\t\treturn this._settings\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Setting {\n\n\t_close\n\t_el\n\t_name\n\t_open\n\n\t/**\n\t * Create a new files app setting\n\t *\n\t * @since 19.0.0\n\t * @param {string} name the name of this setting\n\t * @param {object} component the component\n\t * @param {Function} component.el function that returns an unmounted dom element to be added\n\t * @param {Function} [component.open] callback for when setting is added\n\t * @param {Function} [component.close] callback for when setting is closed\n\t */\n\tconstructor(name, { el, open, close }) {\n\t\tthis._name = name\n\t\tthis._el = el\n\t\tthis._open = open\n\t\tthis._close = close\n\n\t\tif (typeof this._open !== 'function') {\n\t\t\tthis._open = () => {}\n\t\t}\n\n\t\tif (typeof this._close !== 'function') {\n\t\t\tthis._close = () => {}\n\t\t}\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget el() {\n\t\treturn this._el\n\t}\n\n\tget open() {\n\t\treturn this._open\n\t}\n\n\tget close() {\n\t\treturn this._close\n\t}\n\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF\",\"sourcesContent\":[\".upload-picker[data-v-eca9500a] {\\n display: inline-flex;\\n align-items: center;\\n height: 44px;\\n}\\n.upload-picker__progress[data-v-eca9500a] {\\n width: 200px;\\n max-width: 0;\\n transition: max-width var(--animation-quick) ease-in-out;\\n margin-top: 8px;\\n}\\n.upload-picker__progress p[data-v-eca9500a] {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\\n max-width: 200px;\\n margin-right: 20px;\\n margin-left: 8px;\\n}\\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\\n animation: breathing-eca9500a 3s ease-out infinite normal;\\n}\\n@keyframes breathing-eca9500a {\\n 0% {\\n opacity: .5;\\n }\\n 25% {\\n opacity: 1;\\n }\\n 60% {\\n opacity: .5;\\n }\\n to {\\n opacity: .5;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__breadcrumbs[data-v-77111ada]{flex:1 1 100% !important;width:100%;height:100%;margin-block:0;margin-inline:10px}.files-list__breadcrumbs[data-v-77111ada] a{cursor:pointer !important}.files-list__breadcrumbs--with-progress[data-v-77111ada]{flex-direction:column !important;align-items:flex-start !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/BreadCrumbs.vue\"],\"names\":[],\"mappings\":\"AACA,0CAEC,wBAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,kBAAA,CAGC,6CACC,yBAAA,CAIF,yDACC,gCAAA,CACA,iCAAA\",\"sourcesContent\":[\"\\n.files-list__breadcrumbs {\\n\\t// Take as much space as possible\\n\\tflex: 1 1 100% !important;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tmargin-block: 0;\\n\\tmargin-inline: 10px;\\n\\n\\t:deep() {\\n\\t\\ta {\\n\\t\\t\\tcursor: pointer !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--with-progress {\\n\\t\\tflex-direction: column !important;\\n\\t\\talign-items: flex-start !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__drag-drop-notice[data-v-2b498b48]{display:flex;align-items:center;justify-content:center;width:100%;min-height:113px;margin:0;user-select:none;color:var(--color-text-maxcontrast);background-color:var(--color-main-background);border-color:#000}.files-list__drag-drop-notice h3[data-v-2b498b48]{margin-left:16px;color:inherit}.files-list__drag-drop-notice-wrapper[data-v-2b498b48]{display:flex;align-items:center;justify-content:center;height:15vh;max-height:70%;padding:0 5vw;border:2px var(--color-border-dark) dashed;border-radius:var(--border-radius-large)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/DragAndDropNotice.vue\"],\"names\":[],\"mappings\":\"AACA,+CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAEA,gBAAA,CACA,QAAA,CACA,gBAAA,CACA,mCAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kDACC,gBAAA,CACA,aAAA,CAGD,uDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,cAAA,CACA,aAAA,CACA,0CAAA,CACA,wCAAA\",\"sourcesContent\":[\"\\n.files-list__drag-drop-notice {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\t// Breadcrumbs height + row thead height\\n\\tmin-height: calc(58px + 55px);\\n\\tmargin: 0;\\n\\tuser-select: none;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: var(--color-main-background);\\n\\tborder-color: black;\\n\\n\\th3 {\\n\\t\\tmargin-left: 16px;\\n\\t\\tcolor: inherit;\\n\\t}\\n\\n\\t&-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\theight: 15vh;\\n\\t\\tmax-height: 70%;\\n\\t\\tpadding: 0 5vw;\\n\\t\\tborder: 2px var(--color-border-dark) dashed;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list-drag-image{position:absolute;top:-9999px;left:-9999px;display:flex;overflow:hidden;align-items:center;height:44px;padding:6px 12px;background:var(--color-main-background)}.files-list-drag-image__icon,.files-list-drag-image .files-list__row-icon{display:flex;overflow:hidden;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius)}.files-list-drag-image__icon{overflow:visible;margin-right:12px}.files-list-drag-image__icon img{max-width:100%;max-height:100%}.files-list-drag-image__icon .material-design-icon{color:var(--color-text-maxcontrast)}.files-list-drag-image__icon .material-design-icon.folder-icon{color:var(--color-primary-element)}.files-list-drag-image__icon>span{display:flex}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon{margin-top:6px;margin-left:-26px}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon+.files-list__row-icon{margin-top:12px}.files-list-drag-image__icon>span:not(:empty)+*{display:none}.files-list-drag-image__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/DragAndDropPreview.vue\"],\"names\":[],\"mappings\":\"AAIA,uBACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,WAAA,CACA,gBAAA,CACA,uCAAA,CAEA,0EAEC,YAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kCAAA,CAGD,6BACC,gBAAA,CACA,iBAAA,CAEA,iCACC,cAAA,CACA,eAAA,CAGD,mDACC,mCAAA,CACA,+DACC,kCAAA,CAKF,kCACC,YAAA,CAGA,8EACC,cA9CU,CA+CV,iBAAA,CACA,oGACC,eAAA,CAKF,gDACC,YAAA,CAKH,6BACC,eAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n$size: 32px;\\n$stack-shift: 6px;\\n\\n.files-list-drag-image {\\n\\tposition: absolute;\\n\\ttop: -9999px;\\n\\tleft: -9999px;\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\tpadding: 6px 12px;\\n\\tbackground: var(--color-main-background);\\n\\n\\t&__icon,\\n\\t.files-list__row-icon {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\toverflow: visible;\\n\\t\\tmargin-right: 12px;\\n\\n\\t\\timg {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tmax-height: 100%;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t&.folder-icon {\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Previews container\\n\\t\\t> span {\\n\\t\\t\\tdisplay: flex;\\n\\n\\t\\t\\t// Stack effect if more than one element\\n\\t\\t\\t.files-list__row-icon + .files-list__row-icon {\\n\\t\\t\\t\\tmargin-top: $stack-shift;\\n\\t\\t\\t\\tmargin-left: $stack-shift - $size;\\n\\t\\t\\t\\t& + .files-list__row-icon {\\n\\t\\t\\t\\t\\tmargin-top: $stack-shift * 2;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// If we have manually clone the preview,\\n\\t\\t\\t// let's hide any fallback icons\\n\\t\\t\\t&:not(:empty) + * {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__name {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.favorite-marker-icon[data-v-42ea6dd4]{color:var(--color-favorite);min-width:unset !important;min-height:unset !important}.favorite-marker-icon[data-v-42ea6dd4] svg{width:26px !important;height:26px !important;max-width:unset !important;max-height:unset !important}.favorite-marker-icon[data-v-42ea6dd4] svg path{stroke:var(--color-main-background);stroke-width:8px;stroke-linejoin:round;paint-order:stroke}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FavoriteIcon.vue\"],\"names\":[],\"mappings\":\"AACA,uCACC,2BAAA,CAEA,0BAAA,CACG,2BAAA,CAGF,4CAEC,qBAAA,CACA,sBAAA,CAGA,0BAAA,CACA,2BAAA,CAGA,iDACC,mCAAA,CACA,gBAAA,CACA,qBAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n.favorite-marker-icon {\\n\\tcolor: var(--color-favorite);\\n\\t// Override NcIconSvgWrapper defaults (clickable area)\\n\\tmin-width: unset !important;\\n min-height: unset !important;\\n\\n\\t:deep() {\\n\\t\\tsvg {\\n\\t\\t\\t// We added a stroke for a11y so we must increase the size to include the stroke\\n\\t\\t\\twidth: 26px !important;\\n\\t\\t\\theight: 26px !important;\\n\\n\\t\\t\\t// Override NcIconSvgWrapper defaults of 20px\\n\\t\\t\\tmax-width: unset !important;\\n\\t\\t\\tmax-height: unset !important;\\n\\n\\t\\t\\t// Sow a border around the icon for better contrast\\n\\t\\t\\tpath {\\n\\t\\t\\t\\tstroke: var(--color-main-background);\\n\\t\\t\\t\\tstroke-width: 8px;\\n\\t\\t\\t\\tstroke-linejoin: round;\\n\\t\\t\\t\\tpaint-order: stroke;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `main.app-content[style*=mouse-pos-x] .v-popper__popper{transform:translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important}main.app-content[style*=mouse-pos-x] .v-popper__popper[data-popper-placement=top]{transform:translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh + 34px), 0px) !important}main.app-content[style*=mouse-pos-x] .v-popper__popper .v-popper__arrow-container{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue\"],\"names\":[],\"mappings\":\"AAGA,uDACC,6EAAA,CAGA,kFAEC,iGAAA,CAGD,kFACC,YAAA\",\"sourcesContent\":[\"\\n// Allow right click to define the position of the menu\\n// only if defined\\nmain.app-content[style*=\\\"mouse-pos-x\\\"] .v-popper__popper {\\n\\ttransform: translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important;\\n\\n\\t// If the menu is too close to the bottom, we move it up\\n\\t&[data-popper-placement=\\\"top\\\"] {\\n\\t\\t// 34px added to align with the top of the cursor\\n\\t\\ttransform: translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh + 34px), 0px) !important;\\n\\t}\\n\\t// Hide arrow if floating\\n\\t.v-popper__arrow-container {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `[data-v-0ef7511c] .button-vue--icon-and-text .button-vue__text{color:var(--color-primary-element)}[data-v-0ef7511c] .button-vue--icon-and-text .button-vue__icon{color:var(--color-primary-element)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue\"],\"names\":[],\"mappings\":\"AAEC,+DACC,kCAAA,CAED,+DACC,kCAAA\",\"sourcesContent\":[\"\\n:deep(.button-vue--icon-and-text, .files-list__row-action-sharing-status) {\\n\\t.button-vue__text {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n\\t.button-vue__icon {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `tr[data-v-a85bde20]{margin-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}tr td[data-v-a85bde20]{user-select:none;color:var(--color-text-maxcontrast) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableFooter.vue\"],\"names\":[],\"mappings\":\"AAEA,oBACC,mBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAEA,uBACC,gBAAA,CAEA,8CAAA\",\"sourcesContent\":[\"\\n// Scoped row\\ntr {\\n\\tmargin-bottom: 300px;\\n\\tborder-top: 1px solid var(--color-border);\\n\\t// Prevent hover effect on the whole row\\n\\tbackground-color: transparent !important;\\n\\tborder-bottom: none !important;\\n\\n\\ttd {\\n\\t\\tuser-select: none;\\n\\t\\t// Make sure the cell colors don't apply to column headers\\n\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__column[data-v-68d3de81]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-68d3de81]{cursor:pointer}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeader.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA\",\"sourcesContent\":[\"\\n.files-list__column {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t&--sortable {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__row-actions-batch[data-v-91476734]{flex:1 1 100% !important;max-width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeaderActions.vue\"],\"names\":[],\"mappings\":\"AACA,gDACC,wBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.files-list__row-actions-batch {\\n\\tflex: 1 1 100% !important;\\n\\tmax-width: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__column-sort-button[data-v-2dd1845e]{margin:0 calc(var(--cell-margin)*-1);min-width:calc(100% - 3*var(--cell-margin)) !important}.files-list__column-sort-button-text[data-v-2dd1845e]{color:var(--color-text-maxcontrast);font-weight:normal}.files-list__column-sort-button-icon[data-v-2dd1845e]{color:var(--color-text-maxcontrast);opacity:0;transition:opacity var(--animation-quick);inset-inline-start:-10px}.files-list__column-sort-button--size .files-list__column-sort-button-icon[data-v-2dd1845e]{inset-inline-start:10px}.files-list__column-sort-button--active .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:hover .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:focus .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:active .files-list__column-sort-button-icon[data-v-2dd1845e]{opacity:1}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeaderButton.vue\"],\"names\":[],\"mappings\":\"AACA,iDAEC,oCAAA,CACA,sDAAA,CAEA,sDACC,mCAAA,CACA,kBAAA,CAGD,sDACC,mCAAA,CACA,SAAA,CACA,yCAAA,CACA,wBAAA,CAGD,4FACC,uBAAA,CAGD,mXAIC,SAAA\",\"sourcesContent\":[\"\\n.files-list__column-sort-button {\\n\\t// Compensate for cells margin\\n\\tmargin: 0 calc(var(--cell-margin) * -1);\\n\\tmin-width: calc(100% - 3 * var(--cell-margin))!important;\\n\\n\\t&-text {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tfont-weight: normal;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\topacity: 0;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\tinset-inline-start: -10px;\\n\\t}\\n\\n\\t&--size &-icon {\\n\\t\\tinset-inline-start: 10px;\\n\\t}\\n\\n\\t&--active &-icon,\\n\\t&:hover &-icon,\\n\\t&:focus &-icon,\\n\\t&:active &-icon {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list[data-v-1e2b43b6]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;overflow:auto;height:100%;will-change:scroll-position}.files-list[data-v-1e2b43b6] tbody{will-change:padding;contain:layout paint style;display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-1e2b43b6] tbody tr{contain:strict}.files-list[data-v-1e2b43b6] tbody tr:hover,.files-list[data-v-1e2b43b6] tbody tr:focus{background-color:var(--color-background-dark)}.files-list[data-v-1e2b43b6] .files-list__before{display:flex;flex-direction:column}.files-list[data-v-1e2b43b6] .files-list__selected{padding-right:12px;white-space:nowrap}.files-list[data-v-1e2b43b6] .files-list__table{display:block}.files-list[data-v-1e2b43b6] .files-list__table.files-list__table--with-thead-overlay{margin-top:calc(-1*var(--row-height))}.files-list[data-v-1e2b43b6] .files-list__thead-overlay{position:sticky;top:0;margin-left:var(--row-height);z-index:20;display:flex;align-items:center;background-color:var(--color-main-background);border-bottom:1px solid var(--color-border);height:var(--row-height)}.files-list[data-v-1e2b43b6] .files-list__thead,.files-list[data-v-1e2b43b6] .files-list__tfoot{display:flex;flex-direction:column;width:100%;background-color:var(--color-main-background)}.files-list[data-v-1e2b43b6] .files-list__thead{position:sticky;z-index:10;top:0}.files-list[data-v-1e2b43b6] .files-list__tfoot{min-height:300px}.files-list[data-v-1e2b43b6] tr{position:relative;display:flex;align-items:center;width:100%;user-select:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;user-select:none;height:var(--row-height)}.files-list[data-v-1e2b43b6] td,.files-list[data-v-1e2b43b6] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-1e2b43b6] td span,.files-list[data-v-1e2b43b6] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-1e2b43b6] .files-list__row--failed{position:absolute;display:block;top:0;left:0;right:0;bottom:0;opacity:.1;z-index:-1;background:var(--color-error)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox{justify-content:center}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-1e2b43b6] .files-list__row:hover,.files-list[data-v-1e2b43b6] .files-list__row:focus,.files-list[data-v-1e2b43b6] .files-list__row:active,.files-list[data-v-1e2b43b6] .files-list__row--active,.files-list[data-v-1e2b43b6] .files-list__row--dragover{background-color:var(--color-background-hover);--color-text-maxcontrast: var(--color-main-text)}.files-list[data-v-1e2b43b6] .files-list__row:hover>*,.files-list[data-v-1e2b43b6] .files-list__row:focus>*,.files-list[data-v-1e2b43b6] .files-list__row:active>*,.files-list[data-v-1e2b43b6] .files-list__row--active>*,.files-list[data-v-1e2b43b6] .files-list__row--dragover>*{--color-border: var(--color-border-dark)}.files-list[data-v-1e2b43b6] .files-list__row:hover .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row:focus .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row:active .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row--active .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row--dragover .favorite-marker-icon svg path{stroke:var(--color-background-hover)}.files-list[data-v-1e2b43b6] .files-list__row--dragover *{pointer-events:none}.files-list[data-v-1e2b43b6] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-1e2b43b6] .files-list__row-icon *{cursor:pointer}.files-list[data-v-1e2b43b6] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-1e2b43b6] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-icon,.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-open-icon{margin:-3px}.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-icon svg,.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-open-icon svg{width:calc(var(--icon-preview-size) + 6px);height:calc(var(--icon-preview-size) + 6px)}.files-list[data-v-1e2b43b6] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);object-fit:contain;object-position:center}.files-list[data-v-1e2b43b6] .files-list__row-icon-preview:not(.files-list__row-icon-preview--loaded){background:var(--color-loading-dark)}.files-list[data-v-1e2b43b6] .files-list__row-icon-favorite{position:absolute;top:0px;right:-10px}.files-list[data-v-1e2b43b6] .files-list__row-icon-overlay{position:absolute;max-height:calc(var(--icon-preview-size)*.5);max-width:calc(var(--icon-preview-size)*.5);color:var(--color-primary-element-text);margin-top:2px}.files-list[data-v-1e2b43b6] .files-list__row-icon-overlay--file{color:var(--color-main-text);background:var(--color-main-background);border-radius:100%}.files-list[data-v-1e2b43b6] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-1e2b43b6] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%;min-width:0}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus-visible{outline:none}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus:not(:focus-visible) .files-list__row-name-text{outline:none !important}.files-list[data-v-1e2b43b6] .files-list__row-name .files-list__row-name-text{color:var(--color-main-text);padding:5px 10px;margin-left:-10px;display:inline-flex}.files-list[data-v-1e2b43b6] .files-list__row-name .files-list__row-name-ext{color:var(--color-text-maxcontrast);overflow:visible}.files-list[data-v-1e2b43b6] .files-list__row-rename{width:100%;max-width:600px}.files-list[data-v-1e2b43b6] .files-list__row-rename input{width:100%;margin-left:-8px;padding:2px 6px;border-width:2px}.files-list[data-v-1e2b43b6] .files-list__row-rename input:invalid{border-color:var(--color-error);color:red}.files-list[data-v-1e2b43b6] .files-list__row-actions{width:auto}.files-list[data-v-1e2b43b6] .files-list__row-actions~td,.files-list[data-v-1e2b43b6] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-1e2b43b6] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-1e2b43b6] .files-list__row-action--inline{margin-right:7px}.files-list[data-v-1e2b43b6] .files-list__row-mtime,.files-list[data-v-1e2b43b6] .files-list__row-size{color:var(--color-text-maxcontrast)}.files-list[data-v-1e2b43b6] .files-list__row-size{width:calc(var(--row-height)*1.5);justify-content:flex-end}.files-list[data-v-1e2b43b6] .files-list__row-mtime{width:calc(var(--row-height)*2)}.files-list[data-v-1e2b43b6] .files-list__row-column-custom{width:calc(var(--row-height)*2)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,aAAA,CACA,WAAA,CACA,2BAAA,CAIC,oCACC,mBAAA,CACA,0BAAA,CACA,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAGA,uCACC,cAAA,CACA,0FAEC,6CAAA,CAMH,kDACC,YAAA,CACA,qBAAA,CAGD,oDACC,kBAAA,CACA,kBAAA,CAGD,iDACC,aAAA,CAEA,uFAEC,qCAAA,CAIF,yDAEC,eAAA,CACA,KAAA,CAEA,6BAAA,CAEA,UAAA,CAEA,YAAA,CACA,kBAAA,CAGA,6CAAA,CACA,2CAAA,CACA,wBAAA,CAGD,kGAEC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,6CAAA,CAKD,iDAEC,eAAA,CACA,UAAA,CACA,KAAA,CAID,iDACC,gBAAA,CAGD,iCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,gBAAA,CACA,2CAAA,CACA,qBAAA,CACA,gBAAA,CACA,wBAAA,CAGD,kEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,4EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,UAAA,CACA,6BAAA,CAGD,wDACC,sBAAA,CAEA,+EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,kHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,4GACC,mBAAA,CAMF,gRAEC,8CAAA,CAGA,gDAAA,CACA,0RACC,wCAAA,CAID,2aACC,oCAAA,CAIF,2DAEC,mBAAA,CAKF,oDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAGA,sDACC,cAAA,CAGD,yDACC,0BAAA,CAEA,iGACC,8BAAA,CACA,+BAAA,CAID,+IAEC,WAAA,CACA,uJACC,0CAAA,CACA,2CAAA,CAKH,4DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CAEA,kBAAA,CACA,sBAAA,CAGA,uGACC,oCAAA,CAKF,6DACC,iBAAA,CACA,OAAA,CACA,WAAA,CAID,4DACC,iBAAA,CACA,4CAAA,CACA,2CAAA,CACA,uCAAA,CAEA,cAAA,CAGA,kEACC,4BAAA,CACA,uCAAA,CACA,kBAAA,CAMH,oDAEC,eAAA,CAEA,aAAA,CAEA,sDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAEA,WAAA,CAGA,oEACC,YAAA,CAID,uFACC,mDAAA,CACA,kBAAA,CAED,2GACC,uBAAA,CAIF,+EACC,4BAAA,CAEA,gBAAA,CACA,iBAAA,CAEA,mBAAA,CAGD,8EACC,mCAAA,CAEA,gBAAA,CAKF,sDACC,UAAA,CACA,eAAA,CACA,4DACC,UAAA,CAEA,gBAAA,CACA,eAAA,CACA,gBAAA,CAEA,oEAEC,+BAAA,CACA,SAAA,CAKH,uDAEC,UAAA,CAGA,oHAEC,2BAAA,CAIA,gFAEC,kBAAA,CAKH,8DACC,gBAAA,CAGD,yGAEC,mCAAA,CAED,oDACC,iCAAA,CAEA,wBAAA,CAGD,qDACC,+BAAA,CAGD,6DACC,+BAAA\",\"sourcesContent\":[\"\\n.files-list {\\n\\t--row-height: 55px;\\n\\t--cell-margin: 14px;\\n\\n\\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\\n\\t--checkbox-size: 24px;\\n\\t--clickable-area: 44px;\\n\\t--icon-preview-size: 32px;\\n\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\twill-change: scroll-position;\\n\\n\\t& :deep() {\\n\\t\\t// Table head, body and footer\\n\\t\\ttbody {\\n\\t\\t\\twill-change: padding;\\n\\t\\t\\tcontain: layout paint style;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\t// Necessary for virtual scrolling absolute\\n\\t\\t\\tposition: relative;\\n\\n\\t\\t\\t/* Hover effect on tbody lines only */\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tcontain: strict;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Before table and thead\\n\\t\\t.files-list__before {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t}\\n\\n\\t\\t.files-list__selected {\\n\\t\\t\\tpadding-right: 12px;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t.files-list__table {\\n\\t\\t\\tdisplay: block;\\n\\n\\t\\t\\t&.files-list__table--with-thead-overlay {\\n\\t\\t\\t\\t// Hide the table header below the overlay\\n\\t\\t\\t\\tmargin-top: calc(-1 * var(--row-height));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__thead-overlay {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\t// Save space for a row checkbox\\n\\t\\t\\tmargin-left: var(--row-height);\\n\\t\\t\\t// More than .files-list__thead\\n\\t\\t\\tz-index: 20;\\n\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Reuse row styles\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t}\\n\\n\\t\\t.files-list__thead,\\n\\t\\t.files-list__tfoot {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t}\\n\\n\\t\\t// Table header\\n\\t\\t.files-list__thead {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tz-index: 10;\\n\\t\\t\\ttop: 0;\\n\\t\\t}\\n\\n\\t\\t// Table footer\\n\\t\\t.files-list__tfoot {\\n\\t\\t\\tmin-height: 300px;\\n\\t\\t}\\n\\n\\t\\ttr {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t}\\n\\n\\t\\ttd, th {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\tjustify-content: left;\\n\\t\\t\\twidth: var(--row-height);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tborder: none;\\n\\n\\t\\t\\t// Columns should try to add any text\\n\\t\\t\\t// node wrapped in a span. That should help\\n\\t\\t\\t// with the ellipsis on overflow.\\n\\t\\t\\tspan {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row--failed {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\topacity: .1;\\n\\t\\t\\tz-index: -1;\\n\\t\\t\\tbackground: var(--color-error);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-checkbox {\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t.checkbox-radio-switch {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t\\t--icon-size: var(--checkbox-size);\\n\\n\\t\\t\\t\\tlabel.checkbox-radio-switch__label {\\n\\t\\t\\t\\t\\twidth: var(--clickable-area);\\n\\t\\t\\t\\t\\theight: var(--clickable-area);\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\t\\t\\tmargin: 0 !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row {\\n\\t\\t\\t&:hover, &:focus, &:active, &--active, &--dragover {\\n\\t\\t\\t\\t// WCAG AA compliant\\n\\t\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\t\\t// text-maxcontrast have been designed to pass WCAG AA over\\n\\t\\t\\t\\t// a white background, we need to adjust then.\\n\\t\\t\\t\\t--color-text-maxcontrast: var(--color-main-text);\\n\\t\\t\\t\\t> * {\\n\\t\\t\\t\\t\\t--color-border: var(--color-border-dark);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Hover state of the row should also change the favorite markers background\\n\\t\\t\\t\\t.favorite-marker-icon svg path {\\n\\t\\t\\t\\t\\tstroke: var(--color-background-hover);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--dragover * {\\n\\t\\t\\t\\t// Prevent dropping on row children\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Entry preview or mime icon\\n\\t\\t.files-list__row-icon {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\toverflow: visible;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\t// No shrinking or growing allowed\\n\\t\\t\\tflex: 0 0 var(--icon-preview-size);\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Show same padding as the checkbox right padding for visual balance\\n\\t\\t\\tmargin-right: var(--checkbox-padding);\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\n\\t\\t\\t// Icon is also clickable\\n\\t\\t\\t* {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\n\\t\\t\\t\\t&:not(.files-list__row-icon-favorite) svg {\\n\\t\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Slightly increase the size of the folder icon\\n\\t\\t\\t\\t&.folder-icon,\\n\\t\\t\\t\\t&.folder-open-icon {\\n\\t\\t\\t\\t\\tmargin: -3px;\\n\\t\\t\\t\\t\\tsvg {\\n\\t\\t\\t\\t\\t\\twidth: calc(var(--icon-preview-size) + 6px);\\n\\t\\t\\t\\t\\t\\theight: calc(var(--icon-preview-size) + 6px);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-preview {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t// Center and contain the preview\\n\\t\\t\\t\\tobject-fit: contain;\\n\\t\\t\\t\\tobject-position: center;\\n\\n\\t\\t\\t\\t/* Preview not loaded animation effect */\\n\\t\\t\\t\\t&:not(.files-list__row-icon-preview--loaded) {\\n\\t\\t\\t\\t\\tbackground: var(--color-loading-dark);\\n\\t\\t\\t\\t\\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-favorite {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0px;\\n\\t\\t\\t\\tright: -10px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// File and folder overlay\\n\\t\\t\\t&-overlay {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tmax-height: calc(var(--icon-preview-size) * 0.5);\\n\\t\\t\\t\\tmax-width: calc(var(--icon-preview-size) * 0.5);\\n\\t\\t\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t\\t\\t// better alignment with the folder icon\\n\\t\\t\\t\\tmargin-top: 2px;\\n\\n\\t\\t\\t\\t// Improve icon contrast with a background for files\\n\\t\\t\\t\\t&--file {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t\\t\\t\\tborder-radius: 100%;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Entry link\\n\\t\\t.files-list__row-name {\\n\\t\\t\\t// Prevent link from overflowing\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\t// Take as much space as possible\\n\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\ta {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// Fill cell height and width\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\t// Necessary for flex grow to work\\n\\t\\t\\t\\tmin-width: 0;\\n\\n\\t\\t\\t\\t// Already added to the inner text, see rule below\\n\\t\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\t\\toutline: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Keyboard indicator a11y\\n\\t\\t\\t\\t&:focus .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t\\t\\t\\tborder-radius: 20px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:focus:not(:focus-visible) .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: none !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-text {\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t// Make some space for the outline\\n\\t\\t\\t\\tpadding: 5px 10px;\\n\\t\\t\\t\\tmargin-left: -10px;\\n\\t\\t\\t\\t// Align two name and ext\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-ext {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\t// always show the extension\\n\\t\\t\\t\\toverflow: visible;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Rename form\\n\\t\\t.files-list__row-rename {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-width: 600px;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t// Align with text, 0 - padding - border\\n\\t\\t\\t\\tmargin-left: -8px;\\n\\t\\t\\t\\tpadding: 2px 6px;\\n\\t\\t\\t\\tborder-width: 2px;\\n\\n\\t\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t\\t// Show red border on invalid input\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tcolor: red;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-actions {\\n\\t\\t\\t// take as much space as necessary\\n\\t\\t\\twidth: auto;\\n\\n\\t\\t\\t// Add margin to all cells after the actions\\n\\t\\t\\t& ~ td,\\n\\t\\t\\t& ~ th {\\n\\t\\t\\t\\tmargin: 0 var(--cell-margin);\\n\\t\\t\\t}\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\t.button-vue__text {\\n\\t\\t\\t\\t\\t// Remove bold from default button styling\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-action--inline {\\n\\t\\t\\tmargin-right: 7px;\\n\\t\\t}\\n\\n\\t\\t.files-list__row-mtime,\\n\\t\\t.files-list__row-size {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t\\t.files-list__row-size {\\n\\t\\t\\twidth: calc(var(--row-height) * 1.5);\\n\\t\\t\\t// Right align content/text\\n\\t\\t\\tjustify-content: flex-end;\\n\\t\\t}\\n\\n\\t\\t.files-list__row-mtime {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-column-custom {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `tbody.files-list__tbody.files-list__tbody--grid{--half-clickable-area: calc(var(--clickable-area) / 2);--row-width: 160px;--row-height: calc(var(--row-width) - var(--half-clickable-area));--icon-preview-size: calc(var(--row-width) - var(--clickable-area));--checkbox-padding: 0px;display:grid;grid-template-columns:repeat(auto-fill, var(--row-width));grid-gap:15px;row-gap:15px;align-content:center;align-items:center;justify-content:space-around;justify-items:center}tbody.files-list__tbody.files-list__tbody--grid tr{width:var(--row-width);height:calc(var(--row-height) + var(--clickable-area));border:none;border-radius:var(--border-radius)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-checkbox{position:absolute;z-index:9;top:0;left:0;overflow:hidden;width:var(--clickable-area);height:var(--clickable-area);border-radius:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-icon-favorite{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--clickable-area);height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name{display:grid;justify-content:stretch;width:100%;height:100%;grid-auto-rows:var(--row-height) var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name span.files-list__row-icon{width:100%;height:100%;padding-top:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name a.files-list__row-name-link{width:calc(100% - var(--clickable-area));height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name .files-list__row-name-text{margin:0;padding-right:0}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-actions{position:absolute;right:0;bottom:0;width:var(--clickable-area);height:var(--clickable-area)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AAEA,gDACC,sDAAA,CACA,kBAAA,CAEA,iEAAA,CACA,mEAAA,CACA,uBAAA,CAEA,YAAA,CACA,yDAAA,CACA,aAAA,CACA,YAAA,CAEA,oBAAA,CACA,kBAAA,CACA,4BAAA,CACA,oBAAA,CAEA,mDACC,sBAAA,CACA,sDAAA,CACA,WAAA,CACA,kCAAA,CAID,0EACC,iBAAA,CACA,SAAA,CACA,KAAA,CACA,MAAA,CACA,eAAA,CACA,2BAAA,CACA,4BAAA,CACA,wCAAA,CAID,+EACC,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,2BAAA,CACA,4BAAA,CAGD,sEACC,YAAA,CACA,uBAAA,CACA,UAAA,CACA,WAAA,CACA,sDAAA,CAEA,gGACC,UAAA,CACA,WAAA,CAGA,sCAAA,CAGD,kGAEC,wCAAA,CACA,4BAAA,CAGD,iGACC,QAAA,CACA,eAAA,CAIF,yEACC,iBAAA,CACA,OAAA,CACA,QAAA,CACA,2BAAA,CACA,4BAAA\",\"sourcesContent\":[\"\\n// Grid mode\\ntbody.files-list__tbody.files-list__tbody--grid {\\n\\t--half-clickable-area: calc(var(--clickable-area) / 2);\\n\\t--row-width: 160px;\\n\\t// We use half of the clickable area as visual balance margin\\n\\t--row-height: calc(var(--row-width) - var(--half-clickable-area));\\n\\t--icon-preview-size: calc(var(--row-width) - var(--clickable-area));\\n\\t--checkbox-padding: 0px;\\n\\n\\tdisplay: grid;\\n\\tgrid-template-columns: repeat(auto-fill, var(--row-width));\\n\\tgrid-gap: 15px;\\n\\trow-gap: 15px;\\n\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tjustify-content: space-around;\\n\\tjustify-items: center;\\n\\n\\ttr {\\n\\t\\twidth: var(--row-width);\\n\\t\\theight: calc(var(--row-height) + var(--clickable-area));\\n\\t\\tborder: none;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t}\\n\\n\\t// Checkbox in the top left\\n\\t.files-list__row-checkbox {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 9;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\toverflow: hidden;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t\\tborder-radius: var(--half-clickable-area);\\n\\t}\\n\\n\\t// Star icon in the top right\\n\\t.files-list__row-icon-favorite {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t}\\n\\n\\t.files-list__row-name {\\n\\t\\tdisplay: grid;\\n\\t\\tjustify-content: stretch;\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tgrid-auto-rows: var(--row-height) var(--clickable-area);\\n\\n\\t\\tspan.files-list__row-icon {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Visual balance, we use half of the clickable area\\n\\t\\t\\t// as a margin around the preview\\n\\t\\t\\tpadding-top: var(--half-clickable-area);\\n\\t\\t}\\n\\n\\t\\ta.files-list__row-name-link {\\n\\t\\t\\t// Minus action menu\\n\\t\\t\\twidth: calc(100% - var(--clickable-area));\\n\\t\\t\\theight: var(--clickable-area);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-name-text {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding-right: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.files-list__row-actions {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tbottom: 0;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-navigation-entry__settings-quota--not-unlimited[data-v-063ed938] .app-navigation-entry__name{margin-top:-6px}.app-navigation-entry__settings-quota progress[data-v-063ed938]{position:absolute;bottom:12px;margin-left:44px;width:calc(100% - 44px - 22px)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/NavigationQuota.vue\"],\"names\":[],\"mappings\":\"AAIC,kGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA\",\"sourcesContent\":[\"\\n// User storage stats display\\n.app-navigation-entry__settings-quota {\\n\\t// Align title with progress and icon\\n\\t&--not-unlimited::v-deep .app-navigation-entry__name {\\n\\t\\tmargin-top: -6px;\\n\\t}\\n\\n\\tprogress {\\n\\t\\tposition: absolute;\\n\\t\\tbottom: 12px;\\n\\t\\tmargin-left: 44px;\\n\\t\\twidth: calc(100% - 44px - 22px);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-content[data-v-139727ec]{display:flex;overflow:hidden;flex-direction:column;max-height:100%;position:relative !important}.files-list__header[data-v-139727ec]{display:flex;align-items:center;flex:0 0;max-width:100%;margin-block:var(--app-navigation-padding, 4px);margin-inline:calc(var(--default-clickable-area, 44px) + 2*var(--app-navigation-padding, 4px)) var(--app-navigation-padding, 4px)}.files-list__header>*[data-v-139727ec]{flex:0 0}.files-list__header-share-button[data-v-139727ec]{color:var(--color-text-maxcontrast) !important}.files-list__header-share-button--shared[data-v-139727ec]{color:var(--color-main-text) !important}.files-list__refresh-icon[data-v-139727ec]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-139727ec]{margin:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/FilesList.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CACA,4BAAA,CAIA,qCACC,YAAA,CACA,kBAAA,CAEA,QAAA,CACA,cAAA,CAEA,+CAAA,CACA,iIAAA,CAEA,uCAGC,QAAA,CAGD,kDACC,8CAAA,CAEA,0DACC,uCAAA,CAKH,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAGD,2CACC,WAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n\\tposition: relative !important;\\n}\\n\\n.files-list {\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\t// Do not grow or shrink (vertically)\\n\\t\\tflex: 0 0;\\n\\t\\tmax-width: 100%;\\n\\t\\t// Align with the navigation toggle icon\\n\\t\\tmargin-block: var(--app-navigation-padding, 4px);\\n\\t\\tmargin-inline: calc(var(--default-clickable-area, 44px) + 2 * var(--app-navigation-padding, 4px)) var(--app-navigation-padding, 4px);\\n\\n\\t\\t>* {\\n\\t\\t\\t// Do not grow or shrink (horizontally)\\n\\t\\t\\t// Only the breadcrumbs shrinks\\n\\t\\t\\tflex: 0 0;\\n\\t\\t}\\n\\n\\t\\t&-share-button {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t\\t\\t&--shared {\\n\\t\\t\\t\\tcolor: var(--color-main-text) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__refresh-icon {\\n\\t\\tflex: 0 0 44px;\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t}\\n\\n\\t&__loading-icon {\\n\\t\\tmargin: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-navigation[data-v-7387953c] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation[data-v-7387953c] .app-navigation-entry.active .button-vue.icon-collapse:not(:hover){color:var(--color-primary-element-text)}.app-navigation>ul.app-navigation__list[data-v-7387953c]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-7387953c]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Navigation.vue\"],\"names\":[],\"mappings\":\"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,oGACC,uCAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA\",\"sourcesContent\":[\"\\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\\n.app-navigation::v-deep .app-navigation-entry-icon {\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center;\\n}\\n\\n.app-navigation::v-deep .app-navigation-entry.active .button-vue.icon-collapse:not(:hover) {\\n\\tcolor: var(--color-primary-element-text);\\n}\\n\\n.app-navigation > ul.app-navigation__list {\\n\\t// Use flex gap value for more elegant spacing\\n\\tpadding-bottom: var(--default-grid-baseline, 4px);\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\toverflow: hidden !important;\\n\\tpadding-top: 0 !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.setting-link[data-v-00f09e69]:hover{text-decoration:underline}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Settings.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,yBAAA\",\"sourcesContent\":[\"\\n.setting-link:hover {\\n\\ttext-decoration: underline;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // \n SCRIPT: S++, // ","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Cog.vue?vue&type=template&id=89df8f2e\"\nimport script from \"./Cog.vue?vue&type=script&lang=js\"\nexport * from \"./Cog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon cog-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)\n * are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,\n * as-is, to `callback` when the throttled-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds\n * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed\n * one final time after the last throttled-function call. (After the throttled-function has not been called for\n * `delay` milliseconds, the internal counter is reset).\n * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback\n * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that\n * callback will never executed if both noLeading = true and noTrailing = true.\n * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is\n * false (at end), schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, callback, options) {\n var _ref = options || {},\n _ref$noTrailing = _ref.noTrailing,\n noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,\n _ref$noLeading = _ref.noLeading,\n noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,\n _ref$debounceMode = _ref.debounceMode,\n debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n\n\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel(options) {\n var _ref2 = options || {},\n _ref2$upcomingOnly = _ref2.upcomingOnly,\n upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;\n\n clearExistingTimeout();\n cancelled = !upcomingOnly;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n\n var self = this;\n var elapsed = Date.now() - lastExec;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (!noLeading && debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`\n * and noLeading != true.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n if (noLeading) {\n /*\n * In throttle mode with noLeading, if `delay` time has\n * been exceeded, update `lastExec` and schedule `callback`\n * to execute after `delay` ms.\n */\n lastExec = Date.now();\n\n if (!noTrailing) {\n timeoutID = setTimeout(debounceMode ? clear : exec, delay);\n }\n } else {\n /*\n * In throttle mode without noLeading, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n }\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n *\n * @returns {Function} A new, debounced function.\n */\n\nfunction debounce (delay, callback, options) {\n var _ref = options || {},\n _ref$atBegin = _ref.atBegin,\n atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;\n\n return throttle(delay, callback, {\n debounceMode: atBegin !== false\n });\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChartPie.vue?vue&type=template&id=b117066e\"\nimport script from \"./ChartPie.vue?vue&type=script&lang=js\"\nexport * from \"./ChartPie.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chart-pie-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js\"","\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=063ed938&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=063ed938&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NavigationQuota.vue?vue&type=template&id=063ed938&scoped=true\"\nimport script from \"./NavigationQuota.vue?vue&type=script&lang=js\"\nexport * from \"./NavigationQuota.vue?vue&type=script&lang=js\"\nimport style0 from \"./NavigationQuota.vue?vue&type=style&index=0&id=063ed938&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"063ed938\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.storageStats)?_c('NcAppNavigationItem',{staticClass:\"app-navigation-entry__settings-quota\",class:{ 'app-navigation-entry__settings-quota--not-unlimited': _vm.storageStats.quota >= 0},attrs:{\"aria-label\":_vm.t('files', 'Storage informations'),\"loading\":_vm.loadingStorageStats,\"name\":_vm.storageStatsTitle,\"title\":_vm.storageStatsTooltip,\"data-cy-files-navigation-settings-quota\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.debounceUpdateStorageStats.apply(null, arguments)}}},[_c('ChartPie',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"}),_vm._v(\" \"),(_vm.storageStats.quota >= 0)?_c('NcProgressBar',{attrs:{\"slot\":\"extra\",\"error\":_vm.storageStats.relative > 80,\"value\":Math.min(_vm.storageStats.relative, 100)},slot:\"extra\"}):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.open,\"show-navigation\":true,\"name\":_vm.t('files', 'Files settings')},on:{\"update:open\":_vm.onClose}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"settings\",\"name\":_vm.t('files', 'Files settings')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"sort_favorites_first\",\"checked\":_vm.userConfig.sort_favorites_first},on:{\"update:checked\":function($event){return _vm.setConfig('sort_favorites_first', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Sort favorites first'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"sort_folders_first\",\"checked\":_vm.userConfig.sort_folders_first},on:{\"update:checked\":function($event){return _vm.setConfig('sort_folders_first', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Sort folders before files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"show_hidden\",\"checked\":_vm.userConfig.show_hidden},on:{\"update:checked\":function($event){return _vm.setConfig('show_hidden', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Show hidden files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"crop_image_previews\",\"checked\":_vm.userConfig.crop_image_previews},on:{\"update:checked\":function($event){return _vm.setConfig('crop_image_previews', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Crop image previews'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.enableGridView)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"grid_view\",\"checked\":_vm.userConfig.grid_view},on:{\"update:checked\":function($event){return _vm.setConfig('grid_view', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Enable the grid view'))+\"\\n\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),(_vm.settings.length !== 0)?_c('NcAppSettingsSection',{attrs:{\"id\":\"more-settings\",\"name\":_vm.t('files', 'Additional settings')}},[_vm._l((_vm.settings),function(setting){return [_c('Setting',{key:setting.name,attrs:{\"el\":setting.el}})]})],2):_vm._e(),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"webdav\",\"name\":_vm.t('files', 'WebDAV')}},[_c('NcInputField',{attrs:{\"id\":\"webdav-url-input\",\"label\":_vm.t('files', 'WebDAV URL'),\"show-trailing-button\":true,\"success\":_vm.webdavUrlCopied,\"trailing-button-label\":_vm.t('files', 'Copy to clipboard'),\"value\":_vm.webdavUrl,\"readonly\":\"readonly\",\"type\":\"url\"},on:{\"focus\":function($event){return $event.target.select()},\"trailing-button-click\":_vm.copyCloudId},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [_c('Clipboard',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.webdavDocs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Use this address to access your Files via WebDAV'))+\" ↗\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.appPasswordUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'If you have enabled 2FA, you must create and use a new app password by clicking here.'))+\" ↗\\n\\t\\t\\t\")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Clipboard.vue?vue&type=template&id=0c133921\"\nimport script from \"./Clipboard.vue?vue&type=script&lang=js\"\nexport * from \"./Clipboard.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clipboard-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Setting.vue?vue&type=template&id=61d69eae\"\nimport script from \"./Setting.vue?vue&type=script&lang=js\"\nexport * from \"./Setting.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst userConfig = loadState('files', 'config', {\n show_hidden: false,\n crop_image_previews: true,\n sort_favorites_first: true,\n sort_folders_first: true,\n grid_view: false,\n});\nexport const useUserConfigStore = function (...args) {\n const store = defineStore('userconfig', {\n state: () => ({\n userConfig,\n }),\n actions: {\n /**\n * Update the user config local store\n */\n onUpdate(key, value) {\n Vue.set(this.userConfig, key, value);\n },\n /**\n * Update the user config local store AND on server side\n */\n async update(key, value) {\n await axios.put(generateUrl('/apps/files/api/v1/config/' + key), {\n value,\n });\n emit('files:config:updated', { key, value });\n },\n },\n });\n const userConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!userConfigStore._initialized) {\n subscribe('files:config:updated', function ({ key, value }) {\n userConfigStore.onUpdate(key, value);\n });\n userConfigStore._initialized = true;\n }\n return userConfigStore;\n};\n","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=00f09e69&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=00f09e69&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=00f09e69&scoped=true\"\nimport script from \"./Settings.vue?vue&type=script&lang=js\"\nexport * from \"./Settings.vue?vue&type=script&lang=js\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=00f09e69&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00f09e69\",\n null\n \n)\n\nexport default component.exports","import { getNavigation } from '@nextcloud/files';\nimport { onMounted, onUnmounted, shallowRef } from 'vue';\n/**\n * Composable to get the currently active files view from the files navigation\n */\nexport function useNavigation() {\n const navigation = getNavigation();\n const views = shallowRef(navigation.views);\n const currentView = shallowRef(navigation.active);\n /**\n * Event listener to update the `currentView`\n * @param event The update event\n */\n function onUpdateActive(event) {\n currentView.value = event.detail;\n }\n /**\n * Event listener to update all registered views\n */\n function onUpdateViews() {\n views.value = navigation.views;\n }\n onMounted(() => {\n navigation.addEventListener('update', onUpdateViews);\n navigation.addEventListener('updateActive', onUpdateActive);\n });\n onUnmounted(() => {\n navigation.removeEventListener('update', onUpdateViews);\n navigation.removeEventListener('updateActive', onUpdateActive);\n });\n return {\n currentView,\n views,\n };\n}\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst viewConfig = loadState('files', 'viewConfigs', {});\nexport const useViewConfigStore = function (...args) {\n const store = defineStore('viewconfig', {\n state: () => ({\n viewConfig,\n }),\n getters: {\n getConfig: (state) => (view) => state.viewConfig[view] || {},\n },\n actions: {\n /**\n * Update the view config local store\n */\n onUpdate(view, key, value) {\n if (!this.viewConfig[view]) {\n Vue.set(this.viewConfig, view, {});\n }\n Vue.set(this.viewConfig[view], key, value);\n },\n /**\n * Update the view config local store AND on server side\n */\n async update(view, key, value) {\n axios.put(generateUrl(`/apps/files/api/v1/views/${view}/${key}`), {\n value,\n });\n emit('files:viewconfig:updated', { view, key, value });\n },\n /**\n * Set the sorting key AND sort by ASC\n * The key param must be a valid key of a File object\n * If not found, will be searched within the File attributes\n */\n setSortingBy(key = 'basename', view = 'files') {\n // Save new config\n this.update(view, 'sorting_mode', key);\n this.update(view, 'sorting_direction', 'asc');\n },\n /**\n * Toggle the sorting direction\n */\n toggleSortingDirection(view = 'files') {\n const config = this.getConfig(view) || { sorting_direction: 'asc' };\n const newDirection = config.sorting_direction === 'asc' ? 'desc' : 'asc';\n // Save new config\n this.update(view, 'sorting_direction', newDirection);\n },\n },\n });\n const viewConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!viewConfigStore._initialized) {\n subscribe('files:viewconfig:updated', function ({ view, key, value }) {\n viewConfigStore.onUpdate(view, key, value);\n });\n viewConfigStore._initialized = true;\n }\n return viewConfigStore;\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppNavigation',{attrs:{\"data-cy-files-navigation\":\"\",\"aria-label\":_vm.t('files', 'Files')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return _vm._l((_vm.parentViews),function(view){return _c('NcAppNavigationItem',{key:view.id,attrs:{\"allow-collapse\":true,\"data-cy-files-navigation-item\":view.id,\"exact\":_vm.useExactRouteMatching(view),\"icon\":view.iconClass,\"name\":view.name,\"open\":_vm.isExpanded(view),\"pinned\":view.sticky,\"to\":_vm.generateToNavigation(view)},on:{\"update:open\":function($event){return _vm.onToggleExpand(view)}}},[(view.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":view.icon},slot:\"icon\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.childViews[view.id]),function(child){return _c('NcAppNavigationItem',{key:child.id,attrs:{\"data-cy-files-navigation-item\":child.id,\"exact-path\":true,\"icon\":child.iconClass,\"name\":child.name,\"to\":_vm.generateToNavigation(child)}},[(child.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":child.icon},slot:\"icon\"}):_vm._e()],1)})],2)})},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NavigationQuota'),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"aria-label\":_vm.t('files', 'Open the files app settings'),\"name\":_vm.t('files', 'Files settings'),\"data-cy-files-navigation-settings-button\":\"\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openSettings.apply(null, arguments)}}},[_c('IconCog',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"})],1)],1)]},proxy:true}])},[_vm._v(\" \"),_vm._v(\" \"),_c('SettingsModal',{attrs:{\"open\":_vm.settingsOpened,\"data-cy-files-navigation-settings\":\"\"},on:{\"close\":_vm.onSettingsClose}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=7387953c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=7387953c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=7387953c&scoped=true\"\nimport script from \"./Navigation.vue?vue&type=script&lang=ts\"\nexport * from \"./Navigation.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=7387953c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7387953c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{attrs:{\"page-heading\":_vm.pageHeading,\"data-cy-files-content\":\"\"}},[_c('div',{staticClass:\"files-list__header\"},[_c('BreadCrumbs',{attrs:{\"path\":_vm.dir},on:{\"reload\":_vm.fetchContent},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [(_vm.canShare && _vm.filesListWidth >= 512)?_c('NcButton',{staticClass:\"files-list__header-share-button\",class:{ 'files-list__header-share-button--shared': _vm.shareButtonType },attrs:{\"aria-label\":_vm.shareButtonLabel,\"title\":_vm.shareButtonLabel,\"type\":\"tertiary\"},on:{\"click\":_vm.openSharingSidebar},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.shareButtonType === _vm.ShareType.Link)?_c('LinkIcon'):_c('AccountPlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,4106306959)}):_vm._e(),_vm._v(\" \"),(!_vm.canUpload || _vm.isQuotaExceeded)?_c('NcButton',{staticClass:\"files-list__header-upload-button--disabled\",attrs:{\"aria-label\":_vm.cantUploadLabel,\"title\":_vm.cantUploadLabel,\"disabled\":true,\"type\":\"secondary\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'New'))+\"\\n\\t\\t\\t\\t\")]):(_vm.currentFolder)?_c('UploadPicker',{staticClass:\"files-list__header-upload-button\",attrs:{\"content\":_vm.dirContents,\"destination\":_vm.currentFolder,\"multiple\":true},on:{\"failed\":_vm.onUploadFail,\"uploaded\":_vm.onUpload}}):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_vm.filesListWidth >= 512 && _vm.enableGridView)?_c('NcButton',{staticClass:\"files-list__header-grid-button\",attrs:{\"aria-label\":_vm.gridViewButtonLabel,\"title\":_vm.gridViewButtonLabel,\"type\":\"tertiary\"},on:{\"click\":_vm.toggleGridView},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.userConfig.grid_view)?_c('ListViewIcon'):_c('ViewGridIcon')]},proxy:true}],null,false,1682960703)}):_vm._e(),_vm._v(\" \"),(_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__refresh-icon\"}):_vm._e()],1),_vm._v(\" \"),(!_vm.loading && _vm.canUpload)?_c('DragAndDropNotice',{attrs:{\"current-folder\":_vm.currentFolder}}):_vm._e(),_vm._v(\" \"),(_vm.loading && !_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__loading-icon\",attrs:{\"size\":38,\"name\":_vm.t('files', 'Loading current folder')}}):(!_vm.loading && _vm.isEmptyDir)?_c('NcEmptyContent',{attrs:{\"name\":_vm.currentView?.emptyTitle || _vm.t('files', 'No files in here'),\"description\":_vm.currentView?.emptyCaption || _vm.t('files', 'Upload some content or sync with your devices!'),\"data-cy-files-content-empty\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function(){return [(_vm.dir !== '/')?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files', 'Go to the previous folder'),\"type\":\"primary\",\"to\":_vm.toPreviousDir}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Go back'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.currentView.icon}})]},proxy:true}])}):_c('FilesListVirtual',{ref:\"filesListVirtual\",attrs:{\"current-folder\":_vm.currentFolder,\"current-view\":_vm.currentView,\"nodes\":_vm.dirContentsSorted}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulletedSquare.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulletedSquare.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormatListBulletedSquare.vue?vue&type=template&id=00aea13f\"\nimport script from \"./FormatListBulletedSquare.vue?vue&type=script&lang=js\"\nexport * from \"./FormatListBulletedSquare.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon format-list-bulleted-square-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountPlus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountPlus.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountPlus.vue?vue&type=template&id=a16afc28\"\nimport script from \"./AccountPlus.vue?vue&type=script&lang=js\"\nexport * from \"./AccountPlus.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-plus-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ViewGrid.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ViewGrid.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./ViewGrid.vue?vue&type=template&id=7b96a104\"\nimport script from \"./ViewGrid.vue?vue&type=script&lang=js\"\nexport * from \"./ViewGrid.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon view-grid-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Permission, View, FileAction, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Open details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (nodes) => {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n if (!nodes[0]) {\n return false;\n }\n // Only work if the sidebar is available\n if (!window?.OCA?.Files?.Sidebar) {\n return false;\n }\n return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n },\n async exec(node, view, dir) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n await window.OCA.Files.Sidebar.open(node.path);\n // Silently update current fileid\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { ...window.OCP.Files.Router.query, dir }, true);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n order: -50,\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { createClient, getPatcher } from 'webdav';\nimport { generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser, getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth';\nexport const rootPath = `/files/${getCurrentUser()?.uid}`;\nexport const defaultRootUrl = generateRemoteUrl('dav' + rootPath);\nexport const getClient = (rootUrl = defaultRootUrl) => {\n const client = createClient(rootUrl);\n // set CSRF token header\n const setHeaders = (token) => {\n client?.setHeaders({\n // Add this so the server knows it is an request from the browser\n 'X-Requested-With': 'XMLHttpRequest',\n // Inject user auth\n requesttoken: token ?? '',\n });\n };\n // refresh headers when request token changes\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n /**\n * Allow to override the METHOD to support dav REPORT\n *\n * @see https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/request.ts\n */\n const patcher = getPatcher();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // https://github.com/perry-mitchell/hot-patcher/issues/6\n patcher.patch('fetch', (url, options) => {\n const headers = options.headers;\n if (headers?.method) {\n options.method = headers.method;\n delete headers.method;\n }\n return fetch(url, options);\n });\n return client;\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { davGetDefaultPropfind, davResultToNode, davRootPath } from '@nextcloud/files';\nimport { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nimport logger from '../logger';\nimport Vue from 'vue';\nimport { getClient } from '../services/WebdavClient.ts';\nconst client = getClient();\nconst fetchNode = async (node) => {\n const propfindPayload = davGetDefaultPropfind();\n const result = await client.stat(`${davRootPath}${node.path}`, {\n details: true,\n data: propfindPayload,\n });\n return davResultToNode(result.data);\n};\nexport const useFilesStore = function (...args) {\n const store = defineStore('files', {\n state: () => ({\n files: {},\n roots: {},\n }),\n getters: {\n /**\n * Get a file or folder by its source\n */\n getNode: (state) => (source) => state.files[source],\n /**\n * Get a list of files or folders by their IDs\n * Note: does not return undefined values\n */\n getNodes: (state) => (sources) => sources\n .map(source => state.files[source])\n .filter(Boolean),\n /**\n * Get files or folders by their file ID\n * Multiple nodes can have the same file ID but different sources\n * (e.g. in a shared context)\n */\n getNodesById: (state) => (fileId) => Object.values(state.files).filter(node => node.fileid === fileId),\n /**\n * Get the root folder of a service\n */\n getRoot: (state) => (service) => state.roots[service],\n },\n actions: {\n updateNodes(nodes) {\n // Update the store all at once\n const files = nodes.reduce((acc, node) => {\n if (!node.fileid) {\n logger.error('Trying to update/set a node without fileid', { node });\n return acc;\n }\n acc[node.source] = node;\n return acc;\n }, {});\n Vue.set(this, 'files', { ...this.files, ...files });\n },\n deleteNodes(nodes) {\n nodes.forEach(node => {\n if (node.source) {\n Vue.delete(this.files, node.source);\n }\n });\n },\n setRoot({ service, root }) {\n Vue.set(this.roots, service, root);\n },\n onDeletedNode(node) {\n this.deleteNodes([node]);\n },\n onCreatedNode(node) {\n this.updateNodes([node]);\n },\n async onUpdatedNode(node) {\n if (!node.fileid) {\n logger.error('Trying to update/set a node without fileid', { node });\n return;\n }\n // If we have multiple nodes with the same file ID, we need to update all of them\n const nodes = this.getNodesById(node.fileid);\n if (nodes.length > 1) {\n await Promise.all(nodes.map(fetchNode)).then(this.updateNodes);\n logger.debug(nodes.length + ' nodes updated in store', { fileid: node.fileid });\n return;\n }\n // If we have only one node with the file ID, we can update it directly\n if (node.source === nodes[0].source) {\n this.updateNodes([node]);\n return;\n }\n // Otherwise, it means we receive an event for a node that is not in the store\n fetchNode(node).then(n => this.updateNodes([n]));\n },\n },\n });\n const fileStore = store(...args);\n // Make sure we only register the listeners once\n if (!fileStore._initialized) {\n subscribe('files:node:created', fileStore.onCreatedNode);\n subscribe('files:node:deleted', fileStore.onDeletedNode);\n subscribe('files:node:updated', fileStore.onUpdatedNode);\n fileStore._initialized = true;\n }\n return fileStore;\n};\n","import { defineStore } from 'pinia';\nimport { FileType, Folder, Node, getNavigation } from '@nextcloud/files';\nimport { subscribe } from '@nextcloud/event-bus';\nimport Vue from 'vue';\nimport logger from '../logger';\nimport { useFilesStore } from './files';\nexport const usePathsStore = function (...args) {\n const files = useFilesStore(...args);\n const store = defineStore('paths', {\n state: () => ({\n paths: {},\n }),\n getters: {\n getPath: (state) => {\n return (service, path) => {\n if (!state.paths[service]) {\n return undefined;\n }\n return state.paths[service][path];\n };\n },\n },\n actions: {\n addPath(payload) {\n // If it doesn't exists, init the service state\n if (!this.paths[payload.service]) {\n Vue.set(this.paths, payload.service, {});\n }\n // Now we can set the provided path\n Vue.set(this.paths[payload.service], payload.path, payload.source);\n },\n onCreatedNode(node) {\n const service = getNavigation()?.active?.id || 'files';\n if (!node.fileid) {\n logger.error('Node has no fileid', { node });\n return;\n }\n // Only add path if it's a folder\n if (node.type === FileType.Folder) {\n this.addPath({\n service,\n path: node.path,\n source: node.source,\n });\n }\n // Update parent folder children if exists\n // If the folder is the root, get it and update it\n if (node.dirname === '/') {\n const root = files.getRoot(service);\n if (!root._children) {\n Vue.set(root, '_children', []);\n }\n root._children.push(node.source);\n return;\n }\n // If the folder doesn't exists yet, it will be\n // fetched later and its children updated anyway.\n if (this.paths[service][node.dirname]) {\n const parentSource = this.paths[service][node.dirname];\n const parentFolder = files.getNode(parentSource);\n logger.debug('Path already exists, updating children', { parentFolder, node });\n if (!parentFolder) {\n logger.error('Parent folder not found', { parentSource });\n return;\n }\n if (!parentFolder._children) {\n Vue.set(parentFolder, '_children', []);\n }\n parentFolder._children.push(node.source);\n return;\n }\n logger.debug('Parent path does not exists, skipping children update', { node });\n },\n },\n });\n const pathsStore = store(...args);\n // Make sure we only register the listeners once\n if (!pathsStore._initialized) {\n // TODO: watch folders to update paths?\n subscribe('files:node:created', pathsStore.onCreatedNode);\n // subscribe('files:node:deleted', pathsStore.onDeletedNode)\n // subscribe('files:node:moved', pathsStore.onMovedNode)\n pathsStore._initialized = true;\n }\n return pathsStore;\n};\n","import { defineStore } from 'pinia';\nimport Vue from 'vue';\nexport const useSelectionStore = defineStore('selection', {\n state: () => ({\n selected: [],\n lastSelection: [],\n lastSelectedIndex: null,\n }),\n actions: {\n /**\n * Set the selection of fileIds\n */\n set(selection = []) {\n Vue.set(this, 'selected', [...new Set(selection)]);\n },\n /**\n * Set the last selected index\n */\n setLastIndex(lastSelectedIndex = null) {\n // Update the last selection if we provided a new selection starting point\n Vue.set(this, 'lastSelection', lastSelectedIndex ? this.selected : []);\n Vue.set(this, 'lastSelectedIndex', lastSelectedIndex);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'selected', []);\n Vue.set(this, 'lastSelection', []);\n Vue.set(this, 'lastSelectedIndex', null);\n },\n },\n});\n","import { defineStore } from 'pinia';\nimport { getUploader } from '@nextcloud/upload';\nlet uploader;\nexport const useUploaderStore = function (...args) {\n // Only init on runtime\n uploader = getUploader();\n const store = defineStore('uploader', {\n state: () => ({\n queue: uploader.queue,\n }),\n });\n return store(...args);\n};\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCanonicalLocale, getLanguage } from '@nextcloud/l10n';\n/**\n * Helper to create string representation\n * @param value Value to stringify\n */\nfunction stringify(value) {\n // The default representation of Date is not sortable because of the weekday names in front of it\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\n/**\n * Natural order a collection\n * You can define identifiers as callback functions, that get the element and return the value to sort.\n *\n * @param collection The collection to order\n * @param identifiers An array of identifiers to use, by default the identity of the element is used\n * @param orders Array of orders, by default all identifiers are sorted ascening\n */\nexport function orderBy(collection, identifiers, orders) {\n // If not identifiers are set we use the identity of the value\n identifiers = identifiers ?? [(value) => value];\n // By default sort the collection ascending\n orders = orders ?? [];\n const sorting = identifiers.map((_, index) => (orders[index] ?? 'asc') === 'asc' ? 1 : -1);\n const collator = Intl.Collator([getLanguage(), getCanonicalLocale()], {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: 'sort',\n });\n return [...collection].sort((a, b) => {\n for (const [index, identifier] of identifiers.entries()) {\n // Get the local compare of stringified value a and b\n const value = collator.compare(stringify(identifier(a)), stringify(identifier(b)));\n // If they do not match return the order\n if (value !== 0) {\n return value * sorting[index];\n }\n // If they match we need to continue with the next identifier\n }\n // If all are equal we need to return equality\n return 0;\n });\n}\n","import { emit } from '@nextcloud/event-bus';\nimport { Folder, Node, davGetClient, davGetDefaultPropfind, davResultToNode } from '@nextcloud/files';\nimport { openConflictPicker } from '@nextcloud/upload';\nimport { showError, showInfo } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport logger from '../logger.js';\n/**\n * This represents a Directory in the file tree\n * We extend the File class to better handling uploading\n * and stay as close as possible as the Filesystem API.\n * This also allow us to hijack the size or lastModified\n * properties to compute them dynamically.\n */\nexport class Directory extends File {\n /* eslint-disable no-use-before-define */\n _contents;\n constructor(name, contents = []) {\n super([], name, { type: 'httpd/unix-directory' });\n this._contents = contents;\n }\n set contents(contents) {\n this._contents = contents;\n }\n get contents() {\n return this._contents;\n }\n get size() {\n return this._computeDirectorySize(this);\n }\n get lastModified() {\n if (this._contents.length === 0) {\n return Date.now();\n }\n return this._computeDirectoryMtime(this);\n }\n /**\n * Get the last modification time of a file tree\n * This is not perfect, but will get us a pretty good approximation\n * @param directory the directory to traverse\n */\n _computeDirectoryMtime(directory) {\n return directory.contents.reduce((acc, file) => {\n return file.lastModified > acc\n // If the file is a directory, the lastModified will\n // also return the results of its _computeDirectoryMtime method\n // Fancy recursion, huh?\n ? file.lastModified\n : acc;\n }, 0);\n }\n /**\n * Get the size of a file tree\n * @param directory the directory to traverse\n */\n _computeDirectorySize(directory) {\n return directory.contents.reduce((acc, entry) => {\n // If the file is a directory, the size will\n // also return the results of its _computeDirectorySize method\n // Fancy recursion, huh?\n return acc + entry.size;\n }, 0);\n }\n}\n/**\n * Traverse a file tree using the Filesystem API\n * @param entry the entry to traverse\n */\nexport const traverseTree = async (entry) => {\n // Handle file\n if (entry.isFile) {\n return new Promise((resolve, reject) => {\n entry.file(resolve, reject);\n });\n }\n // Handle directory\n logger.debug('Handling recursive file tree', { entry: entry.name });\n const directory = entry;\n const entries = await readDirectory(directory);\n const contents = (await Promise.all(entries.map(traverseTree))).flat();\n return new Directory(directory.name, contents);\n};\n/**\n * Read a directory using Filesystem API\n * @param directory the directory to read\n */\nconst readDirectory = (directory) => {\n const dirReader = directory.createReader();\n return new Promise((resolve, reject) => {\n const entries = [];\n const getEntries = () => {\n dirReader.readEntries((results) => {\n if (results.length) {\n entries.push(...results);\n getEntries();\n }\n else {\n resolve(entries);\n }\n }, (error) => {\n reject(error);\n });\n };\n getEntries();\n });\n};\nexport const createDirectoryIfNotExists = async (absolutePath) => {\n const davClient = davGetClient();\n const dirExists = await davClient.exists(absolutePath);\n if (!dirExists) {\n logger.debug('Directory does not exist, creating it', { absolutePath });\n await davClient.createDirectory(absolutePath, { recursive: true });\n const stat = await davClient.stat(absolutePath, { details: true, data: davGetDefaultPropfind() });\n emit('files:node:created', davResultToNode(stat.data));\n }\n};\nexport const resolveConflict = async (files, destination, contents) => {\n try {\n // List all conflicting files\n const conflicts = files.filter((file) => {\n return contents.find((node) => node.basename === (file instanceof File ? file.name : file.basename));\n }).filter(Boolean);\n // List of incoming files that are NOT in conflict\n const uploads = files.filter((file) => {\n return !conflicts.includes(file);\n });\n // Let the user choose what to do with the conflicting files\n const { selected, renamed } = await openConflictPicker(destination.path, conflicts, contents);\n logger.debug('Conflict resolution', { uploads, selected, renamed });\n // If the user selected nothing, we cancel the upload\n if (selected.length === 0 && renamed.length === 0) {\n // User skipped\n showInfo(t('files', 'Conflicts resolution skipped'));\n logger.info('User skipped the conflict resolution');\n return [];\n }\n // Update the list of files to upload\n return [...uploads, ...selected, ...renamed];\n }\n catch (error) {\n console.error(error);\n // User cancelled\n showError(t('files', 'Upload cancelled'));\n logger.error('User cancelled the upload');\n }\n return [];\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\nimport { Permission } from '@nextcloud/files';\nimport PQueue from 'p-queue';\n// This is the processing queue. We only want to allow 3 concurrent requests\nlet queue;\n// Maximum number of concurrent operations\nconst MAX_CONCURRENCY = 5;\n/**\n * Get the processing queue\n */\nexport const getQueue = () => {\n if (!queue) {\n queue = new PQueue({ concurrency: MAX_CONCURRENCY });\n }\n return queue;\n};\nexport var MoveCopyAction;\n(function (MoveCopyAction) {\n MoveCopyAction[\"MOVE\"] = \"Move\";\n MoveCopyAction[\"COPY\"] = \"Copy\";\n MoveCopyAction[\"MOVE_OR_COPY\"] = \"move-or-copy\";\n})(MoveCopyAction || (MoveCopyAction = {}));\nexport const canMove = (nodes) => {\n const minPermission = nodes.reduce((min, node) => Math.min(min, node.permissions), Permission.ALL);\n return (minPermission & Permission.UPDATE) !== 0;\n};\nexport const canDownload = (nodes) => {\n return nodes.every(node => {\n const shareAttributes = JSON.parse(node.attributes?.['share-attributes'] ?? '[]');\n return !shareAttributes.some(attribute => attribute.scope === 'permissions' && attribute.enabled === false && attribute.key === 'download');\n });\n};\nexport const canCopy = (nodes) => {\n // a shared file cannot be copied if the download is disabled\n // it can be copied if the user has at least read permissions\n return canDownload(nodes)\n && !nodes.some(node => node.permissions === Permission.NONE);\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport const hashCode = function (str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash + str.charCodeAt(i)) | 0;\n }\n return (hash >>> 0);\n};\n","import { CancelablePromise } from 'cancelable-promise';\nimport { File, Folder, davParsePermissions, davGetDefaultPropfind } from '@nextcloud/files';\nimport { generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { getClient, rootPath } from './WebdavClient';\nimport { hashCode } from '../utils/hashUtils';\nimport logger from '../logger';\nconst client = getClient();\nexport const resultToNode = function (node) {\n const userId = getCurrentUser()?.uid;\n if (!userId) {\n throw new Error('No user id found');\n }\n const props = node.props;\n const permissions = davParsePermissions(props?.permissions);\n const owner = String(props['owner-id'] || userId);\n const source = generateRemoteUrl('dav' + rootPath + node.filename);\n const id = props?.fileid < 0\n ? hashCode(source)\n : props?.fileid || 0;\n const nodeData = {\n id,\n source,\n mtime: new Date(node.lastmod),\n mime: node.mime || 'application/octet-stream',\n size: props?.size || 0,\n permissions,\n owner,\n root: rootPath,\n attributes: {\n ...node,\n ...props,\n 'owner-id': owner,\n 'owner-display-name': String(props['owner-display-name']),\n hasPreview: !!props?.['has-preview'],\n failed: props?.fileid < 0,\n },\n };\n delete nodeData.attributes.props;\n return node.type === 'file'\n ? new File(nodeData)\n : new Folder(nodeData);\n};\nexport const getContents = (path = '/') => {\n const controller = new AbortController();\n const propfindPayload = davGetDefaultPropfind();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const contentsResponse = await client.getDirectoryContents(path, {\n details: true,\n data: propfindPayload,\n includeSelf: true,\n signal: controller.signal,\n });\n const root = contentsResponse.data[0];\n const contents = contentsResponse.data.slice(1);\n if (root.filename !== path) {\n throw new Error('Root node does not match requested path');\n }\n resolve({\n folder: resultToNode(root),\n contents: contents.map(result => {\n try {\n return resultToNode(result);\n }\n catch (error) {\n logger.error(`Invalid node detected '${result.basename}'`, { error });\n return null;\n }\n }).filter(Boolean),\n });\n }\n catch (error) {\n reject(error);\n }\n });\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport '@nextcloud/dialogs/style.css';\n// eslint-disable-next-line n/no-extraneous-import\nimport { AxiosError } from 'axios';\nimport { basename, join } from 'path';\nimport { emit } from '@nextcloud/event-bus';\nimport { FilePickerClosed, getFilePickerBuilder, showError } from '@nextcloud/dialogs';\nimport { FileAction, FileType, NodeStatus, davGetClient, davRootPath, davResultToNode, davGetDefaultPropfind, getUniqueName } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { openConflictPicker, hasConflict } from '@nextcloud/upload';\nimport Vue from 'vue';\nimport CopyIconSvg from '@mdi/svg/svg/folder-multiple.svg?raw';\nimport FolderMoveSvg from '@mdi/svg/svg/folder-move.svg?raw';\nimport { MoveCopyAction, canCopy, canMove, getQueue } from './moveOrCopyActionUtils';\nimport { getContents } from '../services/Files';\nimport logger from '../logger';\n/**\n * Return the action that is possible for the given nodes\n * @param {Node[]} nodes The nodes to check against\n * @return {MoveCopyAction} The action that is possible for the given nodes\n */\nconst getActionForNodes = (nodes) => {\n if (canMove(nodes)) {\n if (canCopy(nodes)) {\n return MoveCopyAction.MOVE_OR_COPY;\n }\n return MoveCopyAction.MOVE;\n }\n // Assuming we can copy as the enabled checks for copy permissions\n return MoveCopyAction.COPY;\n};\n/**\n * Handle the copy/move of a node to a destination\n * This can be imported and used by other scripts/components on server\n * @param {Node} node The node to copy/move\n * @param {Folder} destination The destination to copy/move the node to\n * @param {MoveCopyAction} method The method to use for the copy/move\n * @param {boolean} overwrite Whether to overwrite the destination if it exists\n * @return {Promise} A promise that resolves when the copy/move is done\n */\nexport const handleCopyMoveNodeTo = async (node, destination, method, overwrite = false) => {\n if (!destination) {\n return;\n }\n if (destination.type !== FileType.Folder) {\n throw new Error(t('files', 'Destination is not a folder'));\n }\n // Do not allow to MOVE a node to the same folder it is already located\n if (method === MoveCopyAction.MOVE && node.dirname === destination.path) {\n throw new Error(t('files', 'This file/folder is already in that directory'));\n }\n /**\n * Example:\n * - node: /foo/bar/file.txt -> path = /foo/bar/file.txt, destination: /foo\n * Allow move of /foo does not start with /foo/bar/file.txt so allow\n * - node: /foo , destination: /foo/bar\n * Do not allow as it would copy foo within itself\n * - node: /foo/bar.txt, destination: /foo\n * Allow copy a file to the same directory\n * - node: \"/foo/bar\", destination: \"/foo/bar 1\"\n * Allow to move or copy but we need to check with trailing / otherwise it would report false positive\n */\n if (`${destination.path}/`.startsWith(`${node.path}/`)) {\n throw new Error(t('files', 'You cannot move a file/folder onto itself or into a subfolder of itself'));\n }\n // Set loading state\n Vue.set(node, 'status', NodeStatus.LOADING);\n const queue = getQueue();\n return await queue.add(async () => {\n const copySuffix = (index) => {\n if (index === 1) {\n return t('files', '(copy)'); // TRANSLATORS: Mark a file as a copy of another file\n }\n return t('files', '(copy %n)', undefined, index); // TRANSLATORS: Meaning it is the n'th copy of a file\n };\n try {\n const client = davGetClient();\n const currentPath = join(davRootPath, node.path);\n const destinationPath = join(davRootPath, destination.path);\n if (method === MoveCopyAction.COPY) {\n let target = node.basename;\n // If we do not allow overwriting then find an unique name\n if (!overwrite) {\n const otherNodes = await client.getDirectoryContents(destinationPath);\n target = getUniqueName(node.basename, otherNodes.map((n) => n.basename), {\n suffix: copySuffix,\n ignoreFileExtension: node.type === FileType.Folder,\n });\n }\n await client.copyFile(currentPath, join(destinationPath, target));\n // If the node is copied into current directory the view needs to be updated\n if (node.dirname === destination.path) {\n const { data } = await client.stat(join(destinationPath, target), {\n details: true,\n data: davGetDefaultPropfind(),\n });\n emit('files:node:created', davResultToNode(data));\n }\n }\n else {\n // show conflict file popup if we do not allow overwriting\n const otherNodes = await getContents(destination.path);\n if (hasConflict([node], otherNodes.contents)) {\n try {\n // Let the user choose what to do with the conflicting files\n const { selected, renamed } = await openConflictPicker(destination.path, [node], otherNodes.contents);\n // two empty arrays: either only old files or conflict skipped -> no action required\n if (!selected.length && !renamed.length) {\n return;\n }\n }\n catch (error) {\n // User cancelled\n showError(t('files', 'Move cancelled'));\n return;\n }\n }\n // getting here means either no conflict, file was renamed to keep both files\n // in a conflict, or the selected file was chosen to be kept during the conflict\n await client.moveFile(currentPath, join(destinationPath, node.basename));\n // Delete the node as it will be fetched again\n // when navigating to the destination folder\n emit('files:node:deleted', node);\n }\n }\n catch (error) {\n if (error instanceof AxiosError) {\n if (error?.response?.status === 412) {\n throw new Error(t('files', 'A file or folder with that name already exists in this folder'));\n }\n else if (error?.response?.status === 423) {\n throw new Error(t('files', 'The files are locked'));\n }\n else if (error?.response?.status === 404) {\n throw new Error(t('files', 'The file does not exist anymore'));\n }\n else if (error.message) {\n throw new Error(error.message);\n }\n }\n logger.debug(error);\n throw new Error();\n }\n finally {\n Vue.set(node, 'status', undefined);\n }\n });\n};\n/**\n * Open a file picker for the given action\n * @param {MoveCopyAction} action The action to open the file picker for\n * @param {string} dir The directory to start the file picker in\n * @param {Node[]} nodes The nodes to move/copy\n * @return {Promise} The picked destination\n */\nconst openFilePickerForAction = async (action, dir = '/', nodes) => {\n const fileIDs = nodes.map(node => node.fileid).filter(Boolean);\n const filePicker = getFilePickerBuilder(t('files', 'Choose destination'))\n .allowDirectories(true)\n .setFilter((n) => {\n // We don't want to show the current nodes in the file picker\n return !fileIDs.includes(n.fileid);\n })\n .setMimeTypeFilter([])\n .setMultiSelect(false)\n .startAt(dir);\n return new Promise((resolve, reject) => {\n filePicker.setButtonFactory((selection, path) => {\n const buttons = [];\n const target = basename(path);\n const dirnames = nodes.map(node => node.dirname);\n const paths = nodes.map(node => node.path);\n if (action === MoveCopyAction.COPY || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Copy to {target}', { target }, undefined, { escape: false, sanitize: false }) : t('files', 'Copy'),\n type: 'primary',\n icon: CopyIconSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.COPY,\n });\n },\n });\n }\n // Invalid MOVE targets (but valid copy targets)\n if (dirnames.includes(path)) {\n // This file/folder is already in that directory\n return buttons;\n }\n if (paths.includes(path)) {\n // You cannot move a file/folder onto itself\n return buttons;\n }\n if (action === MoveCopyAction.MOVE || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Move to {target}', { target }, undefined, { escape: false, sanitize: false }) : t('files', 'Move'),\n type: action === MoveCopyAction.MOVE ? 'primary' : 'secondary',\n icon: FolderMoveSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.MOVE,\n });\n },\n });\n }\n return buttons;\n });\n const picker = filePicker.build();\n picker.pick().catch((error) => {\n logger.debug(error);\n if (error instanceof FilePickerClosed) {\n reject(new Error(t('files', 'Cancelled move or copy operation')));\n }\n else {\n reject(new Error(t('files', 'Move or copy operation failed')));\n }\n });\n });\n};\nexport const action = new FileAction({\n id: 'move-copy',\n displayName(nodes) {\n switch (getActionForNodes(nodes)) {\n case MoveCopyAction.MOVE:\n return t('files', 'Move');\n case MoveCopyAction.COPY:\n return t('files', 'Copy');\n case MoveCopyAction.MOVE_OR_COPY:\n return t('files', 'Move or copy');\n }\n },\n iconSvgInline: () => FolderMoveSvg,\n enabled(nodes) {\n // We only support moving/copying files within the user folder\n if (!nodes.every(node => node.root?.startsWith('/files/'))) {\n return false;\n }\n return nodes.length > 0 && (canMove(nodes) || canCopy(nodes));\n },\n async exec(node, view, dir) {\n const action = getActionForNodes([node]);\n let result;\n try {\n result = await openFilePickerForAction(action, dir, [node]);\n }\n catch (e) {\n logger.error(e);\n return false;\n }\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n if (error instanceof Error && !!error.message) {\n showError(error.message);\n // Silent action as we handle the toast\n return null;\n }\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n const action = getActionForNodes(nodes);\n const result = await openFilePickerForAction(action, dir, nodes);\n const promises = nodes.map(async (node) => {\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n logger.error(`Failed to ${result.action} node`, { node, error });\n return false;\n }\n });\n // We need to keep the selection on error!\n // So we do not return null, and for batch action\n // we let the front handle the error.\n return await Promise.all(promises);\n },\n order: 15,\n});\n","/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Folder, Node, NodeStatus, davRootPath } from '@nextcloud/files';\nimport { getUploader, hasConflict } from '@nextcloud/upload';\nimport { join } from 'path';\nimport { joinPaths } from '@nextcloud/paths';\nimport { showError, showInfo, showSuccess, showWarning } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport Vue from 'vue';\nimport { Directory, traverseTree, resolveConflict, createDirectoryIfNotExists } from './DropServiceUtils';\nimport { handleCopyMoveNodeTo } from '../actions/moveOrCopyAction';\nimport { MoveCopyAction } from '../actions/moveOrCopyActionUtils';\nimport logger from '../logger.js';\n/**\n * This function converts a list of DataTransferItems to a file tree.\n * It uses the Filesystem API if available, otherwise it falls back to the File API.\n * The File API will NOT be available if the browser is not in a secure context (e.g. HTTP).\n * ⚠️ When using this method, you need to use it as fast as possible, as the DataTransferItems\n * will be cleared after the first access to the props of one of the entries.\n *\n * @param items the list of DataTransferItems\n */\nexport const dataTransferToFileTree = async (items) => {\n // Check if the browser supports the Filesystem API\n // We need to cache the entries to prevent Blink engine bug that clears\n // the list (`data.items`) after first access props of one of the entries\n const entries = items\n .filter((item) => {\n if (item.kind !== 'file') {\n logger.debug('Skipping dropped item', { kind: item.kind, type: item.type });\n return false;\n }\n return true;\n }).map((item) => {\n // MDN recommends to try both, as it might be renamed in the future\n return item?.getAsEntry?.()\n ?? item?.webkitGetAsEntry?.()\n ?? item;\n });\n let warned = false;\n const fileTree = new Directory('root');\n // Traverse the file tree\n for (const entry of entries) {\n // Handle browser issues if Filesystem API is not available. Fallback to File API\n if (entry instanceof DataTransferItem) {\n logger.warn('Could not get FilesystemEntry of item, falling back to file');\n const file = entry.getAsFile();\n if (file === null) {\n logger.warn('Could not process DataTransferItem', { type: entry.type, kind: entry.kind });\n showError(t('files', 'One of the dropped files could not be processed'));\n continue;\n }\n // Warn the user that the browser does not support the Filesystem API\n // we therefore cannot upload directories recursively.\n if (file.type === 'httpd/unix-directory' || !file.type) {\n if (!warned) {\n logger.warn('Browser does not support Filesystem API. Directories will not be uploaded');\n showWarning(t('files', 'Your browser does not support the Filesystem API. Directories will not be uploaded'));\n warned = true;\n }\n continue;\n }\n fileTree.contents.push(file);\n continue;\n }\n // Use Filesystem API\n try {\n fileTree.contents.push(await traverseTree(entry));\n }\n catch (error) {\n // Do not throw, as we want to continue with the other files\n logger.error('Error while traversing file tree', { error });\n }\n }\n return fileTree;\n};\nexport const onDropExternalFiles = async (root, destination, contents) => {\n const uploader = getUploader();\n // Check for conflicts on root elements\n if (await hasConflict(root.contents, contents)) {\n root.contents = await resolveConflict(root.contents, destination, contents);\n }\n if (root.contents.length === 0) {\n logger.info('No files to upload', { root });\n showInfo(t('files', 'No files to upload'));\n return [];\n }\n // Let's process the files\n logger.debug(`Uploading files to ${destination.path}`, { root, contents: root.contents });\n const queue = [];\n const uploadDirectoryContents = async (directory, path) => {\n for (const file of directory.contents) {\n // This is the relative path to the resource\n // from the current uploader destination\n const relativePath = join(path, file.name);\n // If the file is a directory, we need to create it first\n // then browse its tree and upload its contents.\n if (file instanceof Directory) {\n const absolutePath = joinPaths(davRootPath, destination.path, relativePath);\n try {\n console.debug('Processing directory', { relativePath });\n await createDirectoryIfNotExists(absolutePath);\n await uploadDirectoryContents(file, relativePath);\n }\n catch (error) {\n showError(t('files', 'Unable to create the directory {directory}', { directory: file.name }));\n logger.error('', { error, absolutePath, directory: file });\n }\n continue;\n }\n // If we've reached a file, we can upload it\n logger.debug('Uploading file to ' + join(destination.path, relativePath), { file });\n // Overriding the root to avoid changing the current uploader context\n queue.push(uploader.upload(relativePath, file, destination.source));\n }\n };\n // Pause the uploader to prevent it from starting\n // while we compute the queue\n uploader.pause();\n // Upload the files. Using '/' as the starting point\n // as we already adjusted the uploader destination\n await uploadDirectoryContents(root, '/');\n uploader.start();\n // Wait for all promises to settle\n const results = await Promise.allSettled(queue);\n // Check for errors\n const errors = results.filter(result => result.status === 'rejected');\n if (errors.length > 0) {\n logger.error('Error while uploading files', { errors });\n showError(t('files', 'Some files could not be uploaded'));\n return [];\n }\n logger.debug('Files uploaded successfully');\n showSuccess(t('files', 'Files uploaded successfully'));\n return Promise.all(queue);\n};\nexport const onDropInternalFiles = async (nodes, destination, contents, isCopy = false) => {\n const queue = [];\n // Check for conflicts on root elements\n if (await hasConflict(nodes, contents)) {\n nodes = await resolveConflict(nodes, destination, contents);\n }\n if (nodes.length === 0) {\n logger.info('No files to process', { nodes });\n showInfo(t('files', 'No files to process'));\n return;\n }\n for (const node of nodes) {\n Vue.set(node, 'status', NodeStatus.LOADING);\n // TODO: resolve potential conflicts prior and force overwrite\n queue.push(handleCopyMoveNodeTo(node, destination, isCopy ? MoveCopyAction.COPY : MoveCopyAction.MOVE));\n }\n // Wait for all promises to settle\n const results = await Promise.allSettled(queue);\n nodes.forEach(node => Vue.set(node, 'status', undefined));\n // Check for errors\n const errors = results.filter(result => result.status === 'rejected');\n if (errors.length > 0) {\n logger.error('Error while copying or moving files', { errors });\n showError(isCopy ? t('files', 'Some files could not be copied') : t('files', 'Some files could not be moved'));\n return;\n }\n logger.debug('Files copy/move successful');\n showSuccess(isCopy ? t('files', 'Files copied successfully') : t('files', 'Files moved successfully'));\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nexport const useDragAndDropStore = defineStore('dragging', {\n state: () => ({\n dragging: [],\n }),\n actions: {\n /**\n * Set the selection of fileIds\n */\n set(selection = []) {\n Vue.set(this, 'dragging', selection);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'dragging', []);\n },\n },\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nexport default Vue.extend({\n data() {\n return {\n filesListWidth: null,\n };\n },\n mounted() {\n const fileListEl = document.querySelector('#app-content-vue');\n this.filesListWidth = fileListEl?.clientWidth ?? null;\n this.$resizeObserver = new ResizeObserver((entries) => {\n if (entries.length > 0 && entries[0].target === fileListEl) {\n this.filesListWidth = entries[0].contentRect.width;\n }\n });\n this.$resizeObserver.observe(fileListEl);\n },\n beforeDestroy() {\n this.$resizeObserver.disconnect();\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcBreadcrumbs',{staticClass:\"files-list__breadcrumbs\",class:{ 'files-list__breadcrumbs--with-progress': _vm.wrapUploadProgressBar },attrs:{\"data-cy-files-content-breadcrumbs\":\"\",\"aria-label\":_vm.t('files', 'Current directory path')},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_vm._t(\"actions\")]},proxy:true}],null,true)},_vm._l((_vm.sections),function(section,index){return _c('NcBreadcrumb',_vm._b({key:section.dir,attrs:{\"dir\":\"auto\",\"to\":section.to,\"force-icon-text\":index === 0 && _vm.filesListWidth >= 486,\"title\":_vm.titleForSection(index, section),\"aria-description\":_vm.ariaForSection(section)},on:{\"drop\":function($event){return _vm.onDrop($event, section.dir)}},nativeOn:{\"click\":function($event){return _vm.onClick(section.to)},\"dragover\":function($event){return _vm.onDragOver($event, section.dir)}},scopedSlots:_vm._u([(index === 0)?{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"size\":20,\"svg\":_vm.viewIcon}})]},proxy:true}:null],null,true)},'NcBreadcrumb',section,false))}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=77111ada&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=77111ada&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./BreadCrumbs.vue?vue&type=template&id=77111ada&scoped=true\"\nimport script from \"./BreadCrumbs.vue?vue&type=script&lang=ts\"\nexport * from \"./BreadCrumbs.vue?vue&type=script&lang=ts\"\nimport style0 from \"./BreadCrumbs.vue?vue&type=style&index=0&id=77111ada&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"77111ada\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { FileType } from '@nextcloud/files';\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n';\n/**\n * Extract dir and name from file path\n *\n * @param {string} path the full path\n * @return {string[]} [dirPath, fileName]\n */\nexport const extractFilePaths = function (path) {\n const pathSections = path.split('/');\n const fileName = pathSections[pathSections.length - 1];\n const dirPath = pathSections.slice(0, pathSections.length - 1).join('/');\n return [dirPath, fileName];\n};\n/**\n * Generate a translated summary of an array of nodes\n * @param {Node[]} nodes the nodes to summarize\n * @return {string}\n */\nexport const getSummaryFor = (nodes) => {\n const fileCount = nodes.filter(node => node.type === FileType.File).length;\n const folderCount = nodes.filter(node => node.type === FileType.Folder).length;\n if (fileCount === 0) {\n return n('files', '{folderCount} folder', '{folderCount} folders', folderCount, { folderCount });\n }\n else if (folderCount === 0) {\n return n('files', '{fileCount} file', '{fileCount} files', fileCount, { fileCount });\n }\n if (fileCount === 1) {\n return n('files', '1 file and {folderCount} folder', '1 file and {folderCount} folders', folderCount, { folderCount });\n }\n if (folderCount === 1) {\n return n('files', '{fileCount} file and 1 folder', '{fileCount} files and 1 folder', fileCount, { fileCount });\n }\n return t('files', '{fileCount} files and {folderCount} folders', { fileCount, folderCount });\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',_vm._g({staticClass:\"files-list__row\",class:{\n\t\t'files-list__row--dragover': _vm.dragover,\n\t\t'files-list__row--loading': _vm.isLoading,\n\t\t'files-list__row--active': _vm.isActive,\n\t},attrs:{\"data-cy-files-list-row\":\"\",\"data-cy-files-list-row-fileid\":_vm.fileid,\"data-cy-files-list-row-name\":_vm.source.basename,\"draggable\":_vm.canDrag}},_vm.rowListeners),[(_vm.source.attributes.failed)?_c('span',{staticClass:\"files-list__row--failed\"}):_vm._e(),_vm._v(\" \"),_c('FileEntryCheckbox',{attrs:{\"fileid\":_vm.fileid,\"is-loading\":_vm.isLoading,\"nodes\":_vm.nodes,\"source\":_vm.source}}),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\",attrs:{\"data-cy-files-list-row-name\":\"\"}},[_c('FileEntryPreview',{ref:\"preview\",attrs:{\"source\":_vm.source,\"dragover\":_vm.dragover},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}}),_vm._v(\" \"),_c('FileEntryName',{ref:\"name\",attrs:{\"display-name\":_vm.displayName,\"extension\":_vm.extension,\"files-list-width\":_vm.filesListWidth,\"nodes\":_vm.nodes,\"source\":_vm.source},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}})],1),_vm._v(\" \"),_c('FileEntryActions',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isRenamingSmallScreen),expression:\"!isRenamingSmallScreen\"}],ref:\"actions\",class:`files-list__row-actions-${_vm.uniqueId}`,attrs:{\"files-list-width\":_vm.filesListWidth,\"loading\":_vm.loading,\"opened\":_vm.openedMenu,\"source\":_vm.source},on:{\"update:loading\":function($event){_vm.loading=$event},\"update:opened\":function($event){_vm.openedMenu=$event}}}),_vm._v(\" \"),(!_vm.compact && _vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__row-size\",style:(_vm.sizeOpacity),attrs:{\"data-cy-files-list-row-size\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('span',[_vm._v(_vm._s(_vm.size))])]):_vm._e(),_vm._v(\" \"),(!_vm.compact && _vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__row-mtime\",style:(_vm.mtimeOpacity),attrs:{\"data-cy-files-list-row-mtime\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[(_vm.source.mtime)?_c('NcDateTime',{attrs:{\"timestamp\":_vm.source.mtime,\"ignore-seconds\":true}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('td',{key:column.id,staticClass:\"files-list__row-column-custom\",class:`files-list__row-${_vm.currentView?.id}-${column.id}`,attrs:{\"data-cy-files-list-row-column-custom\":column.id},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('CustomElementRender',{attrs:{\"current-view\":_vm.currentView,\"render\":column.render,\"source\":_vm.source}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nexport const useActionsMenuStore = defineStore('actionsmenu', {\n state: () => ({\n opened: null,\n }),\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nexport const useRenamingStore = function (...args) {\n const store = defineStore('renaming', {\n state: () => ({\n renamingNode: undefined,\n newName: '',\n }),\n });\n const renamingStore = store(...args);\n // Make sure we only register the listeners once\n if (!renamingStore._initialized) {\n subscribe('files:node:rename', function (node) {\n renamingStore.renamingNode = node;\n renamingStore.newName = node.basename;\n });\n renamingStore._initialized = true;\n }\n return renamingStore;\n};\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileMultiple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileMultiple.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileMultiple.vue?vue&type=template&id=27b46e04\"\nimport script from \"./FileMultiple.vue?vue&type=script&lang=js\"\nexport * from \"./FileMultiple.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-multiple-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list-drag-image\"},[_c('span',{staticClass:\"files-list-drag-image__icon\"},[_c('span',{ref:\"previewImg\"}),_vm._v(\" \"),(_vm.isSingleFolder)?_c('FolderIcon'):_c('FileMultipleIcon')],1),_vm._v(\" \"),_c('span',{staticClass:\"files-list-drag-image__name\"},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=style&index=0&id=b63e55d4&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=style&index=0&id=b63e55d4&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DragAndDropPreview.vue?vue&type=template&id=b63e55d4\"\nimport script from \"./DragAndDropPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./DragAndDropPreview.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DragAndDropPreview.vue?vue&type=style&index=0&id=b63e55d4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DragAndDropPreview from '../components/DragAndDropPreview.vue';\nimport Vue from 'vue';\nconst Preview = Vue.extend(DragAndDropPreview);\nlet preview;\nexport const getDragAndDropPreview = async (nodes) => {\n return new Promise((resolve) => {\n if (!preview) {\n preview = new Preview().$mount();\n document.body.appendChild(preview.$el);\n }\n preview.update(nodes);\n preview.$on('loaded', () => {\n resolve(preview.$el);\n preview.$off('loaded');\n });\n });\n};\n","/**\n * @copyright Copyright (c) 2024 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { showError } from '@nextcloud/dialogs';\nimport { FileType, Permission, Folder, File as NcFile, NodeStatus, Node, View } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { generateUrl } from '@nextcloud/router';\nimport { vOnClickOutside } from '@vueuse/components';\nimport { extname } from 'path';\nimport Vue, { defineComponent } from 'vue';\nimport { action as sidebarAction } from '../actions/sidebarAction.ts';\nimport { getDragAndDropPreview } from '../utils/dragUtils.ts';\nimport { hashCode } from '../utils/hashUtils.ts';\nimport { dataTransferToFileTree, onDropExternalFiles, onDropInternalFiles } from '../services/DropService.ts';\nimport logger from '../logger.js';\nimport FileEntryActions from '../components/FileEntry/FileEntryActions.vue';\nVue.directive('onClickOutside', vOnClickOutside);\nexport default defineComponent({\n props: {\n source: {\n type: [Folder, NcFile, Node],\n required: true,\n },\n nodes: {\n type: Array,\n required: true,\n },\n filesListWidth: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n loading: '',\n dragover: false,\n gridMode: false,\n };\n },\n computed: {\n currentDir() {\n // Remove any trailing slash but leave root slash\n return (this.$route?.query?.dir?.toString() || '/').replace(/^(.+)\\/$/, '$1');\n },\n currentFileId() {\n return this.$route.params?.fileid || this.$route.query?.fileid || null;\n },\n fileid() {\n return this.source?.fileid;\n },\n uniqueId() {\n return hashCode(this.source.source);\n },\n isLoading() {\n return this.source.status === NodeStatus.LOADING;\n },\n extension() {\n if (this.source.attributes?.displayname) {\n return extname(this.source.attributes.displayname);\n }\n return this.source.extension || '';\n },\n displayName() {\n const ext = this.extension;\n const name = String(this.source.attributes.displayname || this.source.basename);\n // Strip extension from name if defined\n return !ext ? name : name.slice(0, 0 - ext.length);\n },\n draggingFiles() {\n return this.draggingStore.dragging;\n },\n selectedFiles() {\n return this.selectionStore.selected;\n },\n isSelected() {\n return this.selectedFiles.includes(this.source.source);\n },\n isRenaming() {\n return this.renamingStore.renamingNode === this.source;\n },\n isRenamingSmallScreen() {\n return this.isRenaming && this.filesListWidth < 512;\n },\n isActive() {\n return String(this.fileid) === String(this.currentFileId);\n },\n canDrag() {\n if (this.isRenaming) {\n return false;\n }\n const canDrag = (node) => {\n return (node?.permissions & Permission.UPDATE) !== 0;\n };\n // If we're dragging a selection, we need to check all files\n if (this.selectedFiles.length > 0) {\n const nodes = this.selectedFiles.map(source => this.filesStore.getNode(source));\n return nodes.every(canDrag);\n }\n return canDrag(this.source);\n },\n canDrop() {\n if (this.source.type !== FileType.Folder) {\n return false;\n }\n // If the current folder is also being dragged, we can't drop it on itself\n if (this.draggingFiles.includes(this.source.source)) {\n return false;\n }\n return (this.source.permissions & Permission.CREATE) !== 0;\n },\n openedMenu: {\n get() {\n return this.actionsMenuStore.opened === this.uniqueId.toString();\n },\n set(opened) {\n this.actionsMenuStore.opened = opened ? this.uniqueId.toString() : null;\n },\n },\n isRenaming() {\n return this.renamingStore.renamingNode === this.source;\n },\n },\n watch: {\n /**\n * When the source changes, reset the preview\n * and fetch the new one.\n */\n source(a, b) {\n if (a.source !== b.source) {\n this.resetState();\n }\n },\n },\n beforeDestroy() {\n this.resetState();\n },\n methods: {\n resetState() {\n // Reset loading state\n this.loading = '';\n // Reset the preview state\n this.$refs?.preview?.reset?.();\n // Close menu\n this.openedMenu = false;\n },\n // Open the actions menu on right click\n onRightClick(event) {\n // If already opened, fallback to default browser\n if (this.openedMenu) {\n return;\n }\n // The grid mode is compact enough to not care about\n // the actions menu mouse position\n if (!this.gridMode) {\n // Actions menu is contained within the app content\n const root = this.$el?.closest('main.app-content');\n const contentRect = root.getBoundingClientRect();\n // Using Math.min/max to prevent the menu from going out of the AppContent\n // 200 = max width of the menu\n root.style.setProperty('--mouse-pos-x', Math.max(0, event.clientX - contentRect.left - 200) + 'px');\n root.style.setProperty('--mouse-pos-y', Math.max(0, event.clientY - contentRect.top) + 'px');\n }\n else {\n // Reset any right menu position potentially set\n const root = this.$el?.closest('main.app-content');\n root.style.removeProperty('--mouse-pos-x');\n root.style.removeProperty('--mouse-pos-y');\n }\n // If the clicked row is in the selection, open global menu\n const isMoreThanOneSelected = this.selectedFiles.length > 1;\n this.actionsMenuStore.opened = this.isSelected && isMoreThanOneSelected ? 'global' : this.uniqueId.toString();\n // Prevent any browser defaults\n event.preventDefault();\n event.stopPropagation();\n },\n execDefaultAction(event) {\n // Ignore click if we are renaming\n if (this.isRenaming) {\n return;\n }\n // Ignore right click.\n if (event.button > 1) {\n return;\n }\n // if ctrl+click or middle mouse button, open in new tab\n if (event.ctrlKey || event.metaKey || event.button === 1) {\n event.preventDefault();\n window.open(generateUrl('/f/{fileId}', { fileId: this.fileid }));\n return false;\n }\n const actions = this.$refs.actions;\n actions.execDefaultAction(event);\n },\n openDetailsIfAvailable(event) {\n event.preventDefault();\n event.stopPropagation();\n if (sidebarAction?.enabled?.([this.source], this.currentView)) {\n sidebarAction.exec(this.source, this.currentView, this.currentDir);\n }\n },\n onDragOver(event) {\n this.dragover = this.canDrop;\n if (!this.canDrop) {\n event.dataTransfer.dropEffect = 'none';\n return;\n }\n // Handle copy/move drag and drop\n if (event.ctrlKey) {\n event.dataTransfer.dropEffect = 'copy';\n }\n else {\n event.dataTransfer.dropEffect = 'move';\n }\n },\n onDragLeave(event) {\n // Counter bubbling, make sure we're ending the drag\n // only when we're leaving the current element\n const currentTarget = event.currentTarget;\n if (currentTarget?.contains(event.relatedTarget)) {\n return;\n }\n this.dragover = false;\n },\n async onDragStart(event) {\n event.stopPropagation();\n if (!this.canDrag || !this.fileid) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n logger.debug('Drag started', { event });\n // Make sure that we're not dragging a file like the preview\n event.dataTransfer?.clearData?.();\n // Reset any renaming\n this.renamingStore.$reset();\n // Dragging set of files, if we're dragging a file\n // that is already selected, we use the entire selection\n if (this.selectedFiles.includes(this.source.source)) {\n this.draggingStore.set(this.selectedFiles);\n }\n else {\n this.draggingStore.set([this.source.source]);\n }\n const nodes = this.draggingStore.dragging\n .map(source => this.filesStore.getNode(source));\n const image = await getDragAndDropPreview(nodes);\n event.dataTransfer?.setDragImage(image, -10, -10);\n },\n onDragEnd() {\n this.draggingStore.reset();\n this.dragover = false;\n logger.debug('Drag ended');\n },\n async onDrop(event) {\n // skip if native drop like text drag and drop from files names\n if (!this.draggingFiles && !event.dataTransfer?.items?.length) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n // Caching the selection\n const selection = this.draggingFiles;\n const items = [...event.dataTransfer?.items || []];\n // We need to process the dataTransfer ASAP before the\n // browser clears it. This is why we cache the items too.\n const fileTree = await dataTransferToFileTree(items);\n // We might not have the target directory fetched yet\n const contents = await this.currentView?.getContents(this.source.path);\n const folder = contents?.folder;\n if (!folder) {\n showError(this.t('files', 'Target folder does not exist any more'));\n return;\n }\n // If another button is pressed, cancel it. This\n // allows cancelling the drag with the right click.\n if (!this.canDrop || event.button) {\n return;\n }\n const isCopy = event.ctrlKey;\n this.dragover = false;\n logger.debug('Dropped', { event, folder, selection, fileTree });\n // Check whether we're uploading files\n if (fileTree.contents.length > 0) {\n await onDropExternalFiles(fileTree, folder, contents.contents);\n return;\n }\n // Else we're moving/copying files\n const nodes = selection.map(source => this.filesStore.getNode(source));\n await onDropInternalFiles(nodes, folder, contents.contents, isCopy);\n // Reset selection after we dropped the files\n // if the dropped files are within the selection\n if (selection.some(source => this.selectedFiles.includes(source))) {\n logger.debug('Dropped selection, resetting select store...');\n this.selectionStore.reset();\n }\n },\n t,\n },\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CustomElementRender.vue?vue&type=template&id=08a118c6\"\nimport script from \"./CustomElementRender.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomElementRender.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('td',{staticClass:\"files-list__row-actions\",attrs:{\"data-cy-files-list-row-actions\":\"\"}},[_vm._l((_vm.enabledRenderActions),function(action){return _c('CustomElementRender',{key:action.id,staticClass:\"files-list__row-action--inline\",class:'files-list__row-action-' + action.id,attrs:{\"current-view\":_vm.currentView,\"render\":action.renderInline,\"source\":_vm.source}})}),_vm._v(\" \"),_c('NcActions',{ref:\"actionsMenu\",attrs:{\"boundaries-element\":_vm.getBoundariesElement,\"container\":_vm.getBoundariesElement,\"force-name\":true,\"type\":\"tertiary\",\"force-menu\":_vm.enabledInlineActions.length === 0 /* forceMenu only if no inline actions */,\"inline\":_vm.enabledInlineActions.length,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event},\"close\":function($event){_vm.openedSubmenu = null}}},[_vm._l((_vm.enabledMenuActions),function(action){return _c('NcActionButton',{key:action.id,ref:`action-${action.id}`,refInFor:true,class:{\n\t\t\t\t[`files-list__row-action-${action.id}`]: true,\n\t\t\t\t[`files-list__row-action--menu`]: _vm.isMenu(action.id)\n\t\t\t},attrs:{\"close-after-click\":!_vm.isMenu(action.id),\"data-cy-files-list-row-action\":action.id,\"is-menu\":_vm.isMenu(action.id),\"title\":action.title?.([_vm.source], _vm.currentView)},on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.mountType === 'shared' && action.id === 'sharing-status' ? '' : _vm.actionDisplayName(action))+\"\\n\\t\\t\")])}),_vm._v(\" \"),(_vm.openedSubmenu && _vm.enabledSubmenuActions[_vm.openedSubmenu?.id])?[_c('NcActionButton',{staticClass:\"files-list__row-action-back\",on:{\"click\":function($event){return _vm.onBackToMenuClick(_vm.openedSubmenu)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ArrowLeftIcon')]},proxy:true}],null,false,3001860362)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.actionDisplayName(_vm.openedSubmenu))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.enabledSubmenuActions[_vm.openedSubmenu?.id]),function(action){return _c('NcActionButton',{key:action.id,staticClass:\"files-list__row-action--submenu\",class:`files-list__row-action-${action.id}`,attrs:{\"close-after-click\":\"\",\"data-cy-files-list-row-action\":action.id,\"title\":action.title?.([_vm.source], _vm.currentView)},on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.actionDisplayName(action))+\"\\n\\t\\t\\t\")])})]:_vm._e()],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArrowLeft.vue?vue&type=template&id=214c9a86\"\nimport script from \"./ArrowLeft.vue?vue&type=script&lang=js\"\nexport * from \"./ArrowLeft.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon arrow-left-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=0&id=0ef7511c&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=0&id=0ef7511c&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=1&id=0ef7511c&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=1&id=0ef7511c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileEntryActions.vue?vue&type=template&id=0ef7511c&scoped=true\"\nimport script from \"./FileEntryActions.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FileEntryActions.vue?vue&type=style&index=0&id=0ef7511c&prod&lang=scss\"\nimport style1 from \"./FileEntryActions.vue?vue&type=style&index=1&id=0ef7511c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ef7511c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryCheckbox.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryCheckbox.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('td',{staticClass:\"files-list__row-checkbox\",on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.resetSelection.apply(null, arguments)}}},[(_vm.isLoading)?_c('NcLoadingIcon'):_c('NcCheckboxRadioSwitch',{attrs:{\"aria-label\":_vm.ariaLabel,\"checked\":_vm.isSelected},on:{\"update:checked\":_vm.onSelectionChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\n/**\n * Observe various events and save the current\n * special keys states. Useful for checking the\n * current status of a key when executing a method.\n */\nexport const useKeyboardStore = function (...args) {\n const store = defineStore('keyboard', {\n state: () => ({\n altKey: false,\n ctrlKey: false,\n metaKey: false,\n shiftKey: false,\n }),\n actions: {\n onEvent(event) {\n if (!event) {\n event = window.event;\n }\n Vue.set(this, 'altKey', !!event.altKey);\n Vue.set(this, 'ctrlKey', !!event.ctrlKey);\n Vue.set(this, 'metaKey', !!event.metaKey);\n Vue.set(this, 'shiftKey', !!event.shiftKey);\n },\n },\n });\n const keyboardStore = store(...args);\n // Make sure we only register the listeners once\n if (!keyboardStore._initialized) {\n window.addEventListener('keydown', keyboardStore.onEvent);\n window.addEventListener('keyup', keyboardStore.onEvent);\n window.addEventListener('mousemove', keyboardStore.onEvent);\n keyboardStore._initialized = true;\n }\n return keyboardStore;\n};\n","import { render, staticRenderFns } from \"./FileEntryCheckbox.vue?vue&type=template&id=9cf669b4\"\nimport script from \"./FileEntryCheckbox.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryCheckbox.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isRenaming)?_c('form',{directives:[{name:\"on-click-outside\",rawName:\"v-on-click-outside\",value:(_vm.stopRenaming),expression:\"stopRenaming\"}],staticClass:\"files-list__row-rename\",attrs:{\"aria-label\":_vm.t('files', 'Rename file')},on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onRename.apply(null, arguments)}}},[_c('NcTextField',{ref:\"renameInput\",attrs:{\"label\":_vm.renameLabel,\"autofocus\":true,\"minlength\":1,\"required\":true,\"value\":_vm.newName,\"enterkeyhint\":\"done\"},on:{\"update:value\":function($event){_vm.newName=$event},\"keyup\":[_vm.checkInputValidity,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.stopRenaming.apply(null, arguments)}]}})],1):_c(_vm.linkTo.is,_vm._b({ref:\"basename\",tag:\"component\",staticClass:\"files-list__row-name-link\",attrs:{\"aria-hidden\":_vm.isRenaming,\"data-cy-files-list-row-name-link\":\"\"}},'component',_vm.linkTo.params,false),[_c('span',{staticClass:\"files-list__row-name-text\"},[_c('span',{staticClass:\"files-list__row-name-\",domProps:{\"textContent\":_vm._s(_vm.displayName)}}),_vm._v(\" \"),_c('span',{staticClass:\"files-list__row-name-ext\",domProps:{\"textContent\":_vm._s(_vm.extension)}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileEntryName.vue?vue&type=template&id=5b65f055\"\nimport script from \"./FileEntryName.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryName.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"files-list__row-icon\"},[(_vm.source.type === 'folder')?[(_vm.dragover)?_vm._m(0):[_vm._m(1),_vm._v(\" \"),(_vm.folderOverlay)?_c(_vm.folderOverlay,{tag:\"OverlayIcon\",staticClass:\"files-list__row-icon-overlay\"}):_vm._e()]]:(_vm.previewUrl && _vm.backgroundFailed !== true)?_c('img',{ref:\"previewImg\",staticClass:\"files-list__row-icon-preview\",class:{'files-list__row-icon-preview--loaded': _vm.backgroundFailed === false},attrs:{\"alt\":\"\",\"loading\":\"lazy\",\"src\":_vm.previewUrl},on:{\"error\":_vm.onBackgroundError,\"load\":function($event){_vm.backgroundFailed = false}}}):_vm._m(2),_vm._v(\" \"),(_vm.isFavorite)?_c('span',{staticClass:\"files-list__row-icon-favorite\"},[_vm._m(3)],1):_vm._e(),_vm._v(\" \"),(_vm.fileOverlay)?_c(_vm.fileOverlay,{tag:\"OverlayIcon\",staticClass:\"files-list__row-icon-overlay files-list__row-icon-overlay--file\"}):_vm._e()],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FolderOpenIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FolderIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FileIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FavoriteIcon')\n}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=e3c8d598\"\nimport script from \"./File.vue?vue&type=script&lang=js\"\nexport * from \"./File.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderOpen.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderOpen.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./FolderOpen.vue?vue&type=template&id=79cee0a4\"\nimport script from \"./FolderOpen.vue?vue&type=script&lang=js\"\nexport * from \"./FolderOpen.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon folder-open-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Key.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Key.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Key.vue?vue&type=template&id=01a06d54\"\nimport script from \"./Key.vue?vue&type=script&lang=js\"\nexport * from \"./Key.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon key-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Network.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Network.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Network.vue?vue&type=template&id=29f8873c\"\nimport script from \"./Network.vue?vue&type=script&lang=js\"\nexport * from \"./Network.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon network-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Tag.vue?vue&type=template&id=75dd05e4\"\nimport script from \"./Tag.vue?vue&type=script&lang=js\"\nexport * from \"./Tag.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tag-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./PlayCircle.vue?vue&type=template&id=6901b3e6\"\nimport script from \"./PlayCircle.vue?vue&type=script&lang=js\"\nexport * from \"./PlayCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon play-circle-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectivesIcon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectivesIcon.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./CollectivesIcon.vue?vue&type=template&id=18541dcc\"\nimport script from \"./CollectivesIcon.vue?vue&type=script&lang=js\"\nexport * from \"./CollectivesIcon.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon collectives-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 16 16\"}},[_c('path',{attrs:{\"d\":\"M2.9,8.8c0-1.2,0.4-2.4,1.2-3.3L0.3,6c-0.2,0-0.3,0.3-0.1,0.4l2.7,2.6C2.9,9,2.9,8.9,2.9,8.8z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M8,3.7c0.7,0,1.3,0.1,1.9,0.4L8.2,0.6c-0.1-0.2-0.3-0.2-0.4,0L6.1,4C6.7,3.8,7.3,3.7,8,3.7z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M3.7,11.5L3,15.2c0,0.2,0.2,0.4,0.4,0.3l3.3-1.7C5.4,13.4,4.4,12.6,3.7,11.5z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M15.7,6l-3.7-0.5c0.7,0.9,1.2,2,1.2,3.3c0,0.1,0,0.2,0,0.3l2.7-2.6C15.9,6.3,15.9,6.1,15.7,6z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M12.3,11.5c-0.7,1.1-1.8,1.9-3,2.2l3.3,1.7c0.2,0.1,0.4-0.1,0.4-0.3L12.3,11.5z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M9.6,10.1c-0.4,0.5-1,0.8-1.6,0.8c-1.1,0-2-0.9-2.1-2C5.9,7.7,6.8,6.7,8,6.7c0.6,0,1.1,0.3,1.5,0.7 c0.1,0.1,0.1,0.1,0.2,0.1h1.4c0.2,0,0.4-0.2,0.3-0.5c-0.7-1.3-2.1-2.2-3.8-2.1C5.8,5,4.3,6.6,4.1,8.5C4,10.8,5.8,12.7,8,12.7 c1.6,0,2.9-0.9,3.5-2.3c0.1-0.2-0.1-0.4-0.3-0.4H9.9C9.8,10,9.7,10,9.6,10.1z\"}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcIconSvgWrapper',{staticClass:\"favorite-marker-icon\",attrs:{\"name\":_vm.t('files', 'Favorite'),\"svg\":_vm.StarSvg}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=style&index=0&id=42ea6dd4&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=style&index=0&id=42ea6dd4&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FavoriteIcon.vue?vue&type=template&id=42ea6dd4&scoped=true\"\nimport script from \"./FavoriteIcon.vue?vue&type=script&lang=ts\"\nexport * from \"./FavoriteIcon.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FavoriteIcon.vue?vue&type=style&index=0&id=42ea6dd4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42ea6dd4\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryPreview.vue?vue&type=script&lang=ts\"","/**\n * @copyright Copyright (c) 2023 Louis Chmn \n *\n * @author Louis Chmn \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Node, registerDavProperty } from '@nextcloud/files';\nexport function initLivePhotos() {\n registerDavProperty('nc:metadata-files-live-photo', { nc: 'http://nextcloud.org/ns' });\n}\n/**\n * @param {Node} node - The node\n */\nexport function isLivePhoto(node) {\n return node.attributes['metadata-files-live-photo'] !== undefined;\n}\n","import { render, staticRenderFns } from \"./FileEntryPreview.vue?vue&type=template&id=29810d15\"\nimport script from \"./FileEntryPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryPreview.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileEntry.vue?vue&type=template&id=97c5f55c\"\nimport script from \"./FileEntry.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntry.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryGrid.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryGrid.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"files-list__row\",class:{'files-list__row--active': _vm.isActive, 'files-list__row--dragover': _vm.dragover, 'files-list__row--loading': _vm.isLoading},attrs:{\"data-cy-files-list-row\":\"\",\"data-cy-files-list-row-fileid\":_vm.fileid,\"data-cy-files-list-row-name\":_vm.source.basename,\"draggable\":_vm.canDrag},on:{\"contextmenu\":_vm.onRightClick,\"dragover\":_vm.onDragOver,\"dragleave\":_vm.onDragLeave,\"dragstart\":_vm.onDragStart,\"dragend\":_vm.onDragEnd,\"drop\":_vm.onDrop}},[(_vm.source.attributes.failed)?_c('span',{staticClass:\"files-list__row--failed\"}):_vm._e(),_vm._v(\" \"),_c('FileEntryCheckbox',{attrs:{\"fileid\":_vm.fileid,\"is-loading\":_vm.isLoading,\"nodes\":_vm.nodes,\"source\":_vm.source}}),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\",attrs:{\"data-cy-files-list-row-name\":\"\"}},[_c('FileEntryPreview',{ref:\"preview\",attrs:{\"dragover\":_vm.dragover,\"grid-mode\":true,\"source\":_vm.source},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}}),_vm._v(\" \"),_c('FileEntryName',{ref:\"name\",attrs:{\"display-name\":_vm.displayName,\"extension\":_vm.extension,\"files-list-width\":_vm.filesListWidth,\"grid-mode\":true,\"nodes\":_vm.nodes,\"source\":_vm.source},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}})],1),_vm._v(\" \"),_c('FileEntryActions',{ref:\"actions\",class:`files-list__row-actions-${_vm.uniqueId}`,attrs:{\"files-list-width\":_vm.filesListWidth,\"grid-mode\":true,\"loading\":_vm.loading,\"opened\":_vm.openedMenu,\"source\":_vm.source},on:{\"update:loading\":function($event){_vm.loading=$event},\"update:opened\":function($event){_vm.openedMenu=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./FileEntryGrid.vue?vue&type=template&id=b1769a56\"\nimport script from \"./FileEntryGrid.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryGrid.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.enabled),expression:\"enabled\"}],class:`files-list__header-${_vm.header.id}`},[_c('span',{ref:\"mount\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesListHeader.vue?vue&type=template&id=0434f153\"\nimport script from \"./FilesListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListHeader.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__row-checkbox\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('files', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.summary))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-size\"},[_c('span',[_vm._v(_vm._s(_vm.totalSize))])]):_vm._e(),_vm._v(\" \"),(_vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-mtime\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[_c('span',[_vm._v(_vm._s(column.summary?.(_vm.nodes, _vm.currentView)))])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableFooter.vue?vue&type=template&id=a85bde20&scoped=true\"\nimport script from \"./FilesListTableFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableFooter.vue?vue&type=style&index=0&id=a85bde20&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a85bde20\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"files-list__row-head\"},[_c('th',{staticClass:\"files-list__column files-list__row-checkbox\",on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.resetSelection.apply(null, arguments)}}},[_c('NcCheckboxRadioSwitch',_vm._b({on:{\"update:checked\":_vm.onToggleAll}},'NcCheckboxRadioSwitch',_vm.selectAllBind,false))],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__column files-list__row-name files-list__column--sortable\",attrs:{\"aria-sort\":_vm.ariaSortForMode('basename')}},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Name'),\"mode\":\"basename\"}})],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-size\",class:{ 'files-list__column--sortable': _vm.isSizeAvailable },attrs:{\"aria-sort\":_vm.ariaSortForMode('size')}},[_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Size'),\"mode\":\"size\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.isMtimeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-mtime\",class:{ 'files-list__column--sortable': _vm.isMtimeAvailable },attrs:{\"aria-sort\":_vm.ariaSortForMode('mtime')}},[_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Modified'),\"mode\":\"mtime\"}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column),attrs:{\"aria-sort\":_vm.ariaSortForMode(column.id)}},[(!!column.sort)?_c('FilesListTableHeaderButton',{attrs:{\"name\":column.title,\"mode\":column.id}}):_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(column.title)+\"\\n\\t\\t\")])],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nimport { mapState } from 'pinia';\nimport { useViewConfigStore } from '../store/viewConfig';\nimport { Navigation, View } from '@nextcloud/files';\nexport default Vue.extend({\n computed: {\n ...mapState(useViewConfigStore, ['getConfig', 'setSortingBy', 'toggleSortingDirection']),\n currentView() {\n return this.$navigation.active;\n },\n /**\n * Get the sorting mode for the current view\n */\n sortingMode() {\n return this.getConfig(this.currentView.id)?.sorting_mode\n || this.currentView?.defaultSortKey\n || 'basename';\n },\n /**\n * Get the sorting direction for the current view\n */\n isAscSorting() {\n const sortingDirection = this.getConfig(this.currentView.id)?.sorting_direction;\n return sortingDirection !== 'desc';\n },\n },\n methods: {\n toggleSortBy(key) {\n // If we're already sorting by this key, flip the direction\n if (this.sortingMode === key) {\n this.toggleSortingDirection(this.currentView.id);\n return;\n }\n // else sort ASC by this new key\n this.setSortingBy(key, this.currentView.id);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcButton',{class:['files-list__column-sort-button', {\n\t\t'files-list__column-sort-button--active': _vm.sortingMode === _vm.mode,\n\t\t'files-list__column-sort-button--size': _vm.sortingMode === 'size',\n\t}],attrs:{\"alignment\":_vm.mode === 'size' ? 'end' : 'start-reverse',\"type\":\"tertiary\"},on:{\"click\":function($event){return _vm.toggleSortBy(_vm.mode)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.sortingMode !== _vm.mode || _vm.isAscSorting)?_c('MenuUp',{staticClass:\"files-list__column-sort-button-icon\"}):_c('MenuDown',{staticClass:\"files-list__column-sort-button-icon\"})]},proxy:true}])},[_vm._v(\" \"),_c('span',{staticClass:\"files-list__column-sort-button-text\"},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeaderButton.vue?vue&type=template&id=2dd1845e&scoped=true\"\nimport script from \"./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=2dd1845e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2dd1845e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=style&index=0&id=68d3de81&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=style&index=0&id=68d3de81&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeader.vue?vue&type=template&id=68d3de81&scoped=true\"\nimport script from \"./FilesListTableHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeader.vue?vue&type=style&index=0&id=68d3de81&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68d3de81\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list\",attrs:{\"data-cy-files-list\":\"\"}},[_c('div',{ref:\"before\",staticClass:\"files-list__before\"},[_vm._t(\"before\")],2),_vm._v(\" \"),(!!_vm.$scopedSlots['header-overlay'])?_c('div',{staticClass:\"files-list__thead-overlay\"},[_vm._t(\"header-overlay\")],2):_vm._e(),_vm._v(\" \"),_c('table',{staticClass:\"files-list__table\",class:{ 'files-list__table--with-thead-overlay': !!_vm.$scopedSlots['header-overlay'] }},[(_vm.caption)?_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.caption)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"files-list__thead\",attrs:{\"data-cy-files-list-thead\":\"\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"files-list__tbody\",class:_vm.gridMode ? 'files-list__tbody--grid' : 'files-list__tbody--list',style:(_vm.tbodyStyle),attrs:{\"data-cy-files-list-tbody\":\"\"}},_vm._l((_vm.renderedItems),function({key, item},i){return _c(_vm.dataComponent,_vm._b({key:key,tag:\"component\",attrs:{\"source\":item,\"index\":i}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isReady),expression:\"isReady\"}],staticClass:\"files-list__tfoot\",attrs:{\"data-cy-files-list-tfoot\":\"\"}},[_vm._t(\"footer\")],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=4a3570a2\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list__column files-list__row-actions-batch\"},[_c('NcActions',{ref:\"actionsMenu\",attrs:{\"disabled\":!!_vm.loading || _vm.areSomeNodesLoading,\"force-name\":true,\"inline\":_vm.inlineActions,\"menu-name\":_vm.inlineActions <= 1 ? _vm.t('files', 'Actions') : null,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-actions-batch-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline(_vm.nodes, _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(action.displayName(_vm.nodes, _vm.currentView))+\"\\n\\t\\t\")])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=91476734&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=91476734&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeaderActions.vue?vue&type=template&id=91476734&scoped=true\"\nimport script from \"./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=91476734&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"91476734\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('VirtualList',{ref:\"table\",attrs:{\"data-component\":_vm.userConfig.grid_view ? _vm.FileEntryGrid : _vm.FileEntry,\"data-key\":'source',\"data-sources\":_vm.nodes,\"grid-mode\":_vm.userConfig.grid_view,\"extra-props\":{\n\t\tisMtimeAvailable: _vm.isMtimeAvailable,\n\t\tisSizeAvailable: _vm.isSizeAvailable,\n\t\tnodes: _vm.nodes,\n\t\tfilesListWidth: _vm.filesListWidth,\n\t},\"scroll-to-index\":_vm.scrollToIndex,\"caption\":_vm.caption},scopedSlots:_vm._u([(!_vm.isNoneSelected)?{key:\"header-overlay\",fn:function(){return [_c('span',{staticClass:\"files-list__selected\"},[_vm._v(_vm._s(_vm.t('files', '{count} selected', { count: _vm.selectedNodes.length })))]),_vm._v(\" \"),_c('FilesListTableHeaderActions',{attrs:{\"current-view\":_vm.currentView,\"selected-nodes\":_vm.selectedNodes}})]},proxy:true}:null,{key:\"before\",fn:function(){return _vm._l((_vm.sortedHeaders),function(header){return _c('FilesListHeader',{key:header.id,attrs:{\"current-folder\":_vm.currentFolder,\"current-view\":_vm.currentView,\"header\":header}})})},proxy:true},{key:\"header\",fn:function(){return [_c('FilesListTableHeader',{ref:\"thead\",attrs:{\"files-list-width\":_vm.filesListWidth,\"is-mtime-available\":_vm.isMtimeAvailable,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('FilesListTableFooter',{attrs:{\"files-list-width\":_vm.filesListWidth,\"is-mtime-available\":_vm.isMtimeAvailable,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes,\"summary\":_vm.summary}})]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=1e2b43b6&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=1e2b43b6&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=1&id=1e2b43b6&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=1&id=1e2b43b6&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListVirtual.vue?vue&type=template&id=1e2b43b6&scoped=true\"\nimport script from \"./FilesListVirtual.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListVirtual.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListVirtual.vue?vue&type=style&index=0&id=1e2b43b6&prod&scoped=true&lang=scss\"\nimport style1 from \"./FilesListVirtual.vue?vue&type=style&index=1&id=1e2b43b6&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e2b43b6\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowDown.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./TrayArrowDown.vue?vue&type=template&id=447c2cd4\"\nimport script from \"./TrayArrowDown.vue?vue&type=script&lang=js\"\nexport * from \"./TrayArrowDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tray-arrow-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dragover),expression:\"dragover\"}],staticClass:\"files-list__drag-drop-notice\",attrs:{\"data-cy-files-drag-drop-area\":\"\"},on:{\"drop\":_vm.onDrop}},[_c('div',{staticClass:\"files-list__drag-drop-notice-wrapper\"},[(_vm.canUpload && !_vm.isQuotaExceeded)?[_c('TrayArrowDownIcon',{attrs:{\"size\":48}}),_vm._v(\" \"),_c('h3',{staticClass:\"files-list-drag-drop-notice__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Drag and drop files here to upload'))+\"\\n\\t\\t\\t\")])]:[_c('h3',{staticClass:\"files-list-drag-drop-notice__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.cantUploadLabel)+\"\\n\\t\\t\\t\")])]],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=style&index=0&id=2b498b48&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=style&index=0&id=2b498b48&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DragAndDropNotice.vue?vue&type=template&id=2b498b48&scoped=true\"\nimport script from \"./DragAndDropNotice.vue?vue&type=script&lang=ts\"\nexport * from \"./DragAndDropNotice.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DragAndDropNotice.vue?vue&type=style&index=0&id=2b498b48&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b498b48\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=139727ec&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=139727ec&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesList.vue?vue&type=template&id=139727ec&scoped=true\"\nimport script from \"./FilesList.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesList.vue?vue&type=style&index=0&id=139727ec&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"139727ec\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesApp.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesApp.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesApp.vue?vue&type=template&id=11e0f2dd\"\nimport script from \"./FilesApp.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesApp.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { PiniaVuePlugin } from 'pinia';\nimport { getNavigation } from '@nextcloud/files';\nimport { getRequestToken } from '@nextcloud/auth';\nimport Vue from 'vue';\nimport { pinia } from './store/index.ts';\nimport router from './router/router';\nimport RouterService from './services/RouterService';\nimport SettingsModel from './models/Setting.js';\nimport SettingsService from './services/Settings.js';\nimport FilesApp from './FilesApp.vue';\n// @ts-expect-error __webpack_nonce__ is injected by webpack\n__webpack_nonce__ = btoa(getRequestToken());\n// Init private and public Files namespace\nwindow.OCA.Files = window.OCA.Files ?? {};\nwindow.OCP.Files = window.OCP.Files ?? {};\n// Expose router\nconst Router = new RouterService(router);\nObject.assign(window.OCP.Files, { Router });\n// Init Pinia store\nVue.use(PiniaVuePlugin);\n// Init Navigation Service\n// This only works with Vue 2 - with Vue 3 this will not modify the source but return just a oberserver\nconst Navigation = Vue.observable(getNavigation());\nVue.prototype.$navigation = Navigation;\n// Init Files App Settings Service\nconst Settings = new SettingsService();\nObject.assign(window.OCA.Files, { Settings });\nObject.assign(window.OCA.Files.Settings, { Setting: SettingsModel });\nconst FilesAppVue = Vue.extend(FilesApp);\nnew FilesAppVue({\n router,\n pinia,\n}).$mount('#content');\n","export default class RouterService {\n _router;\n constructor(router) {\n this._router = router;\n }\n get name() {\n return this._router.currentRoute.name;\n }\n get query() {\n return this._router.currentRoute.query || {};\n }\n get params() {\n return this._router.currentRoute.params || {};\n }\n /**\n * Trigger a route change on the files app\n *\n * @param path the url path, eg: '/trashbin?dir=/Deleted'\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goTo(path, replace = false) {\n return this._router.push({\n path,\n replace,\n });\n }\n /**\n * Trigger a route change on the files App\n *\n * @param name the route name\n * @param params the route parameters\n * @param query the url query parameters\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goToRoute(name, params, query, replace) {\n return this._router.push({\n name,\n query,\n params,\n replace,\n });\n }\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Settings {\n\n\t_settings\n\n\tconstructor() {\n\t\tthis._settings = []\n\t\tconsole.debug('OCA.Files.Settings initialized')\n\t}\n\n\t/**\n\t * Register a new setting\n\t *\n\t * @since 19.0.0\n\t * @param {OCA.Files.Settings.Setting} view element to add to settings\n\t * @return {boolean} whether registering was successful\n\t */\n\tregister(view) {\n\t\tif (this._settings.filter(e => e.name === view.name).length > 0) {\n\t\t\tconsole.error('A setting with the same name is already registered')\n\t\t\treturn false\n\t\t}\n\t\tthis._settings.push(view)\n\t\treturn true\n\t}\n\n\t/**\n\t * All settings elements\n\t *\n\t * @return {OCA.Files.Settings.Setting[]} All currently registered settings\n\t */\n\tget settings() {\n\t\treturn this._settings\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Setting {\n\n\t_close\n\t_el\n\t_name\n\t_open\n\n\t/**\n\t * Create a new files app setting\n\t *\n\t * @since 19.0.0\n\t * @param {string} name the name of this setting\n\t * @param {object} component the component\n\t * @param {Function} component.el function that returns an unmounted dom element to be added\n\t * @param {Function} [component.open] callback for when setting is added\n\t * @param {Function} [component.close] callback for when setting is closed\n\t */\n\tconstructor(name, { el, open, close }) {\n\t\tthis._name = name\n\t\tthis._el = el\n\t\tthis._open = open\n\t\tthis._close = close\n\n\t\tif (typeof this._open !== 'function') {\n\t\t\tthis._open = () => {}\n\t\t}\n\n\t\tif (typeof this._close !== 'function') {\n\t\t\tthis._close = () => {}\n\t\t}\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget el() {\n\t\treturn this._el\n\t}\n\n\tget open() {\n\t\treturn this._open\n\t}\n\n\tget close() {\n\t\treturn this._close\n\t}\n\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.upload-picker[data-v-eca9500a] {\n display: inline-flex;\n align-items: center;\n height: 44px;\n}\n.upload-picker__progress[data-v-eca9500a] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-eca9500a] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\n animation: breathing-eca9500a 3s ease-out infinite normal;\n}\n@keyframes breathing-eca9500a {\n 0% {\n opacity: .5;\n }\n 25% {\n opacity: 1;\n }\n 60% {\n opacity: .5;\n }\n to {\n opacity: .5;\n }\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/upload/dist/assets/index-Ussc_ol3.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;EACA;IACE,WAAW;EACb;AACF\",\"sourcesContent\":[\".upload-picker[data-v-eca9500a] {\\n display: inline-flex;\\n align-items: center;\\n height: 44px;\\n}\\n.upload-picker__progress[data-v-eca9500a] {\\n width: 200px;\\n max-width: 0;\\n transition: max-width var(--animation-quick) ease-in-out;\\n margin-top: 8px;\\n}\\n.upload-picker__progress p[data-v-eca9500a] {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.upload-picker--uploading .upload-picker__progress[data-v-eca9500a] {\\n max-width: 200px;\\n margin-right: 20px;\\n margin-left: 8px;\\n}\\n.upload-picker--paused .upload-picker__progress[data-v-eca9500a] {\\n animation: breathing-eca9500a 3s ease-out infinite normal;\\n}\\n@keyframes breathing-eca9500a {\\n 0% {\\n opacity: .5;\\n }\\n 25% {\\n opacity: 1;\\n }\\n 60% {\\n opacity: .5;\\n }\\n to {\\n opacity: .5;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__breadcrumbs[data-v-77111ada]{flex:1 1 100% !important;width:100%;height:100%;margin-block:0;margin-inline:10px}.files-list__breadcrumbs[data-v-77111ada] a{cursor:pointer !important}.files-list__breadcrumbs--with-progress[data-v-77111ada]{flex-direction:column !important;align-items:flex-start !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/BreadCrumbs.vue\"],\"names\":[],\"mappings\":\"AACA,0CAEC,wBAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,kBAAA,CAGC,6CACC,yBAAA,CAIF,yDACC,gCAAA,CACA,iCAAA\",\"sourcesContent\":[\"\\n.files-list__breadcrumbs {\\n\\t// Take as much space as possible\\n\\tflex: 1 1 100% !important;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tmargin-block: 0;\\n\\tmargin-inline: 10px;\\n\\n\\t:deep() {\\n\\t\\ta {\\n\\t\\t\\tcursor: pointer !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--with-progress {\\n\\t\\tflex-direction: column !important;\\n\\t\\talign-items: flex-start !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__drag-drop-notice[data-v-2b498b48]{display:flex;align-items:center;justify-content:center;width:100%;min-height:113px;margin:0;user-select:none;color:var(--color-text-maxcontrast);background-color:var(--color-main-background);border-color:#000}.files-list__drag-drop-notice h3[data-v-2b498b48]{margin-left:16px;color:inherit}.files-list__drag-drop-notice-wrapper[data-v-2b498b48]{display:flex;align-items:center;justify-content:center;height:15vh;max-height:70%;padding:0 5vw;border:2px var(--color-border-dark) dashed;border-radius:var(--border-radius-large)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/DragAndDropNotice.vue\"],\"names\":[],\"mappings\":\"AACA,+CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAEA,gBAAA,CACA,QAAA,CACA,gBAAA,CACA,mCAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kDACC,gBAAA,CACA,aAAA,CAGD,uDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,cAAA,CACA,aAAA,CACA,0CAAA,CACA,wCAAA\",\"sourcesContent\":[\"\\n.files-list__drag-drop-notice {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\t// Breadcrumbs height + row thead height\\n\\tmin-height: calc(58px + 55px);\\n\\tmargin: 0;\\n\\tuser-select: none;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: var(--color-main-background);\\n\\tborder-color: black;\\n\\n\\th3 {\\n\\t\\tmargin-left: 16px;\\n\\t\\tcolor: inherit;\\n\\t}\\n\\n\\t&-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\theight: 15vh;\\n\\t\\tmax-height: 70%;\\n\\t\\tpadding: 0 5vw;\\n\\t\\tborder: 2px var(--color-border-dark) dashed;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list-drag-image{position:absolute;top:-9999px;left:-9999px;display:flex;overflow:hidden;align-items:center;height:44px;padding:6px 12px;background:var(--color-main-background)}.files-list-drag-image__icon,.files-list-drag-image .files-list__row-icon{display:flex;overflow:hidden;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius)}.files-list-drag-image__icon{overflow:visible;margin-right:12px}.files-list-drag-image__icon img{max-width:100%;max-height:100%}.files-list-drag-image__icon .material-design-icon{color:var(--color-text-maxcontrast)}.files-list-drag-image__icon .material-design-icon.folder-icon{color:var(--color-primary-element)}.files-list-drag-image__icon>span{display:flex}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon{margin-top:6px;margin-left:-26px}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon+.files-list__row-icon{margin-top:12px}.files-list-drag-image__icon>span:not(:empty)+*{display:none}.files-list-drag-image__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/DragAndDropPreview.vue\"],\"names\":[],\"mappings\":\"AAIA,uBACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,WAAA,CACA,gBAAA,CACA,uCAAA,CAEA,0EAEC,YAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kCAAA,CAGD,6BACC,gBAAA,CACA,iBAAA,CAEA,iCACC,cAAA,CACA,eAAA,CAGD,mDACC,mCAAA,CACA,+DACC,kCAAA,CAKF,kCACC,YAAA,CAGA,8EACC,cA9CU,CA+CV,iBAAA,CACA,oGACC,eAAA,CAKF,gDACC,YAAA,CAKH,6BACC,eAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n$size: 32px;\\n$stack-shift: 6px;\\n\\n.files-list-drag-image {\\n\\tposition: absolute;\\n\\ttop: -9999px;\\n\\tleft: -9999px;\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\tpadding: 6px 12px;\\n\\tbackground: var(--color-main-background);\\n\\n\\t&__icon,\\n\\t.files-list__row-icon {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\toverflow: visible;\\n\\t\\tmargin-right: 12px;\\n\\n\\t\\timg {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tmax-height: 100%;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t&.folder-icon {\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Previews container\\n\\t\\t> span {\\n\\t\\t\\tdisplay: flex;\\n\\n\\t\\t\\t// Stack effect if more than one element\\n\\t\\t\\t.files-list__row-icon + .files-list__row-icon {\\n\\t\\t\\t\\tmargin-top: $stack-shift;\\n\\t\\t\\t\\tmargin-left: $stack-shift - $size;\\n\\t\\t\\t\\t& + .files-list__row-icon {\\n\\t\\t\\t\\t\\tmargin-top: $stack-shift * 2;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// If we have manually clone the preview,\\n\\t\\t\\t// let's hide any fallback icons\\n\\t\\t\\t&:not(:empty) + * {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__name {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.favorite-marker-icon[data-v-42ea6dd4]{color:var(--color-favorite);min-width:unset !important;min-height:unset !important}.favorite-marker-icon[data-v-42ea6dd4] svg{width:26px !important;height:26px !important;max-width:unset !important;max-height:unset !important}.favorite-marker-icon[data-v-42ea6dd4] svg path{stroke:var(--color-main-background);stroke-width:8px;stroke-linejoin:round;paint-order:stroke}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FavoriteIcon.vue\"],\"names\":[],\"mappings\":\"AACA,uCACC,2BAAA,CAEA,0BAAA,CACG,2BAAA,CAGF,4CAEC,qBAAA,CACA,sBAAA,CAGA,0BAAA,CACA,2BAAA,CAGA,iDACC,mCAAA,CACA,gBAAA,CACA,qBAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n.favorite-marker-icon {\\n\\tcolor: var(--color-favorite);\\n\\t// Override NcIconSvgWrapper defaults (clickable area)\\n\\tmin-width: unset !important;\\n min-height: unset !important;\\n\\n\\t:deep() {\\n\\t\\tsvg {\\n\\t\\t\\t// We added a stroke for a11y so we must increase the size to include the stroke\\n\\t\\t\\twidth: 26px !important;\\n\\t\\t\\theight: 26px !important;\\n\\n\\t\\t\\t// Override NcIconSvgWrapper defaults of 20px\\n\\t\\t\\tmax-width: unset !important;\\n\\t\\t\\tmax-height: unset !important;\\n\\n\\t\\t\\t// Sow a border around the icon for better contrast\\n\\t\\t\\tpath {\\n\\t\\t\\t\\tstroke: var(--color-main-background);\\n\\t\\t\\t\\tstroke-width: 8px;\\n\\t\\t\\t\\tstroke-linejoin: round;\\n\\t\\t\\t\\tpaint-order: stroke;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `main.app-content[style*=mouse-pos-x] .v-popper__popper{transform:translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important}main.app-content[style*=mouse-pos-x] .v-popper__popper[data-popper-placement=top]{transform:translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh + 34px), 0px) !important}main.app-content[style*=mouse-pos-x] .v-popper__popper .v-popper__arrow-container{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue\"],\"names\":[],\"mappings\":\"AAGA,uDACC,6EAAA,CAGA,kFAEC,iGAAA,CAGD,kFACC,YAAA\",\"sourcesContent\":[\"\\n// Allow right click to define the position of the menu\\n// only if defined\\nmain.app-content[style*=\\\"mouse-pos-x\\\"] .v-popper__popper {\\n\\ttransform: translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important;\\n\\n\\t// If the menu is too close to the bottom, we move it up\\n\\t&[data-popper-placement=\\\"top\\\"] {\\n\\t\\t// 34px added to align with the top of the cursor\\n\\t\\ttransform: translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh + 34px), 0px) !important;\\n\\t}\\n\\t// Hide arrow if floating\\n\\t.v-popper__arrow-container {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `[data-v-0ef7511c] .button-vue--icon-and-text .button-vue__text{color:var(--color-primary-element)}[data-v-0ef7511c] .button-vue--icon-and-text .button-vue__icon{color:var(--color-primary-element)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue\"],\"names\":[],\"mappings\":\"AAEC,+DACC,kCAAA,CAED,+DACC,kCAAA\",\"sourcesContent\":[\"\\n:deep(.button-vue--icon-and-text, .files-list__row-action-sharing-status) {\\n\\t.button-vue__text {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n\\t.button-vue__icon {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `tr[data-v-a85bde20]{margin-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}tr td[data-v-a85bde20]{user-select:none;color:var(--color-text-maxcontrast) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableFooter.vue\"],\"names\":[],\"mappings\":\"AAEA,oBACC,mBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAEA,uBACC,gBAAA,CAEA,8CAAA\",\"sourcesContent\":[\"\\n// Scoped row\\ntr {\\n\\tmargin-bottom: 300px;\\n\\tborder-top: 1px solid var(--color-border);\\n\\t// Prevent hover effect on the whole row\\n\\tbackground-color: transparent !important;\\n\\tborder-bottom: none !important;\\n\\n\\ttd {\\n\\t\\tuser-select: none;\\n\\t\\t// Make sure the cell colors don't apply to column headers\\n\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__column[data-v-68d3de81]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-68d3de81]{cursor:pointer}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeader.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA\",\"sourcesContent\":[\"\\n.files-list__column {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t&--sortable {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__row-actions-batch[data-v-91476734]{flex:1 1 100% !important;max-width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeaderActions.vue\"],\"names\":[],\"mappings\":\"AACA,gDACC,wBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.files-list__row-actions-batch {\\n\\tflex: 1 1 100% !important;\\n\\tmax-width: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__column-sort-button[data-v-2dd1845e]{margin:0 calc(var(--cell-margin)*-1);min-width:calc(100% - 3*var(--cell-margin)) !important}.files-list__column-sort-button-text[data-v-2dd1845e]{color:var(--color-text-maxcontrast);font-weight:normal}.files-list__column-sort-button-icon[data-v-2dd1845e]{color:var(--color-text-maxcontrast);opacity:0;transition:opacity var(--animation-quick);inset-inline-start:-10px}.files-list__column-sort-button--size .files-list__column-sort-button-icon[data-v-2dd1845e]{inset-inline-start:10px}.files-list__column-sort-button--active .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:hover .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:focus .files-list__column-sort-button-icon[data-v-2dd1845e],.files-list__column-sort-button:active .files-list__column-sort-button-icon[data-v-2dd1845e]{opacity:1}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeaderButton.vue\"],\"names\":[],\"mappings\":\"AACA,iDAEC,oCAAA,CACA,sDAAA,CAEA,sDACC,mCAAA,CACA,kBAAA,CAGD,sDACC,mCAAA,CACA,SAAA,CACA,yCAAA,CACA,wBAAA,CAGD,4FACC,uBAAA,CAGD,mXAIC,SAAA\",\"sourcesContent\":[\"\\n.files-list__column-sort-button {\\n\\t// Compensate for cells margin\\n\\tmargin: 0 calc(var(--cell-margin) * -1);\\n\\tmin-width: calc(100% - 3 * var(--cell-margin))!important;\\n\\n\\t&-text {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tfont-weight: normal;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\topacity: 0;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\tinset-inline-start: -10px;\\n\\t}\\n\\n\\t&--size &-icon {\\n\\t\\tinset-inline-start: 10px;\\n\\t}\\n\\n\\t&--active &-icon,\\n\\t&:hover &-icon,\\n\\t&:focus &-icon,\\n\\t&:active &-icon {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list[data-v-1e2b43b6]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;overflow:auto;height:100%;will-change:scroll-position}.files-list[data-v-1e2b43b6] tbody{will-change:padding;contain:layout paint style;display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-1e2b43b6] tbody tr{contain:strict}.files-list[data-v-1e2b43b6] tbody tr:hover,.files-list[data-v-1e2b43b6] tbody tr:focus{background-color:var(--color-background-dark)}.files-list[data-v-1e2b43b6] .files-list__before{display:flex;flex-direction:column}.files-list[data-v-1e2b43b6] .files-list__selected{padding-right:12px;white-space:nowrap}.files-list[data-v-1e2b43b6] .files-list__table{display:block}.files-list[data-v-1e2b43b6] .files-list__table.files-list__table--with-thead-overlay{margin-top:calc(-1*var(--row-height))}.files-list[data-v-1e2b43b6] .files-list__thead-overlay{position:sticky;top:0;margin-left:var(--row-height);z-index:20;display:flex;align-items:center;background-color:var(--color-main-background);border-bottom:1px solid var(--color-border);height:var(--row-height)}.files-list[data-v-1e2b43b6] .files-list__thead,.files-list[data-v-1e2b43b6] .files-list__tfoot{display:flex;flex-direction:column;width:100%;background-color:var(--color-main-background)}.files-list[data-v-1e2b43b6] .files-list__thead{position:sticky;z-index:10;top:0}.files-list[data-v-1e2b43b6] .files-list__tfoot{min-height:300px}.files-list[data-v-1e2b43b6] tr{position:relative;display:flex;align-items:center;width:100%;user-select:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;user-select:none;height:var(--row-height)}.files-list[data-v-1e2b43b6] td,.files-list[data-v-1e2b43b6] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-1e2b43b6] td span,.files-list[data-v-1e2b43b6] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-1e2b43b6] .files-list__row--failed{position:absolute;display:block;top:0;left:0;right:0;bottom:0;opacity:.1;z-index:-1;background:var(--color-error)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox{justify-content:center}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-1e2b43b6] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-1e2b43b6] .files-list__row:hover,.files-list[data-v-1e2b43b6] .files-list__row:focus,.files-list[data-v-1e2b43b6] .files-list__row:active,.files-list[data-v-1e2b43b6] .files-list__row--active,.files-list[data-v-1e2b43b6] .files-list__row--dragover{background-color:var(--color-background-hover);--color-text-maxcontrast: var(--color-main-text)}.files-list[data-v-1e2b43b6] .files-list__row:hover>*,.files-list[data-v-1e2b43b6] .files-list__row:focus>*,.files-list[data-v-1e2b43b6] .files-list__row:active>*,.files-list[data-v-1e2b43b6] .files-list__row--active>*,.files-list[data-v-1e2b43b6] .files-list__row--dragover>*{--color-border: var(--color-border-dark)}.files-list[data-v-1e2b43b6] .files-list__row:hover .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row:focus .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row:active .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row--active .favorite-marker-icon svg path,.files-list[data-v-1e2b43b6] .files-list__row--dragover .favorite-marker-icon svg path{stroke:var(--color-background-hover)}.files-list[data-v-1e2b43b6] .files-list__row--dragover *{pointer-events:none}.files-list[data-v-1e2b43b6] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-1e2b43b6] .files-list__row-icon *{cursor:pointer}.files-list[data-v-1e2b43b6] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-1e2b43b6] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-icon,.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-open-icon{margin:-3px}.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-icon svg,.files-list[data-v-1e2b43b6] .files-list__row-icon>span.folder-open-icon svg{width:calc(var(--icon-preview-size) + 6px);height:calc(var(--icon-preview-size) + 6px)}.files-list[data-v-1e2b43b6] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);object-fit:contain;object-position:center}.files-list[data-v-1e2b43b6] .files-list__row-icon-preview:not(.files-list__row-icon-preview--loaded){background:var(--color-loading-dark)}.files-list[data-v-1e2b43b6] .files-list__row-icon-favorite{position:absolute;top:0px;right:-10px}.files-list[data-v-1e2b43b6] .files-list__row-icon-overlay{position:absolute;max-height:calc(var(--icon-preview-size)*.5);max-width:calc(var(--icon-preview-size)*.5);color:var(--color-primary-element-text);margin-top:2px}.files-list[data-v-1e2b43b6] .files-list__row-icon-overlay--file{color:var(--color-main-text);background:var(--color-main-background);border-radius:100%}.files-list[data-v-1e2b43b6] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-1e2b43b6] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%;min-width:0}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus-visible{outline:none}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-1e2b43b6] .files-list__row-name a:focus:not(:focus-visible) .files-list__row-name-text{outline:none !important}.files-list[data-v-1e2b43b6] .files-list__row-name .files-list__row-name-text{color:var(--color-main-text);padding:5px 10px;margin-left:-10px;display:inline-flex}.files-list[data-v-1e2b43b6] .files-list__row-name .files-list__row-name-ext{color:var(--color-text-maxcontrast);overflow:visible}.files-list[data-v-1e2b43b6] .files-list__row-rename{width:100%;max-width:600px}.files-list[data-v-1e2b43b6] .files-list__row-rename input{width:100%;margin-left:-8px;padding:2px 6px;border-width:2px}.files-list[data-v-1e2b43b6] .files-list__row-rename input:invalid{border-color:var(--color-error);color:red}.files-list[data-v-1e2b43b6] .files-list__row-actions{width:auto}.files-list[data-v-1e2b43b6] .files-list__row-actions~td,.files-list[data-v-1e2b43b6] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-1e2b43b6] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-1e2b43b6] .files-list__row-action--inline{margin-right:7px}.files-list[data-v-1e2b43b6] .files-list__row-mtime,.files-list[data-v-1e2b43b6] .files-list__row-size{color:var(--color-text-maxcontrast)}.files-list[data-v-1e2b43b6] .files-list__row-size{width:calc(var(--row-height)*1.5);justify-content:flex-end}.files-list[data-v-1e2b43b6] .files-list__row-mtime{width:calc(var(--row-height)*2)}.files-list[data-v-1e2b43b6] .files-list__row-column-custom{width:calc(var(--row-height)*2)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,aAAA,CACA,WAAA,CACA,2BAAA,CAIC,oCACC,mBAAA,CACA,0BAAA,CACA,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAGA,uCACC,cAAA,CACA,0FAEC,6CAAA,CAMH,kDACC,YAAA,CACA,qBAAA,CAGD,oDACC,kBAAA,CACA,kBAAA,CAGD,iDACC,aAAA,CAEA,uFAEC,qCAAA,CAIF,yDAEC,eAAA,CACA,KAAA,CAEA,6BAAA,CAEA,UAAA,CAEA,YAAA,CACA,kBAAA,CAGA,6CAAA,CACA,2CAAA,CACA,wBAAA,CAGD,kGAEC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,6CAAA,CAKD,iDAEC,eAAA,CACA,UAAA,CACA,KAAA,CAID,iDACC,gBAAA,CAGD,iCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,gBAAA,CACA,2CAAA,CACA,qBAAA,CACA,gBAAA,CACA,wBAAA,CAGD,kEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,4EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,UAAA,CACA,6BAAA,CAGD,wDACC,sBAAA,CAEA,+EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,kHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,4GACC,mBAAA,CAMF,gRAEC,8CAAA,CAGA,gDAAA,CACA,0RACC,wCAAA,CAID,2aACC,oCAAA,CAIF,2DAEC,mBAAA,CAKF,oDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAGA,sDACC,cAAA,CAGD,yDACC,0BAAA,CAEA,iGACC,8BAAA,CACA,+BAAA,CAID,+IAEC,WAAA,CACA,uJACC,0CAAA,CACA,2CAAA,CAKH,4DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CAEA,kBAAA,CACA,sBAAA,CAGA,uGACC,oCAAA,CAKF,6DACC,iBAAA,CACA,OAAA,CACA,WAAA,CAID,4DACC,iBAAA,CACA,4CAAA,CACA,2CAAA,CACA,uCAAA,CAEA,cAAA,CAGA,kEACC,4BAAA,CACA,uCAAA,CACA,kBAAA,CAMH,oDAEC,eAAA,CAEA,aAAA,CAEA,sDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAEA,WAAA,CAGA,oEACC,YAAA,CAID,uFACC,mDAAA,CACA,kBAAA,CAED,2GACC,uBAAA,CAIF,+EACC,4BAAA,CAEA,gBAAA,CACA,iBAAA,CAEA,mBAAA,CAGD,8EACC,mCAAA,CAEA,gBAAA,CAKF,sDACC,UAAA,CACA,eAAA,CACA,4DACC,UAAA,CAEA,gBAAA,CACA,eAAA,CACA,gBAAA,CAEA,oEAEC,+BAAA,CACA,SAAA,CAKH,uDAEC,UAAA,CAGA,oHAEC,2BAAA,CAIA,gFAEC,kBAAA,CAKH,8DACC,gBAAA,CAGD,yGAEC,mCAAA,CAED,oDACC,iCAAA,CAEA,wBAAA,CAGD,qDACC,+BAAA,CAGD,6DACC,+BAAA\",\"sourcesContent\":[\"\\n.files-list {\\n\\t--row-height: 55px;\\n\\t--cell-margin: 14px;\\n\\n\\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\\n\\t--checkbox-size: 24px;\\n\\t--clickable-area: 44px;\\n\\t--icon-preview-size: 32px;\\n\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\twill-change: scroll-position;\\n\\n\\t& :deep() {\\n\\t\\t// Table head, body and footer\\n\\t\\ttbody {\\n\\t\\t\\twill-change: padding;\\n\\t\\t\\tcontain: layout paint style;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\t// Necessary for virtual scrolling absolute\\n\\t\\t\\tposition: relative;\\n\\n\\t\\t\\t/* Hover effect on tbody lines only */\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tcontain: strict;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Before table and thead\\n\\t\\t.files-list__before {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t}\\n\\n\\t\\t.files-list__selected {\\n\\t\\t\\tpadding-right: 12px;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t.files-list__table {\\n\\t\\t\\tdisplay: block;\\n\\n\\t\\t\\t&.files-list__table--with-thead-overlay {\\n\\t\\t\\t\\t// Hide the table header below the overlay\\n\\t\\t\\t\\tmargin-top: calc(-1 * var(--row-height));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__thead-overlay {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\t// Save space for a row checkbox\\n\\t\\t\\tmargin-left: var(--row-height);\\n\\t\\t\\t// More than .files-list__thead\\n\\t\\t\\tz-index: 20;\\n\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Reuse row styles\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t}\\n\\n\\t\\t.files-list__thead,\\n\\t\\t.files-list__tfoot {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t}\\n\\n\\t\\t// Table header\\n\\t\\t.files-list__thead {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tz-index: 10;\\n\\t\\t\\ttop: 0;\\n\\t\\t}\\n\\n\\t\\t// Table footer\\n\\t\\t.files-list__tfoot {\\n\\t\\t\\tmin-height: 300px;\\n\\t\\t}\\n\\n\\t\\ttr {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t}\\n\\n\\t\\ttd, th {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\tjustify-content: left;\\n\\t\\t\\twidth: var(--row-height);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tborder: none;\\n\\n\\t\\t\\t// Columns should try to add any text\\n\\t\\t\\t// node wrapped in a span. That should help\\n\\t\\t\\t// with the ellipsis on overflow.\\n\\t\\t\\tspan {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row--failed {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\topacity: .1;\\n\\t\\t\\tz-index: -1;\\n\\t\\t\\tbackground: var(--color-error);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-checkbox {\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t.checkbox-radio-switch {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t\\t--icon-size: var(--checkbox-size);\\n\\n\\t\\t\\t\\tlabel.checkbox-radio-switch__label {\\n\\t\\t\\t\\t\\twidth: var(--clickable-area);\\n\\t\\t\\t\\t\\theight: var(--clickable-area);\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\t\\t\\tmargin: 0 !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row {\\n\\t\\t\\t&:hover, &:focus, &:active, &--active, &--dragover {\\n\\t\\t\\t\\t// WCAG AA compliant\\n\\t\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\t\\t// text-maxcontrast have been designed to pass WCAG AA over\\n\\t\\t\\t\\t// a white background, we need to adjust then.\\n\\t\\t\\t\\t--color-text-maxcontrast: var(--color-main-text);\\n\\t\\t\\t\\t> * {\\n\\t\\t\\t\\t\\t--color-border: var(--color-border-dark);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Hover state of the row should also change the favorite markers background\\n\\t\\t\\t\\t.favorite-marker-icon svg path {\\n\\t\\t\\t\\t\\tstroke: var(--color-background-hover);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--dragover * {\\n\\t\\t\\t\\t// Prevent dropping on row children\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Entry preview or mime icon\\n\\t\\t.files-list__row-icon {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\toverflow: visible;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\t// No shrinking or growing allowed\\n\\t\\t\\tflex: 0 0 var(--icon-preview-size);\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Show same padding as the checkbox right padding for visual balance\\n\\t\\t\\tmargin-right: var(--checkbox-padding);\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\n\\t\\t\\t// Icon is also clickable\\n\\t\\t\\t* {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\n\\t\\t\\t\\t&:not(.files-list__row-icon-favorite) svg {\\n\\t\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Slightly increase the size of the folder icon\\n\\t\\t\\t\\t&.folder-icon,\\n\\t\\t\\t\\t&.folder-open-icon {\\n\\t\\t\\t\\t\\tmargin: -3px;\\n\\t\\t\\t\\t\\tsvg {\\n\\t\\t\\t\\t\\t\\twidth: calc(var(--icon-preview-size) + 6px);\\n\\t\\t\\t\\t\\t\\theight: calc(var(--icon-preview-size) + 6px);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-preview {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t// Center and contain the preview\\n\\t\\t\\t\\tobject-fit: contain;\\n\\t\\t\\t\\tobject-position: center;\\n\\n\\t\\t\\t\\t/* Preview not loaded animation effect */\\n\\t\\t\\t\\t&:not(.files-list__row-icon-preview--loaded) {\\n\\t\\t\\t\\t\\tbackground: var(--color-loading-dark);\\n\\t\\t\\t\\t\\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-favorite {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0px;\\n\\t\\t\\t\\tright: -10px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// File and folder overlay\\n\\t\\t\\t&-overlay {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tmax-height: calc(var(--icon-preview-size) * 0.5);\\n\\t\\t\\t\\tmax-width: calc(var(--icon-preview-size) * 0.5);\\n\\t\\t\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t\\t\\t// better alignment with the folder icon\\n\\t\\t\\t\\tmargin-top: 2px;\\n\\n\\t\\t\\t\\t// Improve icon contrast with a background for files\\n\\t\\t\\t\\t&--file {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t\\t\\t\\tborder-radius: 100%;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Entry link\\n\\t\\t.files-list__row-name {\\n\\t\\t\\t// Prevent link from overflowing\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\t// Take as much space as possible\\n\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\ta {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// Fill cell height and width\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\t// Necessary for flex grow to work\\n\\t\\t\\t\\tmin-width: 0;\\n\\n\\t\\t\\t\\t// Already added to the inner text, see rule below\\n\\t\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\t\\toutline: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Keyboard indicator a11y\\n\\t\\t\\t\\t&:focus .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t\\t\\t\\tborder-radius: 20px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:focus:not(:focus-visible) .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: none !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-text {\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t// Make some space for the outline\\n\\t\\t\\t\\tpadding: 5px 10px;\\n\\t\\t\\t\\tmargin-left: -10px;\\n\\t\\t\\t\\t// Align two name and ext\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-ext {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\t// always show the extension\\n\\t\\t\\t\\toverflow: visible;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Rename form\\n\\t\\t.files-list__row-rename {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-width: 600px;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t// Align with text, 0 - padding - border\\n\\t\\t\\t\\tmargin-left: -8px;\\n\\t\\t\\t\\tpadding: 2px 6px;\\n\\t\\t\\t\\tborder-width: 2px;\\n\\n\\t\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t\\t// Show red border on invalid input\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tcolor: red;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-actions {\\n\\t\\t\\t// take as much space as necessary\\n\\t\\t\\twidth: auto;\\n\\n\\t\\t\\t// Add margin to all cells after the actions\\n\\t\\t\\t& ~ td,\\n\\t\\t\\t& ~ th {\\n\\t\\t\\t\\tmargin: 0 var(--cell-margin);\\n\\t\\t\\t}\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\t.button-vue__text {\\n\\t\\t\\t\\t\\t// Remove bold from default button styling\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-action--inline {\\n\\t\\t\\tmargin-right: 7px;\\n\\t\\t}\\n\\n\\t\\t.files-list__row-mtime,\\n\\t\\t.files-list__row-size {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t\\t.files-list__row-size {\\n\\t\\t\\twidth: calc(var(--row-height) * 1.5);\\n\\t\\t\\t// Right align content/text\\n\\t\\t\\tjustify-content: flex-end;\\n\\t\\t}\\n\\n\\t\\t.files-list__row-mtime {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-column-custom {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `tbody.files-list__tbody.files-list__tbody--grid{--half-clickable-area: calc(var(--clickable-area) / 2);--row-width: 160px;--row-height: calc(var(--row-width) - var(--half-clickable-area));--icon-preview-size: calc(var(--row-width) - var(--clickable-area));--checkbox-padding: 0px;display:grid;grid-template-columns:repeat(auto-fill, var(--row-width));grid-gap:15px;row-gap:15px;align-content:center;align-items:center;justify-content:space-around;justify-items:center}tbody.files-list__tbody.files-list__tbody--grid tr{width:var(--row-width);height:calc(var(--row-height) + var(--clickable-area));border:none;border-radius:var(--border-radius)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-checkbox{position:absolute;z-index:9;top:0;left:0;overflow:hidden;width:var(--clickable-area);height:var(--clickable-area);border-radius:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-icon-favorite{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--clickable-area);height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name{display:grid;justify-content:stretch;width:100%;height:100%;grid-auto-rows:var(--row-height) var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name span.files-list__row-icon{width:100%;height:100%;padding-top:var(--half-clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name a.files-list__row-name-link{width:calc(100% - var(--clickable-area));height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name .files-list__row-name-text{margin:0;padding-right:0}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-actions{position:absolute;right:0;bottom:0;width:var(--clickable-area);height:var(--clickable-area)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AAEA,gDACC,sDAAA,CACA,kBAAA,CAEA,iEAAA,CACA,mEAAA,CACA,uBAAA,CAEA,YAAA,CACA,yDAAA,CACA,aAAA,CACA,YAAA,CAEA,oBAAA,CACA,kBAAA,CACA,4BAAA,CACA,oBAAA,CAEA,mDACC,sBAAA,CACA,sDAAA,CACA,WAAA,CACA,kCAAA,CAID,0EACC,iBAAA,CACA,SAAA,CACA,KAAA,CACA,MAAA,CACA,eAAA,CACA,2BAAA,CACA,4BAAA,CACA,wCAAA,CAID,+EACC,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,2BAAA,CACA,4BAAA,CAGD,sEACC,YAAA,CACA,uBAAA,CACA,UAAA,CACA,WAAA,CACA,sDAAA,CAEA,gGACC,UAAA,CACA,WAAA,CAGA,sCAAA,CAGD,kGAEC,wCAAA,CACA,4BAAA,CAGD,iGACC,QAAA,CACA,eAAA,CAIF,yEACC,iBAAA,CACA,OAAA,CACA,QAAA,CACA,2BAAA,CACA,4BAAA\",\"sourcesContent\":[\"\\n// Grid mode\\ntbody.files-list__tbody.files-list__tbody--grid {\\n\\t--half-clickable-area: calc(var(--clickable-area) / 2);\\n\\t--row-width: 160px;\\n\\t// We use half of the clickable area as visual balance margin\\n\\t--row-height: calc(var(--row-width) - var(--half-clickable-area));\\n\\t--icon-preview-size: calc(var(--row-width) - var(--clickable-area));\\n\\t--checkbox-padding: 0px;\\n\\n\\tdisplay: grid;\\n\\tgrid-template-columns: repeat(auto-fill, var(--row-width));\\n\\tgrid-gap: 15px;\\n\\trow-gap: 15px;\\n\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tjustify-content: space-around;\\n\\tjustify-items: center;\\n\\n\\ttr {\\n\\t\\twidth: var(--row-width);\\n\\t\\theight: calc(var(--row-height) + var(--clickable-area));\\n\\t\\tborder: none;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t}\\n\\n\\t// Checkbox in the top left\\n\\t.files-list__row-checkbox {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 9;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\toverflow: hidden;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t\\tborder-radius: var(--half-clickable-area);\\n\\t}\\n\\n\\t// Star icon in the top right\\n\\t.files-list__row-icon-favorite {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t}\\n\\n\\t.files-list__row-name {\\n\\t\\tdisplay: grid;\\n\\t\\tjustify-content: stretch;\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tgrid-auto-rows: var(--row-height) var(--clickable-area);\\n\\n\\t\\tspan.files-list__row-icon {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Visual balance, we use half of the clickable area\\n\\t\\t\\t// as a margin around the preview\\n\\t\\t\\tpadding-top: var(--half-clickable-area);\\n\\t\\t}\\n\\n\\t\\ta.files-list__row-name-link {\\n\\t\\t\\t// Minus action menu\\n\\t\\t\\twidth: calc(100% - var(--clickable-area));\\n\\t\\t\\theight: var(--clickable-area);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-name-text {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding-right: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.files-list__row-actions {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tbottom: 0;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-navigation-entry__settings-quota--not-unlimited[data-v-063ed938] .app-navigation-entry__name{margin-top:-6px}.app-navigation-entry__settings-quota progress[data-v-063ed938]{position:absolute;bottom:12px;margin-left:44px;width:calc(100% - 44px - 22px)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/NavigationQuota.vue\"],\"names\":[],\"mappings\":\"AAIC,kGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA\",\"sourcesContent\":[\"\\n// User storage stats display\\n.app-navigation-entry__settings-quota {\\n\\t// Align title with progress and icon\\n\\t&--not-unlimited::v-deep .app-navigation-entry__name {\\n\\t\\tmargin-top: -6px;\\n\\t}\\n\\n\\tprogress {\\n\\t\\tposition: absolute;\\n\\t\\tbottom: 12px;\\n\\t\\tmargin-left: 44px;\\n\\t\\twidth: calc(100% - 44px - 22px);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-content[data-v-139727ec]{display:flex;overflow:hidden;flex-direction:column;max-height:100%;position:relative !important}.files-list__header[data-v-139727ec]{display:flex;align-items:center;flex:0 0;max-width:100%;margin-block:var(--app-navigation-padding, 4px);margin-inline:calc(var(--default-clickable-area, 44px) + 2*var(--app-navigation-padding, 4px)) var(--app-navigation-padding, 4px)}.files-list__header>*[data-v-139727ec]{flex:0 0}.files-list__header-share-button[data-v-139727ec]{color:var(--color-text-maxcontrast) !important}.files-list__header-share-button--shared[data-v-139727ec]{color:var(--color-main-text) !important}.files-list__refresh-icon[data-v-139727ec]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-139727ec]{margin:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/FilesList.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CACA,4BAAA,CAIA,qCACC,YAAA,CACA,kBAAA,CAEA,QAAA,CACA,cAAA,CAEA,+CAAA,CACA,iIAAA,CAEA,uCAGC,QAAA,CAGD,kDACC,8CAAA,CAEA,0DACC,uCAAA,CAKH,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAGD,2CACC,WAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n\\tposition: relative !important;\\n}\\n\\n.files-list {\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\t// Do not grow or shrink (vertically)\\n\\t\\tflex: 0 0;\\n\\t\\tmax-width: 100%;\\n\\t\\t// Align with the navigation toggle icon\\n\\t\\tmargin-block: var(--app-navigation-padding, 4px);\\n\\t\\tmargin-inline: calc(var(--default-clickable-area, 44px) + 2 * var(--app-navigation-padding, 4px)) var(--app-navigation-padding, 4px);\\n\\n\\t\\t>* {\\n\\t\\t\\t// Do not grow or shrink (horizontally)\\n\\t\\t\\t// Only the breadcrumbs shrinks\\n\\t\\t\\tflex: 0 0;\\n\\t\\t}\\n\\n\\t\\t&-share-button {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t\\t\\t&--shared {\\n\\t\\t\\t\\tcolor: var(--color-main-text) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__refresh-icon {\\n\\t\\tflex: 0 0 44px;\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t}\\n\\n\\t&__loading-icon {\\n\\t\\tmargin: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-navigation[data-v-7387953c] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation[data-v-7387953c] .app-navigation-entry.active .button-vue.icon-collapse:not(:hover){color:var(--color-primary-element-text)}.app-navigation>ul.app-navigation__list[data-v-7387953c]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-7387953c]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Navigation.vue\"],\"names\":[],\"mappings\":\"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,oGACC,uCAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA\",\"sourcesContent\":[\"\\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\\n.app-navigation::v-deep .app-navigation-entry-icon {\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center;\\n}\\n\\n.app-navigation::v-deep .app-navigation-entry.active .button-vue.icon-collapse:not(:hover) {\\n\\tcolor: var(--color-primary-element-text);\\n}\\n\\n.app-navigation > ul.app-navigation__list {\\n\\t// Use flex gap value for more elegant spacing\\n\\tpadding-bottom: var(--default-grid-baseline, 4px);\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\toverflow: hidden !important;\\n\\tpadding-top: 0 !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.setting-link[data-v-00f09e69]:hover{text-decoration:underline}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Settings.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,yBAAA\",\"sourcesContent\":[\"\\n.setting-link:hover {\\n\\ttext-decoration: underline;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // \n SCRIPT: S++, // \\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.empty-content__loading[data-v-a75d4530] {\n\theight: 100%;\n}\n.app-settings-content__label[data-v-a75d4530] {\n\tmargin-block-start: var(--app-navigation-padding);\n\tmargin-inline-start: calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2);\n\tmin-height: var(--default-clickable-area);\n\tline-height: var(--default-clickable-area);\n\tvertical-align: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStore.vue\"],\"names\":[],\"mappings\":\";AAoFA;CACA,YAAA;AACA;AAEA;CACA,iDAAA;CACA,4FAAA;CACA,yCAAA;CACA,0CAAA;CACA,sBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n/* The categories-loading indicator */\n.categories--loading[data-v-d15221f2] {\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStoreNavigation.vue\"],\"names\":[],\"mappings\":\";AAsIA,qCAAA;AACA;CACA,OAAA;CACA,aAAA;CACA,mBAAA;CACA,uBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.listView ? 'tr' : (_vm.inline ? 'article' : 'li'),{tag:\"component\",staticClass:\"app-item\",class:{\n\t\t'app-item--list-view': _vm.listView,\n\t\t'app-item--store-view': !_vm.listView,\n\t\t'app-item--selected': _vm.isSelected,\n\t\t'app-item--with-sidebar': _vm.withSidebar,\n\t}},[_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-image app-image-icon\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-icon`)}},[((_vm.listView && !_vm.app.preview) || (!_vm.listView && !_vm.screenshotLoaded))?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.listView && _vm.app.preview)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"alt\":\"\"}}):_vm._e()]),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-name\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-name`)}},[_c('router-link',{staticClass:\"app-name--link\",attrs:{\"to\":{\n\t\t\t\tname: 'apps-details',\n\t\t\t\tparams: {\n\t\t\t\t\tcategory: _vm.category,\n\t\t\t\t\tid: _vm.app.id\n\t\t\t\t},\n\t\t\t},\"aria-label\":_vm.t('settings', 'Show details for {appName} app', { appName:_vm.app.name })}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(!_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-summary\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-version`)}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-version\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-version`)}},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-level\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-level`)}},[_c('AppLevelBadge',{attrs:{\"level\":_vm.app.level}}),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),(!_vm.inline)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-actions\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-actions`)}},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update to {update}', {update:_vm.app.update}))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcButton',{staticClass:\"uninstall\",attrs:{\"type\":\"tertiary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('NcButton',{attrs:{\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings','Disable'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.enable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")]):(!_vm.app.active)?_c('NcButton',{attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"secondary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forceEnableButtonText)+\"\\n\\t\\t\")]):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\nexport * from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=09f30db0&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=09f30db0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=09f30db0&scoped=true\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=09f30db0&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"09f30db0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.isSupported || _setup.isFeatured)?_c('span',{staticClass:\"app-level-badge\",class:{ 'app-level-badge--supported': _setup.isSupported },attrs:{\"title\":_setup.badgeTitle}},[_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.badgeIcon,\"size\":20,\"inline\":\"\"}}),_vm._v(\"\\n\\t\"+_vm._s(_setup.badgeText)+\"\\n\")],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=style&index=0&id=3590dbeb&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=style&index=0&id=3590dbeb&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppLevelBadge.vue?vue&type=template&id=3590dbeb&scoped=true\"\nimport script from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppLevelBadge.vue?vue&type=style&index=0&id=3590dbeb&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3590dbeb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"app-score__wrapper\",attrs:{\"role\":\"img\",\"aria-label\":_vm.title,\"title\":_vm.title}},[_vm._l((_vm.fullStars),function(index){return _c('NcIconSvgWrapper',{key:`full-star-${index}`,attrs:{\"path\":_vm.mdiStar,\"inline\":\"\"}})}),_vm._v(\" \"),(_vm.hasHalfStar)?_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStarHalfFull,\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.emptyStars),function(index){return _c('NcIconSvgWrapper',{key:`empty-star-${index}`,attrs:{\"path\":_vm.mdiStarOutline,\"inline\":\"\"}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=7d015114&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=7d015114&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=7d015114&scoped=true\"\nimport script from \"./AppScore.vue?vue&type=script&lang=ts\"\nexport * from \"./AppScore.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppScore.vue?vue&type=style&index=0&id=7d015114&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d015114\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppContent,{staticClass:\"app-settings-content\",attrs:{\"page-heading\":_setup.appStoreLabel}},[_c('h2',{staticClass:\"app-settings-content__label\",domProps:{\"textContent\":_vm._s(_setup.viewLabel)}}),_vm._v(\" \"),(_setup.currentCategory === 'discover')?_c(_setup.AppStoreDiscoverSection):(_setup.isLoading)?_c(_setup.NcEmptyContent,{staticClass:\"empty-content__loading\",attrs:{\"name\":_setup.t('settings', 'Loading app list')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_c(_setup.AppList,{attrs:{\"category\":_setup.currentCategory}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\nHow it works:\n`this.#head` is an instance of `Node` which keeps track of its current value and nests another instance of `Node` that keeps the value that comes after it. When a value is provided to `.enqueue()`, the code needs to iterate through `this.#head`, going deeper and deeper to find the last value. However, iterating through every single item is slow. This problem is solved by saving a reference to the last value as `this.#tail` so that it can reference it to add a new value.\n*/\n\nclass Node {\n\tvalue;\n\tnext;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n}\n\nexport default class Queue {\n\t#head;\n\t#tail;\n\t#size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this.#head) {\n\t\t\tthis.#tail.next = node;\n\t\t\tthis.#tail = node;\n\t\t} else {\n\t\t\tthis.#head = node;\n\t\t\tthis.#tail = node;\n\t\t}\n\n\t\tthis.#size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this.#head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#head = this.#head.next;\n\t\tthis.#size--;\n\t\treturn current.value;\n\t}\n\n\tclear() {\n\t\tthis.#head = undefined;\n\t\tthis.#tail = undefined;\n\t\tthis.#size = 0;\n\t}\n\n\tget size() {\n\t\treturn this.#size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this.#head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n}\n","import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, args) => {\n\t\tqueue.enqueue(run.bind(undefined, fn, resolve, args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, args);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=73184220&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=73184220&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=73184220&scoped=true\"\nimport script from \"./AppList.vue?vue&type=script&lang=js\"\nexport * from \"./AppList.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppList.vue?vue&type=style&index=0&id=73184220&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"73184220\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{\n\t\t\t'apps-list--list-view': (_vm.useBundleView || _vm.useListView),\n\t\t\t'apps-list--store-view': _vm.useAppStoreView,\n\t\t},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('NcButton',{attrs:{\"id\":\"app-list-update-all\",\"type\":\"primary\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', 'Update', 'Update all', _vm.counter))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'All apps are up-to-date.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('TransitionGroup',{staticClass:\"apps-list__list-container\",attrs:{\"name\":\"apps-list\",\"tag\":\"table\"}},[_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('tr',{key:\"app-list-view-header\"},[_c('th',{attrs:{\"id\":\"app-table-col-icon\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-name\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-version\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-level\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-actions\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.bundles),function(bundle){return [_c('tr',{key:bundle.id},[_c('th',{attrs:{\"id\":`app-table-rowgroup-${bundle.id}`,\"colspan\":\"5\",\"scope\":\"rowgroup\"}},[_c('div',{staticClass:\"apps-list__bundle-heading\"},[_c('span',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(bundle.name)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', _vm.bundleToggleText(bundle.id)))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"use-bundle-view\":true,\"headers\":`app-table-rowgroup-${bundle.id}`,\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_c('ul',{staticClass:\"apps-list__store-container\"},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}),1):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list apps-list--list-view\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list__list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('caption',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Results from other categories'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2):_vm._e()])]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"app-discover\"},[(_setup.hasError)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Nothing to show'),\"description\":_setup.t('settings', 'Could not load section content from app store.')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiEyeOff,\"size\":64}})]},proxy:true}],null,false,638098482)}):(_setup.elements.length === 0)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Loading'),\"description\":_setup.t('settings', 'Fetching the latest news…')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_vm._l((_setup.elements),function(entry,index){return _c(_setup.getComponent(entry.type),_vm._b({key:entry.id ?? index,tag:\"component\"},'component',entry,false))})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * Helper to transform the JSON API results to proper frontend objects (app discover section elements)\n *\n * @param element The JSON API element to transform\n */\nexport const parseApiResponse = (element) => {\n const appElement = { ...element };\n if (appElement.date) {\n appElement.date = Date.parse(appElement.date);\n }\n if (appElement.expiryDate) {\n appElement.expiryDate = Date.parse(appElement.expiryDate);\n }\n if (appElement.type === 'post') {\n return appElement;\n }\n else if (appElement.type === 'showcase') {\n return appElement;\n }\n else if (appElement.type === 'carousel') {\n return appElement;\n }\n throw new Error(`Invalid argument, app discover element with type ${element.type ?? 'unknown'} is unknown`);\n};\n/**\n * Filter outdated or upcoming elements\n * @param element Element to check\n */\nexport const filterElements = (element) => {\n const now = Date.now();\n // Element not yet published\n if (element.date && element.date > now) {\n return false;\n }\n // Element expired\n if (element.expiryDate && element.expiryDate < now) {\n return false;\n }\n return true;\n};\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=618752df&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=618752df&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreDiscoverSection.vue?vue&type=template&id=618752df&scoped=true\"\nimport script from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=618752df&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"618752df\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=a75d4530&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=a75d4530&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStore.vue?vue&type=template&id=a75d4530&scoped=true\"\nimport script from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStore.vue?vue&type=style&index=0&id=a75d4530&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a75d4530\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppNavigation,{attrs:{\"aria-label\":_setup.t('settings', 'Apps')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-discover\",\"to\":{ name: 'apps-category', params: { category: 'discover'} },\"name\":_setup.APPS_SECTION_ENUM.discover},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.discover}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-installed\",\"to\":{ name: 'apps-category', params: { category: 'installed'} },\"name\":_setup.APPS_SECTION_ENUM.installed},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.installed}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"name\":_setup.APPS_SECTION_ENUM.enabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.enabled}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"name\":_setup.APPS_SECTION_ENUM.disabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.disabled}})]},proxy:true}])}),_vm._v(\" \"),(_setup.updateCount > 0)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"name\":_setup.APPS_SECTION_ENUM.updates},scopedSlots:_vm._u([{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,[_vm._v(_vm._s(_setup.updateCount))])]},proxy:true},{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.updates}})]},proxy:true}],null,false,2824895104)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"name\":_setup.APPS_SECTION_ENUM['app-bundles']},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.bundles}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationSpacer),_vm._v(\" \"),(_setup.appstoreEnabled && _setup.categoriesLoading)?_c('li',{staticClass:\"categories--loading\"},[_c(_setup.NcLoadingIcon,{attrs:{\"size\":20,\"aria-label\":_setup.t('settings', 'Loading categories')}})],1):(_setup.appstoreEnabled && !_setup.categoriesLoading)?[(_setup.isSubscribed)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-supported\",\"to\":{ name: 'apps-category', params: { category: 'supported' } },\"name\":_setup.APPS_SECTION_ENUM.supported},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.supported}})]},proxy:true}],null,false,613663011)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"name\":_setup.APPS_SECTION_ENUM.featured},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.featured}})]},proxy:true}])}),_vm._v(\" \"),_vm._l((_setup.categories),function(category){return _c(_setup.NcAppNavigationItem,{key:category.id,attrs:{\"id\":`app-category-${category.id}`,\"name\":category.displayName,\"to\":{\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tparams: { category: category.id },\n\t\t\t\t}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":category.icon}})]},proxy:true}],null,true)})})]:_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-developer-docs\",\"name\":_setup.t('settings', 'Developer documentation ↗'),\"href\":_setup.developerDocsUrl}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=d15221f2&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=d15221f2&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreNavigation.vue?vue&type=template&id=d15221f2&scoped=true\"\nimport script from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreNavigation.vue?vue&type=style&index=0&id=d15221f2&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d15221f2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.showSidebar)?_c(_setup.NcAppSidebar,{staticClass:\"app-sidebar\",class:{ 'app-sidebar--with-screenshot': _setup.hasScreenshot },attrs:{\"active\":_setup.activeTab,\"background\":_setup.hasScreenshot ? _setup.app.screenshot : undefined,\"compact\":!_setup.hasScreenshot,\"name\":_setup.app.name,\"title\":_setup.app.name,\"subname\":_setup.licenseText,\"subtitle\":_setup.licenseText},on:{\"update:active\":function($event){_setup.activeTab=$event},\"close\":_setup.hideAppDetails},scopedSlots:_vm._u([(!_setup.hasScreenshot)?{key:\"header\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{staticClass:\"app-sidebar__fallback-icon\",attrs:{\"svg\":_setup.appIcon ?? '',\"size\":64}})]},proxy:true}:null,{key:\"description\",fn:function(){return [_c('div',{staticClass:\"app-sidebar__badges\"},[_c(_setup.AppLevelBadge,{attrs:{\"level\":_setup.app.level}}),_vm._v(\" \"),(_setup.hasRating)?_c(_setup.AppScore,{attrs:{\"score\":_setup.rating}}):_vm._e()],1)]},proxy:true}],null,true)},[_vm._v(\" \"),_vm._v(\" \"),_c(_setup.AppDescriptionTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppDetailsTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppReleasesTab,{attrs:{\"app\":_setup.app}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=7c5c8e59&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=7c5c8e59&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=7c5c8e59&scoped=true\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=7c5c8e59&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c5c8e59\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"desc\",\"name\":_setup.t('settings', 'Description'),\"order\":0},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiTextShort}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-description\"},[_c(_setup.Markdown,{attrs:{\"text\":_vm.app.description,\"min-heading\":4}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=style&index=0&id=fccce5ae&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=style&index=0&id=fccce5ae&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDescriptionTab.vue?vue&type=template&id=fccce5ae&scoped=true\"\nimport script from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDescriptionTab.vue?vue&type=style&index=0&id=fccce5ae&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fccce5ae\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSidebarTab',{attrs:{\"id\":\"details\",\"name\":_vm.t('settings', 'Details'),\"order\":1},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTextBox}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":`groups_enable_${_vm.app.id}`,\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":`groups_enable_${_vm.app.id}`}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"limitToGroups\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Limit app usage to groups')))])]),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('NcSelect',{attrs:{\"input-id\":\"limitToGroups\",\"options\":_vm.groups,\"value\":_vm.appGroups,\"limit\":5,\"label\":\"name\",\"multiple\":true,\"close-on-select\":false},on:{\"option:selected\":_vm.addGroupLimitation,\"option:deselected\":_vm.removeGroupLimitation,\"search\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{staticClass:\"enable primary\",attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.enable(_vm.app.id)}}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{staticClass:\"enable force\",attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e()])]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),(_vm.lastModified)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Latest updated'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.lastModified}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Author'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__authors\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appAuthors)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Categories'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appCategories)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),(_vm.externalResources.length > 0)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Resources')))]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__documentation\",attrs:{\"aria-label\":_vm.t('settings', 'Documentation')}},_vm._l((_vm.externalResources),function(resource){return _c('li',{key:resource.id},[_c('a',{staticClass:\"appslink\",attrs:{\"href\":resource.href,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(resource.label)+\" ↗\\n\\t\\t\\t\\t\\t\")])])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Interact')))]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__interact\"},[_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Report a bug'),\"title\":_vm.t('settings', 'Report a bug')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiBug}})]},proxy:true}])}),_vm._v(\" \"),_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Request feature'),\"title\":_vm.t('settings', 'Request feature')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiFeatureSearch}})]},proxy:true}])}),_vm._v(\" \"),(_vm.app.appstoreData?.discussion)?_c('NcButton',{attrs:{\"href\":_vm.app.appstoreData.discussion,\"aria-label\":_vm.t('settings', 'Ask questions or discuss'),\"title\":_vm.t('settings', 'Ask questions or discuss')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTooltipQuestion}})]},proxy:true}],null,false,1288192462)}):_vm._e(),_vm._v(\" \"),(!_vm.app.internal)?_c('NcButton',{attrs:{\"href\":_vm.rateAppUrl,\"aria-label\":_vm.t('settings', 'Rate the app'),\"title\":_vm.t('settings', 'Rate')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStar}})]},proxy:true}],null,false,422450625)}):_vm._e()],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=style&index=0&id=24864562&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=style&index=0&id=24864562&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetailsTab.vue?vue&type=template&id=24864562&scoped=true\"\nimport script from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDetailsTab.vue?vue&type=style&index=0&id=24864562&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"24864562\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.hasChangelog)?_c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"changelog\",\"name\":_setup.t('settings', 'Changelog'),\"order\":2},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiClockFast,\"size\":24}})]},proxy:true}],null,false,1849836872)},[_vm._v(\" \"),_vm._l((_vm.app.releases),function(release){return _c('div',{key:release.version,staticClass:\"app-sidebar-tabs__release\"},[_c('h2',[_vm._v(_vm._s(release.version))]),_vm._v(\" \"),_c(_setup.Markdown,{staticClass:\"app-sidebar-tabs__release-text\",attrs:{\"text\":_setup.createChangelogFromRelease(release)}})],1)})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=style&index=0&id=2261a93d&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=style&index=0&id=2261a93d&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppReleasesTab.vue?vue&type=template&id=2261a93d&scoped=true\"\nimport script from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppReleasesTab.vue?vue&type=style&index=0&id=2261a93d&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2261a93d\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"","import { mdiCog } from '@mdi/js';\nimport { computed, ref, watchEffect } from 'vue';\nimport AppstoreCategoryIcons from '../constants/AppstoreCategoryIcons.ts';\nimport logger from '../logger.ts';\n/**\n * Get the app icon raw SVG for use with `NcIconSvgWrapper` (do never use without sanitizing)\n * It has a fallback to the categroy icon.\n *\n * @param app The app to get the icon for\n */\nexport function useAppIcon(app) {\n const appIcon = ref(null);\n /**\n * Fallback value if no app icon available\n */\n const categoryIcon = computed(() => {\n const path = [app.value?.category ?? []].flat()\n .map((name) => AppstoreCategoryIcons[name])\n .filter((icon) => !!icon)\n .at(0)\n ?? mdiCog;\n return path ? `` : null;\n });\n watchEffect(async () => {\n // Note: Only variables until the first `await` will be watched!\n if (!app.value?.preview) {\n appIcon.value = categoryIcon.value;\n }\n else {\n appIcon.value = null;\n // Now try to load the real app icon\n try {\n const response = await window.fetch(app.value.preview);\n const blob = await response.blob();\n const rawSvg = await blob.text();\n appIcon.value = rawSvg.replaceAll(/fill=\"#(fff|ffffff)([a-z0-9]{1,2})?\"/ig, 'fill=\"currentColor\"');\n }\n catch (error) {\n appIcon.value = categoryIcon.value;\n logger.error('Could not load app icon', { error });\n }\n }\n });\n return {\n appIcon,\n };\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=style&index=0&id=31ecb666&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=style&index=0&id=31ecb666&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreSidebar.vue?vue&type=template&id=31ecb666&scoped=true\"\nimport script from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreSidebar.vue?vue&type=style&index=0&id=31ecb666&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"31ecb666\",\n null\n \n)\n\nexport default component.exports"],"names":["APPS_SECTION_ENUM","Object","freeze","discover","t","installed","enabled","disabled","updates","featured","supported","axios","get","generateOcsUrl","then","_ref","data","ocs","meta","statuscode","emit","apps","window","dispatchEvent","Event","computed","appGroups","this","app","groups","map","group","id","name","installing","$store","getters","loading","isLoading","enableButtonText","needsDownload","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","groupCheckedAppsData","mounted","length","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","groupArray","pop","concat","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","response","rebuildNavigation","catch","error","showError","enable","disable","remove","install","update","mdiStarCircleOutline","mdiAccount","mdiCheck","mdiClose","bundles","mdiArchive","mdiStarShooting","mdiStar","mdiDownload","auth","mdiKey","customization","mdiCog","dashboard","mdiViewDashboard","files","mdiFolder","games","mdiControllerClassic","integration","mdiOpenInApp","monitoring","mdiMonitorEye","multimedia","mdiMultimedia","office","mdiFileDocumentEdit","organization","mdiOfficeBuilding","mdiMagnify","security","mdiSecurity","social","mdiAccountMultiple","tools","mdiTools","workflow","mdiClipboardFlow","showApiError","useAppsStore","defineStore","state","categories","updateCount","loadState","loadingList","gettingCategoriesPromise","actions","loadCategories","force","arguments","undefined","generateUrl","category","_APPSTORE_CATEGORY_IC","icon","APPSTORE_CATEGORY_ICONS","$patch","logger","loadApps","getCategoryById","categoryId","_this$categories$find","find","getAppById","_this$apps$find","_ref2","___CSS_LOADER_EXPORT___","push","module","filterId","filterUrl","Math","random","toString","substring","components","AppLevelBadge","AppScore","NcButton","mixins","AppManagement","SvgFilterMixin","props","type","required","String","listView","Boolean","default","useBundleView","headers","inline","isSelected","scrolled","screenshotLoaded","hasRating","appstoreData","ratingNumOverall","dataItemTag","withSidebar","$route","params","watch","releases","screenshot","image","Image","onload","src","watchers","prefix","content","getDataItemHeaders","columnName","join","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","_c","_self","tag","staticClass","class","attrs","preview","_e","_v","appName","_s","summary","version","level","score","on","$event","stopPropagation","canUnInstall","active","canInstall","isCompatible","_defineComponent","__name","setup","__props","isSupported","isFeatured","badgeIcon","value","badgeText","badgeTitle","__sfc","NcIconSvgWrapper","_setup","_setupProxy","defineComponent","Number","mdiStarHalfFull","mdiStarOutline","title","appScore","toFixed","fullStars","floor","emptyStars","min","hasHalfStar","_l","key","Node","constructor","_defineProperty","_head","WeakMap","_tail","_size","_Symbol$iterator","Symbol","iterator","Queue","_classPrivateFieldInitSpec","writable","clear","enqueue","_this$size","node","_classPrivateFieldGet","next","_classPrivateFieldSet","dequeue","_this$size3","current","size","pLimit","concurrency","isInteger","POSITIVE_INFINITY","TypeError","queue","activeCount","run","async","fn","resolve","args","result","generator","_len","Array","_key","Promise","bind","defineProperties","pendingCount","clearQueue","AppItem","counter","filter","hasPendingUpdate","showUpdateAll","useListView","getAllApps","toLowerCase","sort","a","b","sortStringA","sortStringB","OC","Util","naturalSortCompare","appstore","getAppBundles","bundle","bundleApps","bundleIds","searchApps","_app","useAppStoreView","allBundlesEnabled","bundleToggleText","beforeDestroy","unsubscribe","setSearch","resetSearch","subscribe","toggleBundle","disableBundle","enableBundle","console","Notification","show","updateAll","n","parseApiResponse","element","_element$type","appElement","date","Date","parse","expiryDate","Error","filterElements","now","PostType","defineAsyncComponent","CarouselType","ShowcaseType","hasError","ref","elements","shuffleArray","array","i","j","onBeforeMount","info","parsedElements","shuffledElements","_a$order","_b$order","order","Infinity","getComponent","render","h","mdiEyeOff","NcEmptyContent","NcLoadingIcon","scopedSlots","_u","proxy","entry","_entry$id","_b","route","useRoute","store","currentCategory","_route$params$categor","_route$params","appStoreLabel","viewLabel","_APPS_SECTION_ENUM$cu","_store$getCategoryByI","displayName","watchEffect","document","instance","getCurrentInstance","shouldRefetchCategories","NcAppContent","AppList","AppStoreDiscoverSection","domProps","appstoreEnabled","developerDocsUrl","categoriesLoading","isSubscribed","NcAppNavigation","NcAppNavigationItem","NcAppNavigationSpacer","NcCounterBubble","text","minHeading","renderMarkdown","renderer","marked","Renderer","link","href","prot","decodeURIComponent","unescape","replace","e","out","heading","blockquote","quote","dompurify","trim","gfm","highlight","tables","breaks","pedantic","sanitize","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","mdiTextShort","NcAppSidebarTab","Markdown","description","NcDateTime","NcSelect","mdiBug","mdiFeatureSearch","mdiTextBox","mdiTooltipQuestion","lastModified","_map$sort$at","_this$app$appstoreDat","_this$app$appstoreDat2","at","appAuthors","warn","authorName","xmlNode","isArray","author","split","localeCompare","appstoreUrl","externalResources","resources","internal","label","website","documentation","user","admin","developer","appCategories","flat","_this$store$getCatego","_this$store$getCatego2","rateAppUrl","getGroups","_vm$app$bugs","_vm$app$bugs2","_vm$app$appstoreData","directives","rawName","expression","_i","$$a","$$el","target","$$c","checked","$$v","$$i","slice","slot","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","dep","resource","bugs","discussion","hasChangelog","_props$app$releases$","_props$app$releases","values","translations","some","changelog","createChangelogFromRelease","release","_release$translations","_release$translations2","_release$translations3","getLanguage","en","mdiClockFast","router","useRouter","_route$params$id","_app$value$appstoreDa","rating","_app$value$appstoreDa2","_app$value$appstoreDa3","_app$value$appstoreDa4","ratingNumRecent","ratingRecent","ratingOverall","showSidebar","appIcon","categoryIcon","_flat$map$filter$at","_app$value$category","_app$value","path","AppstoreCategoryIcons","_app$value2","fetch","blob","rawSvg","replaceAll","useAppIcon","licenseText","license","licence","toUpperCase","activeTab","hasScreenshot","loadScreenshot","_app$value3","onMounted","hideAppDetails","NcAppSidebar","AppDescriptionTab","AppDetailsTab","AppReleasesTab","_setup$appIcon"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-apps-view-4529.js?v=064340341af1d750e872","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/constants/AppsConstants.js","webpack:///nextcloud/apps/settings/src/service/rebuild-navigation.js","webpack:///nextcloud/apps/settings/src/mixins/AppManagement.js","webpack:///nextcloud/apps/settings/src/constants/AppstoreCategoryIcons.ts","webpack:///nextcloud/apps/settings/src/store/apps-store.ts","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=style&index=0&id=73184220&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=style&index=0&id=09f30db0&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList/AppLevelBadge.vue?vue&type=style&index=0&id=3590dbeb&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?vue&type=style&index=0&id=618752df&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?vue&type=style&index=0&id=fccce5ae&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?vue&type=style&index=0&id=24864562&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?vue&type=style&index=0&id=2261a93d&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=style&index=0&id=7c5c8e59&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/AppStoreSidebar.vue?vue&type=style&index=0&id=31ecb666&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=style&index=0&id=7d015114&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/views/AppStore.vue?vue&type=style&index=0&id=a75d4530&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/views/AppStoreNavigation.vue?vue&type=style&index=0&id=d15221f2&prod&scoped=true&lang=css","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?af1e","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/SvgFilterMixin.vue?5bcd","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?854e","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?a9a1","webpack:///nextcloud/apps/settings/src/components/AppList/AppLevelBadge.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppLevelBadge.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppList/AppLevelBadge.vue?d837","webpack://nextcloud/./apps/settings/src/components/AppList/AppLevelBadge.vue?74e8","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?4d91","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?26fd","webpack:///nextcloud/apps/settings/src/views/AppStore.vue","webpack:///nextcloud/node_modules/yocto-queue/index.js","webpack:///nextcloud/node_modules/p-limit/index.js","webpack:///nextcloud/apps/settings/src/components/AppList.vue","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList.vue?9f90","webpack://nextcloud/./apps/settings/src/components/AppList.vue?8acf","webpack://nextcloud/./apps/settings/src/components/AppList.vue?ee21","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue","webpack:///nextcloud/apps/settings/src/utils/appDiscoverParser.ts","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?ee0a","webpack://nextcloud/./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?0759","webpack:///nextcloud/apps/settings/src/views/AppStore.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/AppStore.vue?9deb","webpack://nextcloud/./apps/settings/src/views/AppStore.vue?47b2","webpack:///nextcloud/apps/settings/src/views/AppStoreNavigation.vue","webpack:///nextcloud/apps/settings/src/views/AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/AppStoreNavigation.vue?b382","webpack://nextcloud/./apps/settings/src/views/AppStoreNavigation.vue?6e6f","webpack:///nextcloud/apps/settings/src/views/AppStoreSidebar.vue","webpack:///nextcloud/apps/settings/src/components/Markdown.vue","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?c49c","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?26cf","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?d299","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?4cfb","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?311d","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?9ed4","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?b564","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?d4df","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?c0dd","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?d492","webpack:///nextcloud/apps/settings/src/views/AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/composables/useAppIcon.ts","webpack://nextcloud/./apps/settings/src/views/AppStoreSidebar.vue?99b3","webpack://nextcloud/./apps/settings/src/views/AppStoreSidebar.vue?5373"],"sourcesContent":["/**\n * @copyright 2022, Julia Kirschenheuter \n *\n * @author Julia Kirschenheuter \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of verification constants, according to Apps */\nexport const APPS_SECTION_ENUM = Object.freeze({\n\tdiscover: t('settings', 'Discover'),\n\tinstalled: t('settings', 'Your apps'),\n\tenabled: t('settings', 'Active apps'),\n\tdisabled: t('settings', 'Disabled apps'),\n\tupdates: t('settings', 'Updates'),\n\t'app-bundles': t('settings', 'App bundles'),\n\tfeatured: t('settings', 'Featured apps'),\n\tsupported: t('settings', 'Supported apps'), // From subscription\n})\n","import axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { emit } from '@nextcloud/event-bus'\n\nexport default () => {\n\treturn axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\t.then(({ data }) => {\n\t\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\t\twindow.dispatchEvent(new Event('resize'))\n\t\t})\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport rebuildNavigation from '../service/rebuild-navigation.js'\n\nexport default {\n\tcomputed: {\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map(group => { return { id: group, name: group } })\n\t\t},\n\t\tinstalling() {\n\t\t\treturn this.$store.getters.loading('install')\n\t\t},\n\t\tisLoading() {\n\t\t\treturn this.app && this.$store.getters.loading(this.app.id)\n\t\t},\n\t\tenableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Download and enable')\n\t\t\t}\n\t\t\treturn t('settings', 'Enable')\n\t\t},\n\t\tforceEnableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Allow untested app')\n\t\t\t}\n\t\t\treturn t('settings', 'Allow untested app')\n\t\t},\n\t\tenableButtonTooltip() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\tforceEnableButtonTooltip() {\n\t\t\tconst base = t('settings', 'This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.')\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn base + ' ' + t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn base\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tif (this.app && this.app.groups && this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasyncFindGroup(query) {\n\t\t\treturn this.$store.dispatch('getGroups', { search: query, limit: 5, offset: 0 })\n\t\t},\n\t\tisLimitedToGroups(app) {\n\t\t\tif (this.app.groups.length || this.groupCheckedAppsData) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tsetGroupLimit() {\n\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: [] })\n\t\t\t}\n\t\t},\n\t\tcanLimitToGroups(app) {\n\t\t\tif ((app.types && app.types.includes('filesystem'))\n\t\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t\t|| app.types.includes('prevent_group_restriction')) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t\taddGroupLimitation(groupArray) {\n\t\t\tconst group = groupArray.pop()\n\t\t\tconst groups = this.app.groups.concat([]).concat([group.id])\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups })\n\t\t},\n\t\tremoveGroupLimitation(group) {\n\t\t\tconst currentGroups = this.app.groups.concat([])\n\t\t\tconst index = currentGroups.indexOf(group.id)\n\t\t\tif (index > -1) {\n\t\t\t\tcurrentGroups.splice(index, 1)\n\t\t\t}\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups })\n\t\t},\n\t\tforceEnable(appId) {\n\t\t\tthis.$store.dispatch('forceEnableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tenable(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tdisable(appId) {\n\t\t\tthis.$store.dispatch('disableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tremove(appId) {\n\t\t\tthis.$store.dispatch('uninstallApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tinstall(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tupdate(appId) {\n\t\t\tthis.$store.dispatch('updateApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { mdiAccount, mdiAccountMultiple, mdiArchive, mdiCheck, mdiClipboardFlow, mdiClose, mdiCog, mdiControllerClassic, mdiDownload, mdiFileDocumentEdit, mdiFolder, mdiKey, mdiMagnify, mdiMonitorEye, mdiMultimedia, mdiOfficeBuilding, mdiOpenInApp, mdiSecurity, mdiStar, mdiStarCircleOutline, mdiStarShooting, mdiTools, mdiViewDashboard, } from '@mdi/js';\n/**\n * SVG paths used for appstore category icons\n */\nexport default Object.freeze({\n // system special categories\n discover: mdiStarCircleOutline,\n installed: mdiAccount,\n enabled: mdiCheck,\n disabled: mdiClose,\n bundles: mdiArchive,\n supported: mdiStarShooting,\n featured: mdiStar,\n updates: mdiDownload,\n // generic categories\n auth: mdiKey,\n customization: mdiCog,\n dashboard: mdiViewDashboard,\n files: mdiFolder,\n games: mdiControllerClassic,\n integration: mdiOpenInApp,\n monitoring: mdiMonitorEye,\n multimedia: mdiMultimedia,\n office: mdiFileDocumentEdit,\n organization: mdiOfficeBuilding,\n search: mdiMagnify,\n security: mdiSecurity,\n social: mdiAccountMultiple,\n tools: mdiTools,\n workflow: mdiClipboardFlow,\n});\n","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { showError } from '@nextcloud/dialogs';\nimport { loadState } from '@nextcloud/initial-state';\nimport { translate as t } from '@nextcloud/l10n';\nimport { generateUrl } from '@nextcloud/router';\nimport { defineStore } from 'pinia';\nimport axios from '@nextcloud/axios';\nimport logger from '../logger';\nimport APPSTORE_CATEGORY_ICONS from '../constants/AppstoreCategoryIcons.ts';\nconst showApiError = () => showError(t('settings', 'An error occurred during the request. Unable to proceed.'));\nexport const useAppsStore = defineStore('settings-apps', {\n state: () => ({\n apps: [],\n categories: [],\n updateCount: loadState('settings', 'appstoreUpdateCount', 0),\n loading: {\n apps: false,\n categories: false,\n },\n loadingList: false,\n gettingCategoriesPromise: null,\n }),\n actions: {\n async loadCategories(force = false) {\n if (this.categories.length > 0 && !force) {\n return;\n }\n try {\n this.loading.categories = true;\n const { data: categories } = await axios.get(generateUrl('settings/apps/categories'));\n for (const category of categories) {\n category.icon = APPSTORE_CATEGORY_ICONS[category.id] ?? '';\n }\n this.$patch({\n categories,\n });\n }\n catch (error) {\n logger.error(error);\n showApiError();\n }\n finally {\n this.loading.categories = false;\n }\n },\n async loadApps(force = false) {\n if (this.apps.length > 0 && !force) {\n return;\n }\n try {\n this.loading.apps = true;\n const { data } = await axios.get(generateUrl('settings/apps/list'));\n this.$patch({\n apps: data.apps,\n });\n }\n catch (error) {\n logger.error(error);\n showApiError();\n }\n finally {\n this.loading.apps = false;\n }\n },\n getCategoryById(categoryId) {\n return this.categories.find(({ id }) => id === categoryId) ?? null;\n },\n getAppById(appId) {\n return this.apps.find(({ id }) => id === appId) ?? null;\n },\n },\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.apps-list[data-v-73184220]{display:flex;flex-wrap:wrap;align-content:flex-start}.apps-list--move[data-v-73184220]{transition:transform 1s}.apps-list #app-list-update-all[data-v-73184220]{margin-left:10px}.apps-list__toolbar[data-v-73184220]{height:60px;padding:8px;padding-left:60px;width:100%;background-color:var(--color-main-background);position:sticky;top:0;z-index:1;display:flex;align-items:center}.apps-list--list-view[data-v-73184220]{margin-bottom:100px;position:relative}.apps-list__list-container[data-v-73184220]{width:100%}.apps-list__store-container[data-v-73184220]{display:flex;flex-wrap:wrap}.apps-list__bundle-heading[data-v-73184220]{display:flex;align-items:center;margin:20px 10px 20px 0}.apps-list__bundle-header[data-v-73184220]{margin:0 10px 0 50px;font-weight:bold;font-size:20px;line-height:30px;color:var(--color-text-light)}#apps-list-search .app-item h2[data-v-73184220]{margin-bottom:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList.vue\"],\"names\":[],\"mappings\":\"AAIA,4BACC,YAAA,CACA,cAAA,CACA,wBAAA,CAGA,kCACC,uBAAA,CAGD,iDACC,gBAAA,CAGD,qCACC,WAjBe,CAkBf,WAnBgB,CAqBhB,iBApBe,CAqBf,UAAA,CACA,6CAAA,CACA,eAAA,CACA,KAAA,CACA,SAAA,CACA,YAAA,CACA,kBAAA,CAGD,uCACC,mBAAA,CAEA,iBAAA,CAGD,4CACC,UAAA,CAGD,6CACC,YAAA,CACA,cAAA,CAGD,4CACC,YAAA,CACA,kBAAA,CACA,uBAAA,CAGD,2CACC,oBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,6BAAA,CAMA,gDACC,eAAA\",\"sourcesContent\":[\"\\n$toolbar-padding: 8px;\\n$toolbar-height: 44px + $toolbar-padding * 2;\\n\\n.apps-list {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-content: flex-start;\\n\\n\\t// For transition group\\n\\t&--move {\\n\\t\\ttransition: transform 1s;\\n\\t}\\n\\n\\t#app-list-update-all {\\n\\t\\tmargin-left: 10px;\\n\\t}\\n\\n\\t&__toolbar {\\n\\t\\theight: $toolbar-height;\\n\\t\\tpadding: $toolbar-padding;\\n\\t\\t// Leave room for app-navigation-toggle\\n\\t\\tpadding-left: $toolbar-height;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tposition: sticky;\\n\\t\\ttop: 0;\\n\\t\\tz-index: 1;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&--list-view {\\n\\t\\tmargin-bottom: 100px;\\n\\t\\t// For positioning link overlay on rows\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__list-container {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__store-container {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: wrap;\\n\\t}\\n\\n\\t&__bundle-heading {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmargin: 20px 10px 20px 0;\\n\\t}\\n\\n\\t&__bundle-header {\\n\\t\\tmargin: 0 10px 0 50px;\\n\\t\\tfont-weight: bold;\\n\\t\\tfont-size: 20px;\\n\\t\\tline-height: 30px;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n}\\n\\n#apps-list-search {\\n\\t.app-item {\\n\\t\\th2 {\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-item[data-v-09f30db0]{position:relative}.app-item[data-v-09f30db0]:hover{background-color:var(--color-background-dark)}.app-item--list-view[data-v-09f30db0]{--app-item-padding: calc(var(--default-grid-baseline) * 2);--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2)}.app-item--list-view.app-item--selected[data-v-09f30db0]{background-color:var(--color-background-dark)}.app-item--list-view>*[data-v-09f30db0]{vertical-align:middle;border-bottom:1px solid var(--color-border);padding:var(--app-item-padding);height:var(--app-item-height)}.app-item--list-view .app-image[data-v-09f30db0]{width:var(--default-clickable-area);height:auto;text-align:right}.app-item--list-view .app-image-icon svg[data-v-09f30db0],.app-item--list-view .app-image-icon .icon-settings-dark[data-v-09f30db0]{margin-top:5px;width:20px;height:20px;opacity:.5;background-size:cover;display:inline-block}.app-item--list-view .app-name[data-v-09f30db0]{padding:0 var(--app-item-padding)}.app-item--list-view .app-name--link[data-v-09f30db0]{height:var(--app-item-height);display:flex;align-items:center}.app-item--list-view .app-name--link[data-v-09f30db0]::after{content:\"\";position:absolute;left:0;right:0;height:var(--app-item-height)}.app-item--list-view .app-actions[data-v-09f30db0]{display:flex;gap:var(--app-item-padding);flex-wrap:wrap;justify-content:end}.app-item--list-view .app-actions .icon-loading-small[data-v-09f30db0]{display:inline-block;top:4px;margin-right:10px}@media only screen and (max-width: 900px){.app-item--list-view .app-version[data-v-09f30db0],.app-item--list-view .app-level[data-v-09f30db0]{display:none}}@media only screen and (max-width: 512px){.app-item--list-view .app-actions[data-v-09f30db0]{display:none}}.app-item--store-view[data-v-09f30db0]{padding:30px}.app-item--store-view .app-image-icon .icon-settings-dark[data-v-09f30db0]{width:100%;height:150px;background-size:45px;opacity:.5}.app-item--store-view .app-image-icon svg[data-v-09f30db0]{position:absolute;bottom:43px;width:64px;height:64px;opacity:.1}.app-item--store-view .app-name[data-v-09f30db0]{margin:5px 0}.app-item--store-view .app-name--link[data-v-09f30db0]::after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0}.app-item--store-view .app-actions[data-v-09f30db0]{margin:10px 0}@media only screen and (min-width: 1601px){.app-item--store-view[data-v-09f30db0]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-09f30db0]{width:33%}}@media only screen and (max-width: 1600px){.app-item--store-view[data-v-09f30db0]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-09f30db0]{width:33%}}@media only screen and (max-width: 1400px){.app-item--store-view[data-v-09f30db0]{width:33%}.app-item--store-view.app-item--with-sidebar[data-v-09f30db0]{width:50%}}@media only screen and (max-width: 900px){.app-item--store-view[data-v-09f30db0]{width:50%}.app-item--store-view.app-item--with-sidebar[data-v-09f30db0]{width:100%}}@media only screen and (max-width: 1024px){.app-item--store-view[data-v-09f30db0]{width:50%}}@media only screen and (max-width: 480px){.app-item--store-view[data-v-09f30db0]{width:100%}}.app-icon[data-v-09f30db0]{filter:var(--background-invert-if-bright)}.app-image[data-v-09f30db0]{position:relative;height:150px;opacity:1;overflow:hidden}.app-image img[data-v-09f30db0]{width:100%}.app-version[data-v-09f30db0]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppItem.vue\"],\"names\":[],\"mappings\":\"AAIA,2BACC,iBAAA,CAEA,iCACC,6CAAA,CAGD,sCACC,0DAAA,CACA,oFAAA,CAEA,yDACC,6CAAA,CAGD,wCACC,qBAAA,CACA,2CAAA,CACA,+BAAA,CACA,6BAAA,CAGD,iDACC,mCAAA,CACA,WAAA,CACA,gBAAA,CAGD,oIAEC,cAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,qBAAA,CACA,oBAAA,CAGD,gDACC,iCAAA,CAGD,sDACC,6BAAA,CACA,YAAA,CACA,kBAAA,CAMD,6DACC,UAAA,CACA,iBAAA,CACA,MAAA,CACA,OAAA,CACA,6BAAA,CAGD,mDACC,YAAA,CACA,2BAAA,CACA,cAAA,CACA,mBAAA,CAEA,uEACC,oBAAA,CACA,OAAA,CACA,iBAAA,CAKF,0CACC,oGAEC,YAAA,CAAA,CAKF,0CACC,mDACC,YAAA,CAAA,CAKH,uCACC,YAAA,CAEA,2EACC,UAAA,CACA,YAAA,CACA,oBAAA,CACA,UAAA,CAGD,2DACC,iBAAA,CACA,WAAA,CAEA,UAAA,CACA,WAAA,CACA,UAAA,CAGD,iDACC,YAAA,CAGD,8DACC,UAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CAGD,oDACC,aAAA,CAGD,2CApCD,uCAqCE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CA5CD,uCA6CE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CApDD,uCAqDE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,0CA5DD,uCA6DE,SAAA,CAEA,8DACC,UAAA,CAAA,CAIF,2CApED,uCAqEE,SAAA,CAAA,CAGD,0CAxED,uCAyEE,UAAA,CAAA,CAKH,2BACC,yCAAA,CAGD,4BACC,iBAAA,CACA,YAAA,CACA,SAAA,CACA,eAAA,CAEA,gCACC,UAAA,CAIF,8BACC,mCAAA\",\"sourcesContent\":[\"\\n@use '../../../../../core/css/variables.scss' as variables;\\n@use 'sass:math';\\n\\n.app-item {\\n\\tposition: relative;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&--list-view {\\n\\t\\t--app-item-padding: calc(var(--default-grid-baseline) * 2);\\n\\t\\t--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2);\\n\\n\\t\\t&.app-item--selected {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t}\\n\\n\\t\\t> * {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\tpadding: var(--app-item-padding);\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t}\\n\\n\\t\\t.app-image {\\n\\t\\t\\twidth: var(--default-clickable-area);\\n\\t\\t\\theight: auto;\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\n\\t\\t.app-image-icon svg,\\n\\t\\t.app-image-icon .icon-settings-dark {\\n\\t\\t\\tmargin-top: 5px;\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t.app-name {\\n\\t\\t\\tpadding: 0 var(--app-item-padding);\\n\\t\\t}\\n\\n\\t\\t.app-name--link {\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t}\\n\\n\\t\\t// Note: because of Safari bug, we cannot position link overlay relative to the table row\\n\\t\\t// So we need to manually position it relative to the table container and cell\\n\\t\\t// See: https://bugs.webkit.org/show_bug.cgi?id=240961\\n\\t\\t.app-name--link::after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t}\\n\\n\\t\\t.app-actions {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tgap: var(--app-item-padding);\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tjustify-content: end;\\n\\n\\t\\t\\t.icon-loading-small {\\n\\t\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\t\\ttop: 4px;\\n\\t\\t\\t\\tmargin-right: 10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* hide app version and level on narrower screens */\\n\\t\\t@media only screen and (max-width: 900px) {\\n\\t\\t\\t.app-version,\\n\\t\\t\\t.app-level {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Hide actions on a small screen. Click on app opens fill-screen sidebar with the buttons */\\n\\t\\t@media only screen and (max-width: math.div(variables.$breakpoint-mobile, 2)) {\\n\\t\\t\\t.app-actions {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--store-view {\\n\\t\\tpadding: 30px;\\n\\n\\t\\t.app-image-icon .icon-settings-dark {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 150px;\\n\\t\\t\\tbackground-size: 45px;\\n\\t\\t\\topacity: 0.5;\\n\\t\\t}\\n\\n\\t\\t.app-image-icon svg {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tbottom: 43px;\\n\\t\\t\\t/* position halfway vertically */\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t\\topacity: .1;\\n\\t\\t}\\n\\n\\t\\t.app-name {\\n\\t\\t\\tmargin: 5px 0;\\n\\t\\t}\\n\\n\\t\\t.app-name--link::after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tbottom: 0;\\n\\t\\t}\\n\\n\\t\\t.app-actions {\\n\\t\\t\\tmargin: 10px 0;\\n\\t\\t}\\n\\n\\t\\t@media only screen and (min-width: 1601px) {\\n\\t\\t\\twidth: 25%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 33%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 1600px) {\\n\\t\\t\\twidth: 25%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 33%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 1400px) {\\n\\t\\t\\twidth: 33%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 50%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 900px) {\\n\\t\\t\\twidth: 50%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: variables.$breakpoint-mobile) {\\n\\t\\t\\twidth: 50%;\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 480px) {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n.app-icon {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\\n.app-image {\\n\\tposition: relative;\\n\\theight: 150px;\\n\\topacity: 1;\\n\\toverflow: hidden;\\n\\n\\timg {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.app-version {\\n\\tcolor: var(--color-text-maxcontrast);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-level-badge[data-v-3590dbeb]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}.app-level-badge--supported[data-v-3590dbeb]{border-color:var(--color-success);color:var(--color-success)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppLevelBadge.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA,CAEA,6CACC,iCAAA,CACA,0BAAA\",\"sourcesContent\":[\"\\n.app-level-badge {\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: transparent;\\n\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\tborder-radius: var(--border-radius);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tgap: 6px;\\n\\tpadding: 3px 6px;\\n\\twidth: fit-content;\\n\\n\\t&--supported {\\n\\t\\tborder-color: var(--color-success);\\n\\t\\tcolor: var(--color-success);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-discover[data-v-618752df]{max-width:1008px;margin-inline:auto;padding-inline:54px;padding-block-end:var(--default-clickable-area, 44px);display:flex;flex-direction:column;gap:var(--default-clickable-area, 44px)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,gBAAA,CACA,kBAAA,CACA,mBAAA,CAEA,qDAAA,CAEA,YAAA,CACA,qBAAA,CACA,uCAAA\",\"sourcesContent\":[\"\\n.app-discover {\\n\\tmax-width: 1008px; /* 900px + 2x 54px padding for the carousel controls */\\n\\tmargin-inline: auto;\\n\\tpadding-inline: 54px;\\n\\t/* Padding required to make last element not bound to the bottom */\\n\\tpadding-block-end: var(--default-clickable-area, 44px);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: var(--default-clickable-area, 44px);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-description[data-v-fccce5ae]{padding:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,YAAA\",\"sourcesContent\":[\"\\n.app-description {\\n\\tpadding: 12px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-details[data-v-24864562]{padding:20px}.app-details__actions-manage[data-v-24864562]{display:flex}.app-details__actions-manage input[data-v-24864562]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__authors[data-v-24864562]{color:var(--color-text-maxcontrast)}.app-details__section[data-v-24864562]{margin-top:15px}.app-details__section h4[data-v-24864562]{font-size:16px;font-weight:bold;margin-block-end:5px}.app-details__interact[data-v-24864562]{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.app-details__documentation a[data-v-24864562]{text-decoration:underline}.app-details__documentation li[data-v-24864562]{padding-inline-start:20px}.app-details__documentation li[data-v-24864562]::before{width:5px;height:5px;border-radius:100%;background-color:var(--color-main-text);content:\"\";float:inline-start;margin-inline-start:-13px;position:relative;top:10px}.force[data-v-24864562]{color:var(--color-error);border-color:var(--color-error);background:var(--color-main-background)}.force[data-v-24864562]:hover,.force[data-v-24864562]:active{color:var(--color-main-background);border-color:var(--color-error) !important;background:var(--color-error)}.missing-dependencies[data-v-24864562]{list-style:initial;list-style-type:initial;list-style-position:inside}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,uCACC,mCAAA,CAGD,uCACC,eAAA,CAEA,0CACC,cAAA,CACA,gBAAA,CACA,oBAAA,CAIF,wCACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,QAAA,CAIA,+CACC,yBAAA,CAED,gDACC,yBAAA,CAEA,wDACC,SAAA,CACA,UAAA,CACA,kBAAA,CACA,uCAAA,CACA,UAAA,CACA,kBAAA,CACA,yBAAA,CACA,iBAAA,CACA,QAAA,CAMJ,wBACC,wBAAA,CACA,+BAAA,CACA,uCAAA,CAED,6DAEC,kCAAA,CACA,0CAAA,CACA,6BAAA,CAGD,uCACC,kBAAA,CACA,uBAAA,CACA,0BAAA\",\"sourcesContent\":[\"\\n.app-details {\\n\\tpadding: 20px;\\n\\n\\t&__actions {\\n\\t\\t// app management\\n\\t\\t&-manage {\\n\\t\\t\\t// if too many, shrink them and ellipsis\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t&__authors {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__section {\\n\\t\\tmargin-top: 15px;\\n\\n\\t\\th4 {\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin-block-end: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__interact {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tgap: 12px;\\n\\t}\\n\\n\\t&__documentation {\\n\\t\\ta {\\n\\t\\t\\ttext-decoration: underline;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tpadding-inline-start: 20px;\\n\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\twidth: 5px;\\n\\t\\t\\t\\theight: 5px;\\n\\t\\t\\t\\tborder-radius: 100%;\\n\\t\\t\\t\\tbackground-color: var(--color-main-text);\\n\\t\\t\\t\\tcontent: \\\"\\\";\\n\\t\\t\\t\\tfloat: inline-start;\\n\\t\\t\\t\\tmargin-inline-start: -13px;\\n\\t\\t\\t\\tposition: relative;\\n\\t\\t\\t\\ttop: 10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.force {\\n\\tcolor: var(--color-error);\\n\\tborder-color: var(--color-error);\\n\\tbackground: var(--color-main-background);\\n}\\n.force:hover,\\n.force:active {\\n\\tcolor: var(--color-main-background);\\n\\tborder-color: var(--color-error) !important;\\n\\tbackground: var(--color-error);\\n}\\n\\n.missing-dependencies {\\n\\tlist-style: initial;\\n\\tlist-style-type: initial;\\n\\tlist-style-position: inside;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-sidebar-tabs__release h2[data-v-2261a93d]{border-bottom:1px solid var(--color-border);font-size:24px}.app-sidebar-tabs__release-text[data-v-2261a93d] h3{font-size:20px}.app-sidebar-tabs__release-text[data-v-2261a93d] h4{font-size:17px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue\"],\"names\":[],\"mappings\":\"AAEC,+CACC,2CAAA,CACA,cAAA,CAKA,oDACC,cAAA,CAED,oDACC,cAAA\",\"sourcesContent\":[\"\\n.app-sidebar-tabs__release {\\n\\th2 {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\tfont-size: 24px;\\n\\t}\\n\\n\\t&-text {\\n\\t\\t// Overwrite changelog heading styles\\n\\t\\t:deep(h3) {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\t:deep(h4) {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.settings-markdown[data-v-7c5c8e59] h1,.settings-markdown[data-v-7c5c8e59] h2,.settings-markdown[data-v-7c5c8e59] h3,.settings-markdown[data-v-7c5c8e59] h4,.settings-markdown[data-v-7c5c8e59] h5,.settings-markdown[data-v-7c5c8e59] h6{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}.settings-markdown[data-v-7c5c8e59] h1{font-size:36px;margin-top:48px}.settings-markdown[data-v-7c5c8e59] h2{font-size:28px;margin-top:48px}.settings-markdown[data-v-7c5c8e59] h3{font-size:24px}.settings-markdown[data-v-7c5c8e59] h4{font-size:21px}.settings-markdown[data-v-7c5c8e59] h5{font-size:17px}.settings-markdown[data-v-7c5c8e59] h6{font-size:var(--default-font-size)}.settings-markdown[data-v-7c5c8e59] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-7c5c8e59] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-7c5c8e59] li{position:relative}.settings-markdown[data-v-7c5c8e59] ul,.settings-markdown[data-v-7c5c8e59] ol{padding-left:10px;margin-left:10px}.settings-markdown[data-v-7c5c8e59] ul li{list-style-type:disc}.settings-markdown[data-v-7c5c8e59] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-7c5c8e59] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-7c5c8e59] blockquote{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Markdown.vue\"],\"names\":[],\"mappings\":\"AAGA,0OAMC,eAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,4BAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,kCAAA,CAGD,wCACC,eAAA,CACA,eAAA,CACA,6CAAA,CACA,kCAAA,CACA,iBAAA,CACA,iBAAA,CAGD,2CACC,6CAAA,CACA,kCAAA,CACA,iBAAA,CAGD,uCACC,iBAAA,CAGD,8EACC,iBAAA,CACA,gBAAA,CAGD,0CACC,oBAAA,CAGD,gDACC,sBAAA,CAGD,sDACC,sBAAA,CAGD,+CACC,gBAAA,CACA,kDAAA,CACA,mCAAA,CACA,aAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.settings-markdown::v-deep {\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n\\tfont-weight: 600;\\n\\tline-height: 120%;\\n\\tmargin-top: 24px;\\n\\tmargin-bottom: 12px;\\n\\tcolor: var(--color-main-text);\\n}\\n\\nh1 {\\n\\tfont-size: 36px;\\n\\tmargin-top: 48px;\\n}\\n\\nh2 {\\n\\tfont-size: 28px;\\n\\tmargin-top: 48px;\\n}\\n\\nh3 {\\n\\tfont-size: 24px;\\n}\\n\\nh4 {\\n\\tfont-size: 21px;\\n}\\n\\nh5 {\\n\\tfont-size: 17px;\\n}\\n\\nh6 {\\n\\tfont-size: var(--default-font-size);\\n}\\n\\npre {\\n\\twhite-space: pre;\\n\\toverflow-x: auto;\\n\\tbackground-color: var(--color-background-dark);\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: 1em 1.3em;\\n\\tmargin-bottom: 1em;\\n}\\n\\np code {\\n\\tbackground-color: var(--color-background-dark);\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: .1em .3em;\\n}\\n\\nli {\\n\\tposition: relative;\\n}\\n\\nul, ol {\\n\\tpadding-left: 10px;\\n\\tmargin-left: 10px;\\n}\\n\\nul li {\\n\\tlist-style-type: disc;\\n}\\n\\nul > li > ul > li {\\n\\tlist-style-type: circle;\\n}\\n\\nul > li > ul > li ul li {\\n\\tlist-style-type: square;\\n}\\n\\nblockquote {\\n\\tpadding-left: 1em;\\n\\tborder-left: 4px solid var(--color-primary-element);\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tmargin-left: 0;\\n\\tmargin-right: 0;\\n}\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-sidebar--with-screenshot[data-v-31ecb666] .app-sidebar-header__figure{background-size:cover}.app-sidebar__fallback-icon[data-v-31ecb666]{width:100%;height:100%}.app-sidebar__badges[data-v-31ecb666]{display:flex;flex-direction:row;gap:12px}.app-sidebar__version[data-v-31ecb666]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStoreSidebar.vue\"],\"names\":[],\"mappings\":\"AAIE,2EACC,qBAAA,CAIF,6CAEC,UAAA,CACA,WAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,QAAA,CAGD,uCACC,mCAAA\",\"sourcesContent\":[\"\\n.app-sidebar {\\n\\t// If a screenshot is available it should cover the whole figure\\n\\t&--with-screenshot {\\n\\t\\t:deep(.app-sidebar-header__figure) {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__fallback-icon {\\n\\t\\t// both 100% to center the icon\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t}\\n\\n\\t&__badges {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tgap: 12px;\\n\\t}\\n\\n\\t&__version {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.app-score__wrapper[data-v-7d015114] {\n\tdisplay: inline-flex;\n\tcolor: var(--color-favorite, #a08b00);\n> *[data-v-7d015114] {\n\t\tvertical-align: text-bottom;\n}\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppScore.vue\"],\"names\":[],\"mappings\":\";AAiFA;CACA,oBAAA;CACA,qCAAA;AAEA;EACA,2BAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.empty-content__loading[data-v-a75d4530] {\n\theight: 100%;\n}\n.app-settings-content__label[data-v-a75d4530] {\n\tmargin-block-start: var(--app-navigation-padding);\n\tmargin-inline-start: calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2);\n\tmin-height: var(--default-clickable-area);\n\tline-height: var(--default-clickable-area);\n\tvertical-align: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStore.vue\"],\"names\":[],\"mappings\":\";AAoFA;CACA,YAAA;AACA;AAEA;CACA,iDAAA;CACA,4FAAA;CACA,yCAAA;CACA,0CAAA;CACA,sBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n/* The categories-loading indicator */\n.categories--loading[data-v-d15221f2] {\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStoreNavigation.vue\"],\"names\":[],\"mappings\":\";AAsIA,qCAAA;AACA;CACA,OAAA;CACA,aAAA;CACA,mBAAA;CACA,uBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.listView ? 'tr' : (_vm.inline ? 'article' : 'li'),{tag:\"component\",staticClass:\"app-item\",class:{\n\t\t'app-item--list-view': _vm.listView,\n\t\t'app-item--store-view': !_vm.listView,\n\t\t'app-item--selected': _vm.isSelected,\n\t\t'app-item--with-sidebar': _vm.withSidebar,\n\t}},[_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-image app-image-icon\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-icon`)}},[((_vm.listView && !_vm.app.preview) || (!_vm.listView && !_vm.screenshotLoaded))?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.listView && _vm.app.preview)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"alt\":\"\"}}):_vm._e()]),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-name\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-name`)}},[_c('router-link',{staticClass:\"app-name--link\",attrs:{\"to\":{\n\t\t\t\tname: 'apps-details',\n\t\t\t\tparams: {\n\t\t\t\t\tcategory: _vm.category,\n\t\t\t\t\tid: _vm.app.id\n\t\t\t\t},\n\t\t\t},\"aria-label\":_vm.t('settings', 'Show details for {appName} app', { appName:_vm.app.name })}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(!_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-summary\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-version`)}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-version\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-version`)}},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-level\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-level`)}},[_c('AppLevelBadge',{attrs:{\"level\":_vm.app.level}}),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),(!_vm.inline)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-actions\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-actions`)}},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update to {update}', {update:_vm.app.update}))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcButton',{staticClass:\"uninstall\",attrs:{\"type\":\"tertiary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('NcButton',{attrs:{\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings','Disable'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.enable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")]):(!_vm.app.active)?_c('NcButton',{attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"secondary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forceEnableButtonText)+\"\\n\\t\\t\")]):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\nexport * from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=09f30db0&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=09f30db0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=09f30db0&scoped=true\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=09f30db0&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"09f30db0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.isSupported || _setup.isFeatured)?_c('span',{staticClass:\"app-level-badge\",class:{ 'app-level-badge--supported': _setup.isSupported },attrs:{\"title\":_setup.badgeTitle}},[_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.badgeIcon,\"size\":20,\"inline\":\"\"}}),_vm._v(\"\\n\\t\"+_vm._s(_setup.badgeText)+\"\\n\")],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=style&index=0&id=3590dbeb&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=style&index=0&id=3590dbeb&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppLevelBadge.vue?vue&type=template&id=3590dbeb&scoped=true\"\nimport script from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppLevelBadge.vue?vue&type=style&index=0&id=3590dbeb&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3590dbeb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"app-score__wrapper\",attrs:{\"role\":\"img\",\"aria-label\":_vm.title,\"title\":_vm.title}},[_vm._l((_vm.fullStars),function(index){return _c('NcIconSvgWrapper',{key:`full-star-${index}`,attrs:{\"path\":_vm.mdiStar,\"inline\":\"\"}})}),_vm._v(\" \"),(_vm.hasHalfStar)?_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStarHalfFull,\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.emptyStars),function(index){return _c('NcIconSvgWrapper',{key:`empty-star-${index}`,attrs:{\"path\":_vm.mdiStarOutline,\"inline\":\"\"}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=7d015114&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=7d015114&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=7d015114&scoped=true\"\nimport script from \"./AppScore.vue?vue&type=script&lang=ts\"\nexport * from \"./AppScore.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppScore.vue?vue&type=style&index=0&id=7d015114&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d015114\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppContent,{staticClass:\"app-settings-content\",attrs:{\"page-heading\":_setup.appStoreLabel}},[_c('h2',{staticClass:\"app-settings-content__label\",domProps:{\"textContent\":_vm._s(_setup.viewLabel)}}),_vm._v(\" \"),(_setup.currentCategory === 'discover')?_c(_setup.AppStoreDiscoverSection):(_setup.isLoading)?_c(_setup.NcEmptyContent,{staticClass:\"empty-content__loading\",attrs:{\"name\":_setup.t('settings', 'Loading app list')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_c(_setup.AppList,{attrs:{\"category\":_setup.currentCategory}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\nHow it works:\n`this.#head` is an instance of `Node` which keeps track of its current value and nests another instance of `Node` that keeps the value that comes after it. When a value is provided to `.enqueue()`, the code needs to iterate through `this.#head`, going deeper and deeper to find the last value. However, iterating through every single item is slow. This problem is solved by saving a reference to the last value as `this.#tail` so that it can reference it to add a new value.\n*/\n\nclass Node {\n\tvalue;\n\tnext;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n}\n\nexport default class Queue {\n\t#head;\n\t#tail;\n\t#size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this.#head) {\n\t\t\tthis.#tail.next = node;\n\t\t\tthis.#tail = node;\n\t\t} else {\n\t\t\tthis.#head = node;\n\t\t\tthis.#tail = node;\n\t\t}\n\n\t\tthis.#size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this.#head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#head = this.#head.next;\n\t\tthis.#size--;\n\t\treturn current.value;\n\t}\n\n\tclear() {\n\t\tthis.#head = undefined;\n\t\tthis.#tail = undefined;\n\t\tthis.#size = 0;\n\t}\n\n\tget size() {\n\t\treturn this.#size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this.#head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n}\n","import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, args) => {\n\t\tqueue.enqueue(run.bind(undefined, fn, resolve, args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, args);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=73184220&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=73184220&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=73184220&scoped=true\"\nimport script from \"./AppList.vue?vue&type=script&lang=js\"\nexport * from \"./AppList.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppList.vue?vue&type=style&index=0&id=73184220&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"73184220\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{\n\t\t\t'apps-list--list-view': (_vm.useBundleView || _vm.useListView),\n\t\t\t'apps-list--store-view': _vm.useAppStoreView,\n\t\t},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('NcButton',{attrs:{\"id\":\"app-list-update-all\",\"type\":\"primary\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', 'Update', 'Update all', _vm.counter))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'All apps are up-to-date.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('TransitionGroup',{staticClass:\"apps-list__list-container\",attrs:{\"name\":\"apps-list\",\"tag\":\"table\"}},[_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('tr',{key:\"app-list-view-header\"},[_c('th',{attrs:{\"id\":\"app-table-col-icon\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-name\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-version\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-level\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-actions\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.bundles),function(bundle){return [_c('tr',{key:bundle.id},[_c('th',{attrs:{\"id\":`app-table-rowgroup-${bundle.id}`,\"colspan\":\"5\",\"scope\":\"rowgroup\"}},[_c('div',{staticClass:\"apps-list__bundle-heading\"},[_c('span',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(bundle.name)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', _vm.bundleToggleText(bundle.id)))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"use-bundle-view\":true,\"headers\":`app-table-rowgroup-${bundle.id}`,\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_c('ul',{staticClass:\"apps-list__store-container\"},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}),1):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list apps-list--list-view\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list__list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('caption',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Results from other categories'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2):_vm._e()])]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"app-discover\"},[(_setup.hasError)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Nothing to show'),\"description\":_setup.t('settings', 'Could not load section content from app store.')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiEyeOff,\"size\":64}})]},proxy:true}],null,false,638098482)}):(_setup.elements.length === 0)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Loading'),\"description\":_setup.t('settings', 'Fetching the latest news…')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_vm._l((_setup.elements),function(entry,index){return _c(_setup.getComponent(entry.type),_vm._b({key:entry.id ?? index,tag:\"component\"},'component',entry,false))})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * Helper to transform the JSON API results to proper frontend objects (app discover section elements)\n *\n * @param element The JSON API element to transform\n */\nexport const parseApiResponse = (element) => {\n const appElement = { ...element };\n if (appElement.date) {\n appElement.date = Date.parse(appElement.date);\n }\n if (appElement.expiryDate) {\n appElement.expiryDate = Date.parse(appElement.expiryDate);\n }\n if (appElement.type === 'post') {\n return appElement;\n }\n else if (appElement.type === 'showcase') {\n return appElement;\n }\n else if (appElement.type === 'carousel') {\n return appElement;\n }\n throw new Error(`Invalid argument, app discover element with type ${element.type ?? 'unknown'} is unknown`);\n};\n/**\n * Filter outdated or upcoming elements\n * @param element Element to check\n */\nexport const filterElements = (element) => {\n const now = Date.now();\n // Element not yet published\n if (element.date && element.date > now) {\n return false;\n }\n // Element expired\n if (element.expiryDate && element.expiryDate < now) {\n return false;\n }\n return true;\n};\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=618752df&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=618752df&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreDiscoverSection.vue?vue&type=template&id=618752df&scoped=true\"\nimport script from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=618752df&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"618752df\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=a75d4530&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=a75d4530&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStore.vue?vue&type=template&id=a75d4530&scoped=true\"\nimport script from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStore.vue?vue&type=style&index=0&id=a75d4530&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a75d4530\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppNavigation,{attrs:{\"aria-label\":_setup.t('settings', 'Apps')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-discover\",\"to\":{ name: 'apps-category', params: { category: 'discover'} },\"name\":_setup.APPS_SECTION_ENUM.discover},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.discover}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-installed\",\"to\":{ name: 'apps-category', params: { category: 'installed'} },\"name\":_setup.APPS_SECTION_ENUM.installed},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.installed}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"name\":_setup.APPS_SECTION_ENUM.enabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.enabled}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"name\":_setup.APPS_SECTION_ENUM.disabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.disabled}})]},proxy:true}])}),_vm._v(\" \"),(_setup.updateCount > 0)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"name\":_setup.APPS_SECTION_ENUM.updates},scopedSlots:_vm._u([{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,[_vm._v(_vm._s(_setup.updateCount))])]},proxy:true},{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.updates}})]},proxy:true}],null,false,2824895104)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"name\":_setup.APPS_SECTION_ENUM['app-bundles']},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.bundles}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationSpacer),_vm._v(\" \"),(_setup.appstoreEnabled && _setup.categoriesLoading)?_c('li',{staticClass:\"categories--loading\"},[_c(_setup.NcLoadingIcon,{attrs:{\"size\":20,\"aria-label\":_setup.t('settings', 'Loading categories')}})],1):(_setup.appstoreEnabled && !_setup.categoriesLoading)?[(_setup.isSubscribed)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-supported\",\"to\":{ name: 'apps-category', params: { category: 'supported' } },\"name\":_setup.APPS_SECTION_ENUM.supported},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.supported}})]},proxy:true}],null,false,613663011)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"name\":_setup.APPS_SECTION_ENUM.featured},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.featured}})]},proxy:true}])}),_vm._v(\" \"),_vm._l((_setup.categories),function(category){return _c(_setup.NcAppNavigationItem,{key:category.id,attrs:{\"id\":`app-category-${category.id}`,\"name\":category.displayName,\"to\":{\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tparams: { category: category.id },\n\t\t\t\t}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":category.icon}})]},proxy:true}],null,true)})})]:_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-developer-docs\",\"name\":_setup.t('settings', 'Developer documentation ↗'),\"href\":_setup.developerDocsUrl}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=d15221f2&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=d15221f2&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreNavigation.vue?vue&type=template&id=d15221f2&scoped=true\"\nimport script from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreNavigation.vue?vue&type=style&index=0&id=d15221f2&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d15221f2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.showSidebar)?_c(_setup.NcAppSidebar,{staticClass:\"app-sidebar\",class:{ 'app-sidebar--with-screenshot': _setup.hasScreenshot },attrs:{\"active\":_setup.activeTab,\"background\":_setup.hasScreenshot ? _setup.app.screenshot : undefined,\"compact\":!_setup.hasScreenshot,\"name\":_setup.app.name,\"title\":_setup.app.name,\"subname\":_setup.licenseText,\"subtitle\":_setup.licenseText},on:{\"update:active\":function($event){_setup.activeTab=$event},\"close\":_setup.hideAppDetails},scopedSlots:_vm._u([(!_setup.hasScreenshot)?{key:\"header\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{staticClass:\"app-sidebar__fallback-icon\",attrs:{\"svg\":_setup.appIcon ?? '',\"size\":64}})]},proxy:true}:null,{key:\"description\",fn:function(){return [_c('div',{staticClass:\"app-sidebar__badges\"},[_c(_setup.AppLevelBadge,{attrs:{\"level\":_setup.app.level}}),_vm._v(\" \"),(_setup.hasRating)?_c(_setup.AppScore,{attrs:{\"score\":_setup.rating}}):_vm._e()],1)]},proxy:true}],null,true)},[_vm._v(\" \"),_vm._v(\" \"),_c(_setup.AppDescriptionTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppDetailsTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppReleasesTab,{attrs:{\"app\":_setup.app}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=7c5c8e59&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=7c5c8e59&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=7c5c8e59&scoped=true\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=7c5c8e59&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c5c8e59\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"desc\",\"name\":_setup.t('settings', 'Description'),\"order\":0},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiTextShort}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-description\"},[_c(_setup.Markdown,{attrs:{\"text\":_vm.app.description,\"min-heading\":4}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=style&index=0&id=fccce5ae&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=style&index=0&id=fccce5ae&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDescriptionTab.vue?vue&type=template&id=fccce5ae&scoped=true\"\nimport script from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDescriptionTab.vue?vue&type=style&index=0&id=fccce5ae&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fccce5ae\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSidebarTab',{attrs:{\"id\":\"details\",\"name\":_vm.t('settings', 'Details'),\"order\":1},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTextBox}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":`groups_enable_${_vm.app.id}`,\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":`groups_enable_${_vm.app.id}`}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"limitToGroups\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Limit app usage to groups')))])]),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('NcSelect',{attrs:{\"input-id\":\"limitToGroups\",\"options\":_vm.groups,\"value\":_vm.appGroups,\"limit\":5,\"label\":\"name\",\"multiple\":true,\"close-on-select\":false},on:{\"option:selected\":_vm.addGroupLimitation,\"option:deselected\":_vm.removeGroupLimitation,\"search\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{staticClass:\"enable primary\",attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.enable(_vm.app.id)}}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{staticClass:\"enable force\",attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e()])]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),(_vm.lastModified)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Latest updated'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.lastModified}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Author'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__authors\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appAuthors)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Categories'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appCategories)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),(_vm.externalResources.length > 0)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Resources')))]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__documentation\",attrs:{\"aria-label\":_vm.t('settings', 'Documentation')}},_vm._l((_vm.externalResources),function(resource){return _c('li',{key:resource.id},[_c('a',{staticClass:\"appslink\",attrs:{\"href\":resource.href,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(resource.label)+\" ↗\\n\\t\\t\\t\\t\\t\")])])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Interact')))]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__interact\"},[_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Report a bug'),\"title\":_vm.t('settings', 'Report a bug')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiBug}})]},proxy:true}])}),_vm._v(\" \"),_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Request feature'),\"title\":_vm.t('settings', 'Request feature')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiFeatureSearch}})]},proxy:true}])}),_vm._v(\" \"),(_vm.app.appstoreData?.discussion)?_c('NcButton',{attrs:{\"href\":_vm.app.appstoreData.discussion,\"aria-label\":_vm.t('settings', 'Ask questions or discuss'),\"title\":_vm.t('settings', 'Ask questions or discuss')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTooltipQuestion}})]},proxy:true}],null,false,1288192462)}):_vm._e(),_vm._v(\" \"),(!_vm.app.internal)?_c('NcButton',{attrs:{\"href\":_vm.rateAppUrl,\"aria-label\":_vm.t('settings', 'Rate the app'),\"title\":_vm.t('settings', 'Rate')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStar}})]},proxy:true}],null,false,422450625)}):_vm._e()],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=style&index=0&id=24864562&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=style&index=0&id=24864562&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetailsTab.vue?vue&type=template&id=24864562&scoped=true\"\nimport script from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDetailsTab.vue?vue&type=style&index=0&id=24864562&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"24864562\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.hasChangelog)?_c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"changelog\",\"name\":_setup.t('settings', 'Changelog'),\"order\":2},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiClockFast,\"size\":24}})]},proxy:true}],null,false,1849836872)},[_vm._v(\" \"),_vm._l((_vm.app.releases),function(release){return _c('div',{key:release.version,staticClass:\"app-sidebar-tabs__release\"},[_c('h2',[_vm._v(_vm._s(release.version))]),_vm._v(\" \"),_c(_setup.Markdown,{staticClass:\"app-sidebar-tabs__release-text\",attrs:{\"text\":_setup.createChangelogFromRelease(release)}})],1)})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=style&index=0&id=2261a93d&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=style&index=0&id=2261a93d&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppReleasesTab.vue?vue&type=template&id=2261a93d&scoped=true\"\nimport script from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppReleasesTab.vue?vue&type=style&index=0&id=2261a93d&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2261a93d\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"","import { mdiCog } from '@mdi/js';\nimport { computed, ref, watchEffect } from 'vue';\nimport AppstoreCategoryIcons from '../constants/AppstoreCategoryIcons.ts';\nimport logger from '../logger.ts';\n/**\n * Get the app icon raw SVG for use with `NcIconSvgWrapper` (do never use without sanitizing)\n * It has a fallback to the categroy icon.\n *\n * @param app The app to get the icon for\n */\nexport function useAppIcon(app) {\n const appIcon = ref(null);\n /**\n * Fallback value if no app icon available\n */\n const categoryIcon = computed(() => {\n const path = [app.value?.category ?? []].flat()\n .map((name) => AppstoreCategoryIcons[name])\n .filter((icon) => !!icon)\n .at(0)\n ?? mdiCog;\n return path ? `` : null;\n });\n watchEffect(async () => {\n // Note: Only variables until the first `await` will be watched!\n if (!app.value?.preview) {\n appIcon.value = categoryIcon.value;\n }\n else {\n appIcon.value = null;\n // Now try to load the real app icon\n try {\n const response = await window.fetch(app.value.preview);\n const blob = await response.blob();\n const rawSvg = await blob.text();\n appIcon.value = rawSvg.replaceAll(/fill=\"#(fff|ffffff)([a-z0-9]{1,2})?\"/ig, 'fill=\"currentColor\"');\n }\n catch (error) {\n appIcon.value = categoryIcon.value;\n logger.error('Could not load app icon', { error });\n }\n }\n });\n return {\n appIcon,\n };\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=style&index=0&id=31ecb666&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=style&index=0&id=31ecb666&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreSidebar.vue?vue&type=template&id=31ecb666&scoped=true\"\nimport script from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreSidebar.vue?vue&type=style&index=0&id=31ecb666&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"31ecb666\",\n null\n \n)\n\nexport default component.exports"],"names":["APPS_SECTION_ENUM","Object","freeze","discover","t","installed","enabled","disabled","updates","featured","supported","axios","get","generateOcsUrl","then","_ref","data","ocs","meta","statuscode","emit","apps","window","dispatchEvent","Event","computed","appGroups","this","app","groups","map","group","id","name","installing","$store","getters","loading","isLoading","enableButtonText","needsDownload","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","groupCheckedAppsData","mounted","length","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","groupArray","pop","concat","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","response","rebuildNavigation","catch","error","showError","enable","disable","remove","install","update","mdiStarCircleOutline","mdiAccount","mdiCheck","mdiClose","bundles","mdiArchive","mdiStarShooting","mdiStar","mdiDownload","auth","mdiKey","customization","mdiCog","dashboard","mdiViewDashboard","files","mdiFolder","games","mdiControllerClassic","integration","mdiOpenInApp","monitoring","mdiMonitorEye","multimedia","mdiMultimedia","office","mdiFileDocumentEdit","organization","mdiOfficeBuilding","mdiMagnify","security","mdiSecurity","social","mdiAccountMultiple","tools","mdiTools","workflow","mdiClipboardFlow","showApiError","useAppsStore","defineStore","state","categories","updateCount","loadState","loadingList","gettingCategoriesPromise","actions","loadCategories","force","arguments","undefined","generateUrl","category","_APPSTORE_CATEGORY_IC","icon","APPSTORE_CATEGORY_ICONS","$patch","logger","loadApps","getCategoryById","categoryId","_this$categories$find","find","getAppById","_this$apps$find","_ref2","___CSS_LOADER_EXPORT___","push","module","filterId","filterUrl","Math","random","toString","substring","components","AppLevelBadge","AppScore","NcButton","mixins","AppManagement","SvgFilterMixin","props","type","required","String","listView","Boolean","default","useBundleView","headers","inline","isSelected","scrolled","screenshotLoaded","hasRating","appstoreData","ratingNumOverall","dataItemTag","withSidebar","$route","params","watch","releases","screenshot","image","Image","onload","src","watchers","prefix","content","getDataItemHeaders","columnName","join","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","_c","_self","tag","staticClass","class","attrs","preview","_e","_v","appName","_s","summary","version","level","score","on","$event","stopPropagation","canUnInstall","active","canInstall","isCompatible","_defineComponent","__name","setup","__props","isSupported","isFeatured","badgeIcon","value","badgeText","badgeTitle","__sfc","NcIconSvgWrapper","_setup","_setupProxy","defineComponent","Number","mdiStarHalfFull","mdiStarOutline","title","appScore","toFixed","fullStars","floor","emptyStars","min","hasHalfStar","_l","key","Node","constructor","_defineProperty","_head","WeakMap","_tail","_size","_Symbol$iterator","Symbol","iterator","Queue","_classPrivateFieldInitSpec","writable","clear","enqueue","_this$size","node","_classPrivateFieldGet","next","_classPrivateFieldSet","dequeue","_this$size3","current","size","pLimit","concurrency","isInteger","POSITIVE_INFINITY","TypeError","queue","activeCount","run","async","fn","resolve","args","result","generator","_len","Array","_key","Promise","bind","defineProperties","pendingCount","clearQueue","AppItem","counter","filter","hasPendingUpdate","showUpdateAll","useListView","getAllApps","toLowerCase","sort","a","b","sortStringA","sortStringB","OC","Util","naturalSortCompare","appstore","getAppBundles","bundle","bundleApps","bundleIds","searchApps","_app","useAppStoreView","allBundlesEnabled","bundleToggleText","beforeDestroy","unsubscribe","setSearch","resetSearch","subscribe","toggleBundle","disableBundle","enableBundle","console","Notification","show","updateAll","n","parseApiResponse","element","_element$type","appElement","date","Date","parse","expiryDate","Error","filterElements","now","PostType","defineAsyncComponent","CarouselType","ShowcaseType","hasError","ref","elements","shuffleArray","array","i","j","onBeforeMount","info","parsedElements","shuffledElements","_a$order","_b$order","order","Infinity","getComponent","render","h","mdiEyeOff","NcEmptyContent","NcLoadingIcon","scopedSlots","_u","proxy","entry","_entry$id","_b","route","useRoute","store","currentCategory","_route$params$categor","_route$params","appStoreLabel","viewLabel","_APPS_SECTION_ENUM$cu","_store$getCategoryByI","displayName","watchEffect","document","instance","getCurrentInstance","shouldRefetchCategories","NcAppContent","AppList","AppStoreDiscoverSection","domProps","appstoreEnabled","developerDocsUrl","categoriesLoading","isSubscribed","NcAppNavigation","NcAppNavigationItem","NcAppNavigationSpacer","NcCounterBubble","text","minHeading","renderMarkdown","renderer","marked","Renderer","link","href","prot","decodeURIComponent","unescape","replace","e","out","heading","blockquote","quote","dompurify","trim","gfm","highlight","tables","breaks","pedantic","sanitize","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","mdiTextShort","NcAppSidebarTab","Markdown","description","NcDateTime","NcSelect","mdiBug","mdiFeatureSearch","mdiTextBox","mdiTooltipQuestion","lastModified","_map$sort$at","_this$app$appstoreDat","_this$app$appstoreDat2","at","appAuthors","warn","authorName","xmlNode","isArray","author","split","localeCompare","appstoreUrl","externalResources","resources","internal","label","website","documentation","user","admin","developer","appCategories","flat","_this$store$getCatego","_this$store$getCatego2","rateAppUrl","getGroups","_vm$app$bugs","_vm$app$bugs2","_vm$app$appstoreData","directives","rawName","expression","_i","$$a","$$el","target","$$c","checked","$$v","$$i","slice","slot","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","dep","resource","bugs","discussion","hasChangelog","_props$app$releases$","_props$app$releases","values","translations","some","changelog","createChangelogFromRelease","release","_release$translations","_release$translations2","_release$translations3","getLanguage","en","mdiClockFast","router","useRouter","_route$params$id","_app$value$appstoreDa","rating","_app$value$appstoreDa2","_app$value$appstoreDa3","_app$value$appstoreDa4","ratingNumRecent","ratingRecent","ratingOverall","showSidebar","appIcon","categoryIcon","_flat$map$filter$at","_app$value$category","_app$value","path","AppstoreCategoryIcons","_app$value2","fetch","blob","rawSvg","replaceAll","useAppIcon","licenseText","license","licence","toUpperCase","activeTab","hasScreenshot","loadScreenshot","_app$value3","onMounted","hideAppDetails","NcAppSidebar","AppDescriptionTab","AppDetailsTab","AppReleasesTab","_setup$appIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js b/dist/settings-vue-settings-apps-users-management.js index 9bfcb63c6d040..bc810cc6dc1d0 100644 --- a/dist/settings-vue-settings-apps-users-management.js +++ b/dist/settings-vue-settings-apps-users-management.js @@ -1,3 +1,3 @@ /*! For license information please see settings-vue-settings-apps-users-management.js.LICENSE.txt */ -(()=>{var e,s,r,a={31755:(e,s,r)=>{"use strict";r.d(s,{P:()=>q});var a=r(85471),o=r(95353),i=r(59097),n=r(87485),d=r(53127),c=r(85168),u=r(63814),p=r(26287),l=r(15916),m=r(56760);r(51257);const g=function(e){return e.replace(/\/$/,"")},h=()=>(0,m.C)(),f=(e,t)=>p.A.get(g(e),t),A=(e,t)=>p.A.post(g(e),t),b=(e,t)=>p.A.put(g(e),t),I=(e,t)=>p.A.delete(g(e),{params:t});var y=r(36620),U=r(96763);const v=(0,i.c0)("settings").persist(!0).build(),L={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},w={users:[],groups:[],orderBy:l.q.UserCount,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:0,showConfig:{showStoragePath:"true"===v.getItem("account_settings__showStoragePath"),showUserBackend:"true"===v.getItem("account_settings__showUserBackend"),showLastLogin:"true"===v.getItem("account_settings__showLastLogin"),showNewUserForm:"true"===v.getItem("account_settings__showNewUserForm"),showLanguages:"true"===v.getItem("account_settings__showLanguages")}},P={appendUsers(e,t){const s=e.users.map((e=>{let{id:t}=e;return t})),r=Object.values(t).filter((e=>{let{id:t}=e;return!s.includes(t)})),a=e.users.concat(r);e.usersOffset+=e.usersLimit,e.users=a},updateDisabledUsers(e,t){e.disabledUsersOffset+=e.disabledUsersLimit},setPasswordPolicyMinLength(e,t){e.minPasswordLength=""!==t?t:0},initGroups(e,t){let{groups:s,orderBy:r,userCount:a}=t;e.groups=s.map((e=>Object.assign({},L,e))),e.orderBy=r,e.userCount=a},addGroup(e,t){let{gid:s,displayName:r}=t;try{if(void 0!==e.groups.find((e=>e.id===s)))return;const t=Object.assign({},L,{id:s,name:r});e.groups.unshift(t)}catch(e){U.error("Can't create group",e)}},renameGroup(e,t){let{gid:s,displayName:r}=t;const a=e.groups.findIndex((e=>e.id===s));if(a>=0){const t=e.groups[a];t.name=r,e.groups.splice(a,1,t)}},removeGroup(e,t){const s=e.groups.findIndex((e=>e.id===t));s>=0&&e.groups.splice(s,1)},addUserGroup(e,t){let{userid:s,gid:r}=t;const a=e.groups.find((e=>e.id===r)),o=e.users.find((e=>e.id===s));a&&o.enabled&&e.userCount>0&&a.usercount++,o.groups.push(r)},removeUserGroup(e,t){let{userid:s,gid:r}=t;const a=e.groups.find((e=>e.id===r)),o=e.users.find((e=>e.id===s));a&&o.enabled&&e.userCount>0&&a.usercount--;const i=o.groups;i.splice(i.indexOf(r),1)},addUserSubAdmin(e,t){let{userid:s,gid:r}=t;e.users.find((e=>e.id===s)).subadmin.push(r)},removeUserSubAdmin(e,t){let{userid:s,gid:r}=t;const a=e.users.find((e=>e.id===s)).subadmin;a.splice(a.indexOf(r),1)},deleteUser(e,t){const s=e.users.findIndex((e=>e.id===t));this.commit("updateUserCounts",{user:e.users[s],actionType:"remove"}),e.users.splice(s,1)},addUserData(e,t){const s=t.data.ocs.data;e.users.unshift(s),this.commit("updateUserCounts",{user:s,actionType:"create"})},enableDisableUser(e,t){let{userid:s,enabled:r}=t;const a=e.users.find((e=>e.id===s));a.enabled=r,this.commit("updateUserCounts",{user:a,actionType:r?"enable":"disable"})},updateUserCounts(e,t){let{user:s,actionType:r}=t;if(0===e.userCount)return;const a=e.groups.find((e=>"disabled"===e.id));switch(r){case"enable":case"disable":a.usercount+=s.enabled?-1:1,e.userCount+=s.enabled?1:-1,s.groups.forEach((t=>{e.groups.find((e=>e.id===t)).disabled+=s.enabled?-1:1}));break;case"create":e.userCount++,s.groups.forEach((t=>{e.groups.find((e=>e.id===t)).usercount++}));break;case"remove":s.enabled?(e.userCount--,s.groups.forEach((t=>{const s=e.groups.find((e=>e.id===t));s?s.usercount--:U.warn("User group "+t+" does not exist during user removal")}))):(a.usercount--,s.groups.forEach((t=>{e.groups.find((e=>e.id===t)).disabled--})));break;default:y.A.error("Unknown action type in updateUserCounts: '".concat(r,"'"))}},setUserData(e,t){let{userid:s,key:r,value:a}=t;if("quota"===r){const t=(0,d.lT)(a,!0);e.users.find((e=>e.id===s))[r][r]=null!==t?t:a}else e.users.find((e=>e.id===s))[r]=a},resetUsers(e){e.users=[],e.usersOffset=0,e.disabledUsersOffset=0},setShowConfig(e,t){let{key:s,value:r}=t;v.setItem("account_settings__".concat(s),JSON.stringify(r)),e.showConfig[s]=r},setGroupSorting(e,s){const r=e.orderBy;e.orderBy=s,p.A.post((0,u.Jv)("/settings/users/preferences/group.sortBy"),{value:String(s)}).catch((s=>{e.orderBy=r,(0,c.Qg)(t("settings","Could not set group sorting")),y.A.error(s)}))}},_={getUsers:e=>e.users,getGroups:e=>e.groups,getSubadminGroups:e=>e.groups.filter((e=>"admin"!==e.id&&"disabled"!==e.id)),getSortedGroups(e){const t=[...e.groups];return e.orderBy===l.q.UserCount?t.sort(((e,t)=>{const s=e.usercount-e.disabled,r=t.usercount-t.disabled;return se.name.localeCompare(t.name)))},getGroupSorting:e=>e.orderBy,getPasswordPolicyMinLength:e=>e.minPasswordLength,getUsersOffset:e=>e.usersOffset,getUsersLimit:e=>e.usersLimit,getDisabledUsersOffset:e=>e.disabledUsersOffset,getDisabledUsersLimit:e=>e.disabledUsersLimit,getUserCount:e=>e.userCount,getShowConfig:e=>e.showConfig},C=p.A.CancelToken;let E=null;const R={state:w,mutations:P,getters:_,actions:{searchUsers(e,t){let{offset:s,limit:r,search:a}=t;return a="string"==typeof a?a:"",f((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:s,limit:r,search:a})).catch((t=>{p.A.isCancel(t)||e.commit("API_FAILURE",t)}))},getUser:(e,t)=>f((0,u.KT)("cloud/users/".concat(t))).catch((t=>{p.A.isCancel(t)||e.commit("API_FAILURE",t)})),getUsers(e,t){let{offset:s,limit:r,search:a,group:o}=t;return E&&E.cancel("Operation canceled by another search request."),E=C.source(),a="string"==typeof a?a:"",a=a.replace(/in:[^\s]+/g,"").trim(),o="string"==typeof o?o:"",""!==o?f((0,u.KT)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(o),offset:s,limit:r,search:a}),{cancelToken:E.token}).then((t=>{const s=Object.keys(t.data.ocs.data.users).length;return s>0&&e.commit("appendUsers",t.data.ocs.data.users),s})).catch((t=>{p.A.isCancel(t)||e.commit("API_FAILURE",t)})):f((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:s,limit:r,search:a}),{cancelToken:E.token}).then((t=>{const s=Object.keys(t.data.ocs.data.users).length;return s>0&&e.commit("appendUsers",t.data.ocs.data.users),s})).catch((t=>{p.A.isCancel(t)||e.commit("API_FAILURE",t)}))},async getDisabledUsers(e,t){let{offset:s,limit:r,search:a}=t;const o=(0,u.KT)("cloud/users/disabled?offset={offset}&limit={limit}&search={search}",{offset:s,limit:r,search:a});try{const t=await f(o),s=Object.keys(t.data.ocs.data.users).length;return s>0&&(e.commit("appendUsers",t.data.ocs.data.users),e.commit("updateDisabledUsers",t.data.ocs.data.users)),s}catch(t){e.commit("API_FAILURE",t)}},getGroups(e,t){let{offset:s,limit:r,search:a}=t;a="string"==typeof a?a:"";const o=-1===r?"":"&limit=".concat(r);return f((0,u.KT)("cloud/groups?offset={offset}&search={search}",{offset:s,search:a})+o).then((t=>Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach((function(t){e.commit("addGroup",{gid:t,displayName:t})})),!0))).catch((t=>e.commit("API_FAILURE",t)))},getUsersFromList(e,t){let{offset:s,limit:r,search:a}=t;return a="string"==typeof a?a:"",f((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:s,limit:r,search:a})).then((t=>Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0))).catch((t=>e.commit("API_FAILURE",t)))},getUsersFromGroup(e,t){let{groupid:s,offset:r,limit:a}=t;return f((0,u.KT)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(s),offset:r,limit:a})).then((t=>e.commit("getUsersFromList",t.data.ocs.data.users))).catch((t=>e.commit("API_FAILURE",t)))},getPasswordPolicyMinLength:e=>!(!(0,n.F)().password_policy||!(0,n.F)().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",(0,n.F)().password_policy.minLength),(0,n.F)().password_policy.minLength),addGroup:(e,t)=>h().then((s=>A((0,u.KT)("cloud/groups"),{groupid:t}).then((s=>(e.commit("addGroup",{gid:t,displayName:t}),{gid:t,displayName:t}))).catch((e=>{throw e})))).catch((s=>{throw e.commit("API_FAILURE",{gid:t,error:s}),s})),renameGroup(e,t){let{groupid:s,displayName:r}=t;return h().then((t=>b((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(s)}),{key:"displayname",value:r}).then((t=>(e.commit("renameGroup",{gid:s,displayName:r}),{groupid:s,displayName:r}))).catch((e=>{throw e})))).catch((t=>{throw e.commit("API_FAILURE",{groupid:s,error:t}),t}))},removeGroup:(e,t)=>h().then((s=>I((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then((s=>e.commit("removeGroup",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{gid:t,error:s}))),addUserGroup(e,t){let{userid:s,gid:r}=t;return h().then((t=>A((0,u.KT)("cloud/users/{userid}/groups",{userid:s}),{groupid:r}).then((t=>e.commit("addUserGroup",{userid:s,gid:r}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:s,error:t})))},removeUserGroup(e,t){let{userid:s,gid:r}=t;return h().then((t=>I((0,u.KT)("cloud/users/{userid}/groups",{userid:s}),{groupid:r}).then((t=>e.commit("removeUserGroup",{userid:s,gid:r}))).catch((e=>{throw e})))).catch((t=>{throw e.commit("API_FAILURE",{userid:s,error:t}),t}))},addUserSubAdmin(e,t){let{userid:s,gid:r}=t;return h().then((t=>A((0,u.KT)("cloud/users/{userid}/subadmins",{userid:s}),{groupid:r}).then((t=>e.commit("addUserSubAdmin",{userid:s,gid:r}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:s,error:t})))},removeUserSubAdmin(e,t){let{userid:s,gid:r}=t;return h().then((t=>I((0,u.KT)("cloud/users/{userid}/subadmins",{userid:s}),{groupid:r}).then((t=>e.commit("removeUserSubAdmin",{userid:s,gid:r}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:s,error:t})))},wipeUserDevices:(e,t)=>h().then((e=>A((0,u.KT)("cloud/users/{userid}/wipe",{userid:t})).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),deleteUser:(e,t)=>h().then((s=>I((0,u.KT)("cloud/users/{userid}",{userid:t})).then((s=>e.commit("deleteUser",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),addUser(e,t){let{commit:s,dispatch:r}=e,{userid:a,password:o,displayName:i,email:n,groups:d,subadmin:c,quota:p,language:l,manager:m}=t;return h().then((e=>A((0,u.KT)("cloud/users"),{userid:a,password:o,displayName:i,email:n,groups:d,subadmin:c,quota:p,language:l,manager:m}).then((e=>r("addUserData",a||e.data.ocs.data.id))).catch((e=>{throw e})))).catch((e=>{throw s("API_FAILURE",{userid:a,error:e}),e}))},addUserData:(e,t)=>h().then((s=>f((0,u.KT)("cloud/users/{userid}",{userid:t})).then((t=>e.commit("addUserData",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),enableDisableUser(e,t){let{userid:s,enabled:r=!0}=t;const a=r?"enable":"disable";return h().then((t=>b((0,u.KT)("cloud/users/{userid}/{userStatus}",{userid:s,userStatus:a})).then((t=>e.commit("enableDisableUser",{userid:s,enabled:r}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:s,error:t})))},setUserData(e,t){let{userid:s,key:r,value:a}=t;const o=["email","displayname","manager"];return-1!==["email","language","quota","displayname","password","manager"].indexOf(r)&&"string"==typeof a&&(-1===o.indexOf(r)&&a.length>0||-1!==o.indexOf(r))?h().then((t=>b((0,u.KT)("cloud/users/{userid}",{userid:s}),{key:r,value:a}).then((t=>e.commit("setUserData",{userid:s,key:r,value:a}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:s,error:t}))):Promise.reject(new Error("Invalid request data"))},sendWelcomeMail:(e,t)=>h().then((e=>A((0,u.KT)("cloud/users/{userid}/welcome",{userid:t})).then((e=>!0)).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s})))}};var T=r(32981),F=r(96763);const O={APPS_API_FAILURE(e,s){(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+s.error.response.data.data.message,{isHTML:!0}),F.error(e,s)},initCategories(e,t){let{categories:s,updateCount:r}=t;e.categories=s,e.updateCount=r},updateCategories(e,t){e.gettingCategoriesPromise=t},setUpdateCount(e,t){e.updateCount=t},addCategory(e,t){e.categories.push(t)},appendCategories(e,t){e.categories=t},setAllApps(e,t){e.apps=t},setError(e,t){let{appId:s,error:r}=t;Array.isArray(s)||(s=[s]),s.forEach((t=>{e.apps.find((e=>e.id===t)).error=r}))},clearError(e,t){let{appId:s,error:r}=t;e.apps.find((e=>e.id===s)).error=null},enableApp(e,t){let{appId:s,groups:r}=t;const a=e.apps.find((e=>e.id===s));a.active=!0,a.groups=r},setInstallState(e,t){let{appId:s,canInstall:r}=t;const a=e.apps.find((e=>e.id===s));a&&(a.canInstall=!0===r)},disableApp(e,t){const s=e.apps.find((e=>e.id===t));s.active=!1,s.groups=[],s.removable&&(s.canUnInstall=!0)},uninstallApp(e,t){e.apps.find((e=>e.id===t)).active=!1,e.apps.find((e=>e.id===t)).groups=[],e.apps.find((e=>e.id===t)).needsDownload=!0,e.apps.find((e=>e.id===t)).installed=!1,e.apps.find((e=>e.id===t)).canUnInstall=!1,e.apps.find((e=>e.id===t)).canInstall=!0},updateApp(e,t){const s=e.apps.find((e=>e.id===t)),r=s.update;s.update=null,s.version=r,e.updateCount--},resetApps(e){e.apps=[]},reset(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading(e,t){Array.isArray(t)?t.forEach((t=>{a.Ay.set(e.loading,t,!0)})):a.Ay.set(e.loading,t,!0)},stopLoading(e,t){Array.isArray(t)?t.forEach((t=>{a.Ay.set(e.loading,t,!1)})):a.Ay.set(e.loading,t,!1)}},k={enableApp(e,s){let r,{appId:a,groups:o}=s;return r=Array.isArray(a)?a:[a],h().then((s=>(e.commit("startLoading",r),e.commit("startLoading","install"),A((0,u.Jv)("settings/apps/enable"),{appIds:r,groups:o}).then((s=>(e.commit("stopLoading",r),e.commit("stopLoading","install"),r.forEach((t=>{e.commit("enableApp",{appId:t,groups:o})})),p.A.get((0,u.Jv)("apps/files/")).then((()=>{s.data.update_required&&((0,c.cf)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((()=>{Array.isArray(a)||((0,c.Qg)(t("settings","Error: This app cannot be enabled because it makes the server unstable")),e.commit("setError",{appId:r,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")}),e.dispatch("disableApp",{appId:a}))}))))).catch((t=>{e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("setError",{appId:r,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:a,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:a,error:t})))},forceEnableApp(e,t){let s,{appId:r,groups:a}=t;return s=Array.isArray(r)?r:[r],h().then((()=>(e.commit("startLoading",s),e.commit("startLoading","install"),A((0,u.Jv)("settings/apps/force"),{appId:r}).then((t=>{e.commit("setInstallState",{appId:r,canInstall:!0})})).catch((t=>{e.commit("stopLoading",s),e.commit("stopLoading","install"),e.commit("setError",{appId:s,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:r,error:t})})).finally((()=>{e.commit("stopLoading",s),e.commit("stopLoading","install")}))))).catch((t=>e.commit("API_FAILURE",{appId:r,error:t})))},disableApp(e,t){let s,{appId:r}=t;return s=Array.isArray(r)?r:[r],h().then((t=>(e.commit("startLoading",s),A((0,u.Jv)("settings/apps/disable"),{appIds:s}).then((t=>(e.commit("stopLoading",s),s.forEach((t=>{e.commit("disableApp",t)})),!0))).catch((t=>{e.commit("stopLoading",s),e.commit("APPS_API_FAILURE",{appId:r,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:r,error:t})))},uninstallApp(e,t){let{appId:s}=t;return h().then((t=>(e.commit("startLoading",s),f((0,u.Jv)("settings/apps/uninstall/".concat(s))).then((t=>(e.commit("stopLoading",s),e.commit("uninstallApp",s),!0))).catch((t=>{e.commit("stopLoading",s),e.commit("APPS_API_FAILURE",{appId:s,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:s,error:t})))},updateApp(e,t){let{appId:s}=t;return h().then((t=>(e.commit("startLoading",s),e.commit("startLoading","install"),f((0,u.Jv)("settings/apps/update/".concat(s))).then((t=>(e.commit("stopLoading","install"),e.commit("stopLoading",s),e.commit("updateApp",s),!0))).catch((t=>{e.commit("stopLoading",s),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:s,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:s,error:t})))},getAllApps:e=>(e.commit("startLoading","list"),f((0,u.Jv)("settings/apps/list")).then((t=>(e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0))).catch((t=>e.commit("API_FAILURE",t)))),async getCategories(e){let{shouldRefetchCategories:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t||!e.state.gettingCategoriesPromise){e.commit("startLoading","categories");try{const t=f((0,u.Jv)("settings/apps/categories"));e.commit("updateCategories",t);const s=await t;return s.data.length>0?(e.commit("appendCategories",s.data),e.commit("stopLoading","categories"),!0):(e.commit("stopLoading","categories"),!1)}catch(t){e.commit("API_FAILURE",t)}}return e.state.gettingCategoriesPromise}},S={state:{apps:[],bundles:(0,T.C)("settings","appstoreBundles",[]),categories:[],updateCount:(0,T.C)("settings","appstoreUpdateCount",0),loading:{},gettingCategoriesPromise:null},mutations:O,getters:{loading:e=>function(t){return e.loading[t]},getCategories:e=>e.categories,getAllApps:e=>e.apps,getAppBundles:e=>e.bundles,getUpdateCount:e=>e.updateCount,getCategoryById:e=>t=>e.categories.find((e=>e.id===t))},actions:k},G={setServerData(e,t){e.serverData=t}},D={state:{serverData:(0,T.C)("settings","usersSettings",{})},mutations:G,getters:{getServerData:e=>e.serverData},actions:{}},K={state:{},mutations:{},getters:{},actions:{setAppConfig(e,t){let{app:s,key:r,value:a}=t;return h().then((e=>A((0,u.KT)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:s,key:r}),{value:a}).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{app:s,key:r,value:a,error:t})))}}};var N=r(96763);a.Ay.use(o.Ay);const x={API_FAILURE(e,s){try{const e=s.error.response.data.ocs.meta.message;(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch(e){(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed."))}N.error(e,s)}};let j=null;const q=()=>(null===j&&(j=new o.il({modules:{users:R,apps:S,settings:D,oc:K},strict:!1,mutations:x})),j)},15916:(e,t,s)=>{"use strict";var r;s.d(t,{q:()=>r}),function(e){e[e.UserCount=1]="UserCount",e[e.GroupName=2]="GroupName"}(r||(r={}))},36620:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});const r=(0,s(53529).YK)().setApp("settings").detectUser().build()},74329:(e,t,s)=>{"use strict";var r=s(85471),a=s(80284),o=s(58723),i=s(53334),n=s(22378);const d=(0,r.pM)({__name:"SettingsApp",setup:e=>({__sfc:!0,NcContent:n.A})}),c=(0,s(14486).A)(d,(function(){var e=this,t=e._self._c;return t(e._self._setupProxy.NcContent,{attrs:{"app-name":"settings"}},[t("router-view",{attrs:{name:"navigation"}}),e._v(" "),t("router-view"),e._v(" "),t("router-view",{attrs:{name:"sidebar"}})],1)}),[],!1,null,null,null).exports;var u=s(40173),p=s(63814);const l=[{name:"users",path:"/:index(index.php/)?settings/users",components:{default:()=>Promise.all([s.e(4208),s.e(1439),s.e(3239)]).then(s.bind(s,76227)),navigation:()=>Promise.all([s.e(4208),s.e(1439),s.e(3239)]).then(s.bind(s,38250))},props:!0,children:[{path:":selectedGroup",name:"group"}]},{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:{name:"apps-category",params:{category:"discover"}},components:{default:()=>Promise.all([s.e(4208),s.e(1439),s.e(4529)]).then(s.bind(s,4790)),navigation:()=>Promise.all([s.e(4208),s.e(1439),s.e(4529)]).then(s.bind(s,12336)),sidebar:()=>Promise.all([s.e(4208),s.e(1439),s.e(4529)]).then(s.bind(s,83625))},children:[{path:":category",name:"apps-category",children:[{path:":id",name:"apps-details"}]}]}];r.Ay.use(u.Ay);const m=new u.Ay({mode:"history",base:(0,p.Jv)(""),linkActiveClass:"active",routes:l});var g,h=s(31755),f=s(21777),A=s(65899);r.Ay.use(a.Ay,{defaultHtml:!1});const b=(0,h.P)();(0,o.O)(b,m),s.nc=btoa(null!==(g=(0,f.do)())&&void 0!==g?g:""),r.Ay.prototype.t=i.Tl,r.Ay.prototype.n=i.zw,r.Ay.use(A.R2);const I=(0,A.Ey)();new r.Ay({router:m,store:b,pinia:I,render:e=>e(c),el:"#content"})},58723:(e,t)=>{function s(e,t){var r={name:e.name,path:e.path,hash:e.hash,query:e.query,params:e.params,fullPath:e.fullPath,meta:e.meta};return t&&(r.from=s(t)),Object.freeze(r)}t.O=function(e,t,r){var a=(r||{}).moduleName||"route";e.registerModule(a,{namespaced:!0,state:s(t.currentRoute),mutations:{ROUTE_CHANGED:function(t,r){e.state[a]=s(r.to,r.from)}}});var o,i=!1,n=e.watch((function(e){return e[a]}),(function(e){var s=e.fullPath;s!==o&&(null!=o&&(i=!0,t.push(e)),o=s)}),{sync:!0}),d=t.afterEach((function(t,s){i?i=!1:(o=t.fullPath,e.commit(a+"/ROUTE_CHANGED",{to:t,from:s}))}));return function(){null!=d&&d(),null!=n&&n(),e.unregisterModule(a)}}}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var s=o[e]={id:e,loaded:!1,exports:{}};return a[e].call(s.exports,s,s.exports,i),s.loaded=!0,s.exports}i.m=a,e=[],i.O=(t,s,r,a)=>{if(!s){var o=1/0;for(u=0;u=a)&&Object.keys(i.O).every((e=>i.O[e](s[d])))?s.splice(d--,1):(n=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[s,r,a]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,s)=>(i.f[s](e,t),t)),[])),i.u=e=>(({3239:"settings-users",4529:"settings-apps-view"}[e]||e)+"-"+e+".js?v="+{1439:"41c39783c33a6fb28f5c",1544:"ef4241665c4d259a7aec",3239:"4b43f771ce2f23b5a283",3865:"590dec5285cef9f68844",4065:"9661e9d1e1b32699b74a",4254:"96661b9f421b07ce7189",4529:"b68bed1e820a3f5ed390",8630:"eb1ab06c4928352754c5"}[e]),i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s={},r="nextcloud:",i.l=(e,t,a,o)=>{if(s[e])s[e].push(t);else{var n,d;if(void 0!==a)for(var c=document.getElementsByTagName("script"),u=0;u{n.onerror=n.onload=null,clearTimeout(m);var a=s[e];if(delete s[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach((e=>e(r))),t)return t(r)},m=setTimeout(l.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=l.bind(null,n.onerror),n.onload=l.bind(null,n.onload),d&&document.head.appendChild(n)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i.j=2689,(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var s=t.getElementsByTagName("script");if(s.length)for(var r=s.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=s[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{i.b=document.baseURI||self.location.href;var e={2689:0};i.f.j=(t,s)=>{var r=i.o(e,t)?e[t]:void 0;if(0!==r)if(r)s.push(r[2]);else{var a=new Promise(((s,a)=>r=e[t]=[s,a]));s.push(r[2]=a);var o=i.p+i.u(t),n=new Error;i.l(o,(s=>{if(i.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var a=s&&("load"===s.type?"missing":s.type),o=s&&s.target&&s.target.src;n.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",n.name="ChunkLoadError",n.type=a,n.request=o,r[1](n)}}),"chunk-"+t,t)}},i.O.j=t=>0===e[t];var t=(t,s)=>{var r,a,o=s[0],n=s[1],d=s[2],c=0;if(o.some((t=>0!==e[t]))){for(r in n)i.o(n,r)&&(i.m[r]=n[r]);if(d)var u=d(i)}for(t&&t(s);ci(74329)));n=i.O(n)})(); -//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=840a7e40da4d07e1530f \ No newline at end of file +(()=>{var e,s,r,a={31755:(e,s,r)=>{"use strict";r.d(s,{P:()=>q});var a=r(85471),o=r(95353),i=r(59097),n=r(87485),d=r(53127),c=r(85168),u=r(63814),p=r(26287),l=r(15916),m=r(56760);r(51257);const g=function(e){return e.replace(/\/$/,"")},h=()=>(0,m.C)(),f=(e,t)=>p.A.get(g(e),t),A=(e,t)=>p.A.post(g(e),t),b=(e,t)=>p.A.put(g(e),t),I=(e,t)=>p.A.delete(g(e),{params:t});var y=r(36620),U=r(96763);const v=(0,i.c0)("settings").persist(!0).build(),L={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},w={users:[],groups:[],orderBy:l.q.UserCount,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:0,showConfig:{showStoragePath:"true"===v.getItem("account_settings__showStoragePath"),showUserBackend:"true"===v.getItem("account_settings__showUserBackend"),showLastLogin:"true"===v.getItem("account_settings__showLastLogin"),showNewUserForm:"true"===v.getItem("account_settings__showNewUserForm"),showLanguages:"true"===v.getItem("account_settings__showLanguages")}},P={appendUsers(e,t){const s=e.users.map((e=>{let{id:t}=e;return t})),r=Object.values(t).filter((e=>{let{id:t}=e;return!s.includes(t)})),a=e.users.concat(r);e.usersOffset+=e.usersLimit,e.users=a},updateDisabledUsers(e,t){e.disabledUsersOffset+=e.disabledUsersLimit},setPasswordPolicyMinLength(e,t){e.minPasswordLength=""!==t?t:0},initGroups(e,t){let{groups:s,orderBy:r,userCount:a}=t;e.groups=s.map((e=>Object.assign({},L,e))),e.orderBy=r,e.userCount=a},addGroup(e,t){let{gid:s,displayName:r}=t;try{if(void 0!==e.groups.find((e=>e.id===s)))return;const t=Object.assign({},L,{id:s,name:r});e.groups.unshift(t)}catch(e){U.error("Can't create group",e)}},renameGroup(e,t){let{gid:s,displayName:r}=t;const a=e.groups.findIndex((e=>e.id===s));if(a>=0){const t=e.groups[a];t.name=r,e.groups.splice(a,1,t)}},removeGroup(e,t){const s=e.groups.findIndex((e=>e.id===t));s>=0&&e.groups.splice(s,1)},addUserGroup(e,t){let{userid:s,gid:r}=t;const a=e.groups.find((e=>e.id===r)),o=e.users.find((e=>e.id===s));a&&o.enabled&&e.userCount>0&&a.usercount++,o.groups.push(r)},removeUserGroup(e,t){let{userid:s,gid:r}=t;const a=e.groups.find((e=>e.id===r)),o=e.users.find((e=>e.id===s));a&&o.enabled&&e.userCount>0&&a.usercount--;const i=o.groups;i.splice(i.indexOf(r),1)},addUserSubAdmin(e,t){let{userid:s,gid:r}=t;e.users.find((e=>e.id===s)).subadmin.push(r)},removeUserSubAdmin(e,t){let{userid:s,gid:r}=t;const a=e.users.find((e=>e.id===s)).subadmin;a.splice(a.indexOf(r),1)},deleteUser(e,t){const s=e.users.findIndex((e=>e.id===t));this.commit("updateUserCounts",{user:e.users[s],actionType:"remove"}),e.users.splice(s,1)},addUserData(e,t){const s=t.data.ocs.data;e.users.unshift(s),this.commit("updateUserCounts",{user:s,actionType:"create"})},enableDisableUser(e,t){let{userid:s,enabled:r}=t;const a=e.users.find((e=>e.id===s));a.enabled=r,this.commit("updateUserCounts",{user:a,actionType:r?"enable":"disable"})},updateUserCounts(e,t){let{user:s,actionType:r}=t;if(0===e.userCount)return;const a=e.groups.find((e=>"disabled"===e.id));switch(r){case"enable":case"disable":a.usercount+=s.enabled?-1:1,e.userCount+=s.enabled?1:-1,s.groups.forEach((t=>{e.groups.find((e=>e.id===t)).disabled+=s.enabled?-1:1}));break;case"create":e.userCount++,s.groups.forEach((t=>{e.groups.find((e=>e.id===t)).usercount++}));break;case"remove":s.enabled?(e.userCount--,s.groups.forEach((t=>{const s=e.groups.find((e=>e.id===t));s?s.usercount--:U.warn("User group "+t+" does not exist during user removal")}))):(a.usercount--,s.groups.forEach((t=>{e.groups.find((e=>e.id===t)).disabled--})));break;default:y.A.error("Unknown action type in updateUserCounts: '".concat(r,"'"))}},setUserData(e,t){let{userid:s,key:r,value:a}=t;if("quota"===r){const t=(0,d.lT)(a,!0);e.users.find((e=>e.id===s))[r][r]=null!==t?t:a}else e.users.find((e=>e.id===s))[r]=a},resetUsers(e){e.users=[],e.usersOffset=0,e.disabledUsersOffset=0},setShowConfig(e,t){let{key:s,value:r}=t;v.setItem("account_settings__".concat(s),JSON.stringify(r)),e.showConfig[s]=r},setGroupSorting(e,s){const r=e.orderBy;e.orderBy=s,p.A.post((0,u.Jv)("/settings/users/preferences/group.sortBy"),{value:String(s)}).catch((s=>{e.orderBy=r,(0,c.Qg)(t("settings","Could not set group sorting")),y.A.error(s)}))}},_={getUsers:e=>e.users,getGroups:e=>e.groups,getSubadminGroups:e=>e.groups.filter((e=>"admin"!==e.id&&"disabled"!==e.id)),getSortedGroups(e){const t=[...e.groups];return e.orderBy===l.q.UserCount?t.sort(((e,t)=>{const s=e.usercount-e.disabled,r=t.usercount-t.disabled;return se.name.localeCompare(t.name)))},getGroupSorting:e=>e.orderBy,getPasswordPolicyMinLength:e=>e.minPasswordLength,getUsersOffset:e=>e.usersOffset,getUsersLimit:e=>e.usersLimit,getDisabledUsersOffset:e=>e.disabledUsersOffset,getDisabledUsersLimit:e=>e.disabledUsersLimit,getUserCount:e=>e.userCount,getShowConfig:e=>e.showConfig},C=p.A.CancelToken;let E=null;const R={state:w,mutations:P,getters:_,actions:{searchUsers(e,t){let{offset:s,limit:r,search:a}=t;return a="string"==typeof a?a:"",f((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:s,limit:r,search:a})).catch((t=>{p.A.isCancel(t)||e.commit("API_FAILURE",t)}))},getUser:(e,t)=>f((0,u.KT)("cloud/users/".concat(t))).catch((t=>{p.A.isCancel(t)||e.commit("API_FAILURE",t)})),getUsers(e,t){let{offset:s,limit:r,search:a,group:o}=t;return E&&E.cancel("Operation canceled by another search request."),E=C.source(),a="string"==typeof a?a:"",a=a.replace(/in:[^\s]+/g,"").trim(),o="string"==typeof o?o:"",""!==o?f((0,u.KT)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(o),offset:s,limit:r,search:a}),{cancelToken:E.token}).then((t=>{const s=Object.keys(t.data.ocs.data.users).length;return s>0&&e.commit("appendUsers",t.data.ocs.data.users),s})).catch((t=>{p.A.isCancel(t)||e.commit("API_FAILURE",t)})):f((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:s,limit:r,search:a}),{cancelToken:E.token}).then((t=>{const s=Object.keys(t.data.ocs.data.users).length;return s>0&&e.commit("appendUsers",t.data.ocs.data.users),s})).catch((t=>{p.A.isCancel(t)||e.commit("API_FAILURE",t)}))},async getDisabledUsers(e,t){let{offset:s,limit:r,search:a}=t;const o=(0,u.KT)("cloud/users/disabled?offset={offset}&limit={limit}&search={search}",{offset:s,limit:r,search:a});try{const t=await f(o),s=Object.keys(t.data.ocs.data.users).length;return s>0&&(e.commit("appendUsers",t.data.ocs.data.users),e.commit("updateDisabledUsers",t.data.ocs.data.users)),s}catch(t){e.commit("API_FAILURE",t)}},getGroups(e,t){let{offset:s,limit:r,search:a}=t;a="string"==typeof a?a:"";const o=-1===r?"":"&limit=".concat(r);return f((0,u.KT)("cloud/groups?offset={offset}&search={search}",{offset:s,search:a})+o).then((t=>Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach((function(t){e.commit("addGroup",{gid:t,displayName:t})})),!0))).catch((t=>e.commit("API_FAILURE",t)))},getUsersFromList(e,t){let{offset:s,limit:r,search:a}=t;return a="string"==typeof a?a:"",f((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:s,limit:r,search:a})).then((t=>Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0))).catch((t=>e.commit("API_FAILURE",t)))},getUsersFromGroup(e,t){let{groupid:s,offset:r,limit:a}=t;return f((0,u.KT)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(s),offset:r,limit:a})).then((t=>e.commit("getUsersFromList",t.data.ocs.data.users))).catch((t=>e.commit("API_FAILURE",t)))},getPasswordPolicyMinLength:e=>!(!(0,n.F)().password_policy||!(0,n.F)().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",(0,n.F)().password_policy.minLength),(0,n.F)().password_policy.minLength),addGroup:(e,t)=>h().then((s=>A((0,u.KT)("cloud/groups"),{groupid:t}).then((s=>(e.commit("addGroup",{gid:t,displayName:t}),{gid:t,displayName:t}))).catch((e=>{throw e})))).catch((s=>{throw e.commit("API_FAILURE",{gid:t,error:s}),s})),renameGroup(e,t){let{groupid:s,displayName:r}=t;return h().then((t=>b((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(s)}),{key:"displayname",value:r}).then((t=>(e.commit("renameGroup",{gid:s,displayName:r}),{groupid:s,displayName:r}))).catch((e=>{throw e})))).catch((t=>{throw e.commit("API_FAILURE",{groupid:s,error:t}),t}))},removeGroup:(e,t)=>h().then((s=>I((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then((s=>e.commit("removeGroup",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{gid:t,error:s}))),addUserGroup(e,t){let{userid:s,gid:r}=t;return h().then((t=>A((0,u.KT)("cloud/users/{userid}/groups",{userid:s}),{groupid:r}).then((t=>e.commit("addUserGroup",{userid:s,gid:r}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:s,error:t})))},removeUserGroup(e,t){let{userid:s,gid:r}=t;return h().then((t=>I((0,u.KT)("cloud/users/{userid}/groups",{userid:s}),{groupid:r}).then((t=>e.commit("removeUserGroup",{userid:s,gid:r}))).catch((e=>{throw e})))).catch((t=>{throw e.commit("API_FAILURE",{userid:s,error:t}),t}))},addUserSubAdmin(e,t){let{userid:s,gid:r}=t;return h().then((t=>A((0,u.KT)("cloud/users/{userid}/subadmins",{userid:s}),{groupid:r}).then((t=>e.commit("addUserSubAdmin",{userid:s,gid:r}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:s,error:t})))},removeUserSubAdmin(e,t){let{userid:s,gid:r}=t;return h().then((t=>I((0,u.KT)("cloud/users/{userid}/subadmins",{userid:s}),{groupid:r}).then((t=>e.commit("removeUserSubAdmin",{userid:s,gid:r}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:s,error:t})))},wipeUserDevices:(e,t)=>h().then((e=>A((0,u.KT)("cloud/users/{userid}/wipe",{userid:t})).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),deleteUser:(e,t)=>h().then((s=>I((0,u.KT)("cloud/users/{userid}",{userid:t})).then((s=>e.commit("deleteUser",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),addUser(e,t){let{commit:s,dispatch:r}=e,{userid:a,password:o,displayName:i,email:n,groups:d,subadmin:c,quota:p,language:l,manager:m}=t;return h().then((e=>A((0,u.KT)("cloud/users"),{userid:a,password:o,displayName:i,email:n,groups:d,subadmin:c,quota:p,language:l,manager:m}).then((e=>r("addUserData",a||e.data.ocs.data.id))).catch((e=>{throw e})))).catch((e=>{throw s("API_FAILURE",{userid:a,error:e}),e}))},addUserData:(e,t)=>h().then((s=>f((0,u.KT)("cloud/users/{userid}",{userid:t})).then((t=>e.commit("addUserData",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),enableDisableUser(e,t){let{userid:s,enabled:r=!0}=t;const a=r?"enable":"disable";return h().then((t=>b((0,u.KT)("cloud/users/{userid}/{userStatus}",{userid:s,userStatus:a})).then((t=>e.commit("enableDisableUser",{userid:s,enabled:r}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:s,error:t})))},setUserData(e,t){let{userid:s,key:r,value:a}=t;const o=["email","displayname","manager"];return-1!==["email","language","quota","displayname","password","manager"].indexOf(r)&&"string"==typeof a&&(-1===o.indexOf(r)&&a.length>0||-1!==o.indexOf(r))?h().then((t=>b((0,u.KT)("cloud/users/{userid}",{userid:s}),{key:r,value:a}).then((t=>e.commit("setUserData",{userid:s,key:r,value:a}))).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{userid:s,error:t}))):Promise.reject(new Error("Invalid request data"))},sendWelcomeMail:(e,t)=>h().then((e=>A((0,u.KT)("cloud/users/{userid}/welcome",{userid:t})).then((e=>!0)).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s})))}};var T=r(32981),F=r(96763);const O={APPS_API_FAILURE(e,s){(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+s.error.response.data.data.message,{isHTML:!0}),F.error(e,s)},initCategories(e,t){let{categories:s,updateCount:r}=t;e.categories=s,e.updateCount=r},updateCategories(e,t){e.gettingCategoriesPromise=t},setUpdateCount(e,t){e.updateCount=t},addCategory(e,t){e.categories.push(t)},appendCategories(e,t){e.categories=t},setAllApps(e,t){e.apps=t},setError(e,t){let{appId:s,error:r}=t;Array.isArray(s)||(s=[s]),s.forEach((t=>{e.apps.find((e=>e.id===t)).error=r}))},clearError(e,t){let{appId:s,error:r}=t;e.apps.find((e=>e.id===s)).error=null},enableApp(e,t){let{appId:s,groups:r}=t;const a=e.apps.find((e=>e.id===s));a.active=!0,a.groups=r},setInstallState(e,t){let{appId:s,canInstall:r}=t;const a=e.apps.find((e=>e.id===s));a&&(a.canInstall=!0===r)},disableApp(e,t){const s=e.apps.find((e=>e.id===t));s.active=!1,s.groups=[],s.removable&&(s.canUnInstall=!0)},uninstallApp(e,t){e.apps.find((e=>e.id===t)).active=!1,e.apps.find((e=>e.id===t)).groups=[],e.apps.find((e=>e.id===t)).needsDownload=!0,e.apps.find((e=>e.id===t)).installed=!1,e.apps.find((e=>e.id===t)).canUnInstall=!1,e.apps.find((e=>e.id===t)).canInstall=!0},updateApp(e,t){const s=e.apps.find((e=>e.id===t)),r=s.update;s.update=null,s.version=r,e.updateCount--},resetApps(e){e.apps=[]},reset(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading(e,t){Array.isArray(t)?t.forEach((t=>{a.Ay.set(e.loading,t,!0)})):a.Ay.set(e.loading,t,!0)},stopLoading(e,t){Array.isArray(t)?t.forEach((t=>{a.Ay.set(e.loading,t,!1)})):a.Ay.set(e.loading,t,!1)}},k={enableApp(e,s){let r,{appId:a,groups:o}=s;return r=Array.isArray(a)?a:[a],h().then((s=>(e.commit("startLoading",r),e.commit("startLoading","install"),A((0,u.Jv)("settings/apps/enable"),{appIds:r,groups:o}).then((s=>(e.commit("stopLoading",r),e.commit("stopLoading","install"),r.forEach((t=>{e.commit("enableApp",{appId:t,groups:o})})),p.A.get((0,u.Jv)("apps/files/")).then((()=>{s.data.update_required&&((0,c.cf)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((()=>{Array.isArray(a)||((0,c.Qg)(t("settings","Error: This app cannot be enabled because it makes the server unstable")),e.commit("setError",{appId:r,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")}),e.dispatch("disableApp",{appId:a}))}))))).catch((t=>{e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("setError",{appId:r,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:a,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:a,error:t})))},forceEnableApp(e,t){let s,{appId:r,groups:a}=t;return s=Array.isArray(r)?r:[r],h().then((()=>(e.commit("startLoading",s),e.commit("startLoading","install"),A((0,u.Jv)("settings/apps/force"),{appId:r}).then((t=>{e.commit("setInstallState",{appId:r,canInstall:!0})})).catch((t=>{e.commit("stopLoading",s),e.commit("stopLoading","install"),e.commit("setError",{appId:s,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:r,error:t})})).finally((()=>{e.commit("stopLoading",s),e.commit("stopLoading","install")}))))).catch((t=>e.commit("API_FAILURE",{appId:r,error:t})))},disableApp(e,t){let s,{appId:r}=t;return s=Array.isArray(r)?r:[r],h().then((t=>(e.commit("startLoading",s),A((0,u.Jv)("settings/apps/disable"),{appIds:s}).then((t=>(e.commit("stopLoading",s),s.forEach((t=>{e.commit("disableApp",t)})),!0))).catch((t=>{e.commit("stopLoading",s),e.commit("APPS_API_FAILURE",{appId:r,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:r,error:t})))},uninstallApp(e,t){let{appId:s}=t;return h().then((t=>(e.commit("startLoading",s),f((0,u.Jv)("settings/apps/uninstall/".concat(s))).then((t=>(e.commit("stopLoading",s),e.commit("uninstallApp",s),!0))).catch((t=>{e.commit("stopLoading",s),e.commit("APPS_API_FAILURE",{appId:s,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:s,error:t})))},updateApp(e,t){let{appId:s}=t;return h().then((t=>(e.commit("startLoading",s),e.commit("startLoading","install"),f((0,u.Jv)("settings/apps/update/".concat(s))).then((t=>(e.commit("stopLoading","install"),e.commit("stopLoading",s),e.commit("updateApp",s),!0))).catch((t=>{e.commit("stopLoading",s),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:s,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:s,error:t})))},getAllApps:e=>(e.commit("startLoading","list"),f((0,u.Jv)("settings/apps/list")).then((t=>(e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0))).catch((t=>e.commit("API_FAILURE",t)))),async getCategories(e){let{shouldRefetchCategories:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t||!e.state.gettingCategoriesPromise){e.commit("startLoading","categories");try{const t=f((0,u.Jv)("settings/apps/categories"));e.commit("updateCategories",t);const s=await t;return s.data.length>0?(e.commit("appendCategories",s.data),e.commit("stopLoading","categories"),!0):(e.commit("stopLoading","categories"),!1)}catch(t){e.commit("API_FAILURE",t)}}return e.state.gettingCategoriesPromise}},S={state:{apps:[],bundles:(0,T.C)("settings","appstoreBundles",[]),categories:[],updateCount:(0,T.C)("settings","appstoreUpdateCount",0),loading:{},gettingCategoriesPromise:null},mutations:O,getters:{loading:e=>function(t){return e.loading[t]},getCategories:e=>e.categories,getAllApps:e=>e.apps,getAppBundles:e=>e.bundles,getUpdateCount:e=>e.updateCount,getCategoryById:e=>t=>e.categories.find((e=>e.id===t))},actions:k},G={setServerData(e,t){e.serverData=t}},D={state:{serverData:(0,T.C)("settings","usersSettings",{})},mutations:G,getters:{getServerData:e=>e.serverData},actions:{}},K={state:{},mutations:{},getters:{},actions:{setAppConfig(e,t){let{app:s,key:r,value:a}=t;return h().then((e=>A((0,u.KT)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:s,key:r}),{value:a}).catch((e=>{throw e})))).catch((t=>e.commit("API_FAILURE",{app:s,key:r,value:a,error:t})))}}};var N=r(96763);a.Ay.use(o.Ay);const x={API_FAILURE(e,s){try{const e=s.error.response.data.ocs.meta.message;(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch(e){(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed."))}N.error(e,s)}};let j=null;const q=()=>(null===j&&(j=new o.il({modules:{users:R,apps:S,settings:D,oc:K},strict:!1,mutations:x})),j)},15916:(e,t,s)=>{"use strict";var r;s.d(t,{q:()=>r}),function(e){e[e.UserCount=1]="UserCount",e[e.GroupName=2]="GroupName"}(r||(r={}))},36620:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});const r=(0,s(53529).YK)().setApp("settings").detectUser().build()},74329:(e,t,s)=>{"use strict";var r=s(85471),a=s(80284),o=s(58723),i=s(53334),n=s(22378);const d=(0,r.pM)({__name:"SettingsApp",setup:e=>({__sfc:!0,NcContent:n.A})}),c=(0,s(14486).A)(d,(function(){var e=this,t=e._self._c;return t(e._self._setupProxy.NcContent,{attrs:{"app-name":"settings"}},[t("router-view",{attrs:{name:"navigation"}}),e._v(" "),t("router-view"),e._v(" "),t("router-view",{attrs:{name:"sidebar"}})],1)}),[],!1,null,null,null).exports;var u=s(40173),p=s(63814);const l=[{name:"users",path:"/:index(index.php/)?settings/users",components:{default:()=>Promise.all([s.e(4208),s.e(1439),s.e(3239)]).then(s.bind(s,76227)),navigation:()=>Promise.all([s.e(4208),s.e(1439),s.e(3239)]).then(s.bind(s,38250))},props:!0,children:[{path:":selectedGroup",name:"group"}]},{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:{name:"apps-category",params:{category:"discover"}},components:{default:()=>Promise.all([s.e(4208),s.e(1439),s.e(4529)]).then(s.bind(s,4790)),navigation:()=>Promise.all([s.e(4208),s.e(1439),s.e(4529)]).then(s.bind(s,12336)),sidebar:()=>Promise.all([s.e(4208),s.e(1439),s.e(4529)]).then(s.bind(s,83625))},children:[{path:":category",name:"apps-category",children:[{path:":id",name:"apps-details"}]}]}];r.Ay.use(u.Ay);const m=new u.Ay({mode:"history",base:(0,p.Jv)(""),linkActiveClass:"active",routes:l});var g,h=s(31755),f=s(21777),A=s(65899);r.Ay.use(a.Ay,{defaultHtml:!1});const b=(0,h.P)();(0,o.O)(b,m),s.nc=btoa(null!==(g=(0,f.do)())&&void 0!==g?g:""),r.Ay.prototype.t=i.Tl,r.Ay.prototype.n=i.zw,r.Ay.use(A.R2);const I=(0,A.Ey)();new r.Ay({router:m,store:b,pinia:I,render:e=>e(c),el:"#content"})},58723:(e,t)=>{function s(e,t){var r={name:e.name,path:e.path,hash:e.hash,query:e.query,params:e.params,fullPath:e.fullPath,meta:e.meta};return t&&(r.from=s(t)),Object.freeze(r)}t.O=function(e,t,r){var a=(r||{}).moduleName||"route";e.registerModule(a,{namespaced:!0,state:s(t.currentRoute),mutations:{ROUTE_CHANGED:function(t,r){e.state[a]=s(r.to,r.from)}}});var o,i=!1,n=e.watch((function(e){return e[a]}),(function(e){var s=e.fullPath;s!==o&&(null!=o&&(i=!0,t.push(e)),o=s)}),{sync:!0}),d=t.afterEach((function(t,s){i?i=!1:(o=t.fullPath,e.commit(a+"/ROUTE_CHANGED",{to:t,from:s}))}));return function(){null!=d&&d(),null!=n&&n(),e.unregisterModule(a)}}}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var s=o[e]={id:e,loaded:!1,exports:{}};return a[e].call(s.exports,s,s.exports,i),s.loaded=!0,s.exports}i.m=a,e=[],i.O=(t,s,r,a)=>{if(!s){var o=1/0;for(u=0;u=a)&&Object.keys(i.O).every((e=>i.O[e](s[d])))?s.splice(d--,1):(n=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[s,r,a]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,s)=>(i.f[s](e,t),t)),[])),i.u=e=>(({3239:"settings-users",4529:"settings-apps-view"}[e]||e)+"-"+e+".js?v="+{1439:"41c39783c33a6fb28f5c",1544:"ef4241665c4d259a7aec",3239:"4b43f771ce2f23b5a283",3865:"590dec5285cef9f68844",4065:"9661e9d1e1b32699b74a",4254:"96661b9f421b07ce7189",4529:"064340341af1d750e872",8630:"eb1ab06c4928352754c5"}[e]),i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s={},r="nextcloud:",i.l=(e,t,a,o)=>{if(s[e])s[e].push(t);else{var n,d;if(void 0!==a)for(var c=document.getElementsByTagName("script"),u=0;u{n.onerror=n.onload=null,clearTimeout(m);var a=s[e];if(delete s[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach((e=>e(r))),t)return t(r)},m=setTimeout(l.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=l.bind(null,n.onerror),n.onload=l.bind(null,n.onload),d&&document.head.appendChild(n)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i.j=2689,(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var s=t.getElementsByTagName("script");if(s.length)for(var r=s.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=s[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{i.b=document.baseURI||self.location.href;var e={2689:0};i.f.j=(t,s)=>{var r=i.o(e,t)?e[t]:void 0;if(0!==r)if(r)s.push(r[2]);else{var a=new Promise(((s,a)=>r=e[t]=[s,a]));s.push(r[2]=a);var o=i.p+i.u(t),n=new Error;i.l(o,(s=>{if(i.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var a=s&&("load"===s.type?"missing":s.type),o=s&&s.target&&s.target.src;n.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",n.name="ChunkLoadError",n.type=a,n.request=o,r[1](n)}}),"chunk-"+t,t)}},i.O.j=t=>0===e[t];var t=(t,s)=>{var r,a,o=s[0],n=s[1],d=s[2],c=0;if(o.some((t=>0!==e[t]))){for(r in n)i.o(n,r)&&(i.m[r]=n[r]);if(d)var u=d(i)}for(t&&t(s);ci(74329)));n=i.O(n)})(); +//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=d7d35e51b219a05c4e1e \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js.map b/dist/settings-vue-settings-apps-users-management.js.map index 1019639572518..625bf6cce089f 100644 --- a/dist/settings-vue-settings-apps-users-management.js.map +++ b/dist/settings-vue-settings-apps-users-management.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=840a7e40da4d07e1530f","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/users-settings.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/apps/settings/src/constants/GroupManagement.ts","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/SettingsApp.vue?3a67","webpack:///nextcloud/apps/settings/src/router/routes.ts","webpack:///nextcloud/apps/settings/src/router/index.ts","webpack:///nextcloud/apps/settings/src/main-apps-users-management.ts","webpack:///nextcloud/node_modules/vuex-router-sync/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Sujith Haridasan \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Arthur Schiwon \n * @author Christoph Wurst \n * @author Daniel Calviño Sánchez \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Vincent Petry \n * @author Stephan Orbaugh \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { parseFileSize } from '@nextcloud/files'\nimport { showError } from '@nextcloud/dialogs'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\n\nimport { GroupSorting } from '../constants/GroupManagement.ts'\nimport api from './api.js'\nimport logger from '../logger.ts'\n\nconst localStorage = getBuilder('settings').persist(true).build()\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: GroupSorting.UserCount,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tdisabledUsersOffset: 0,\n\tdisabledUsersLimit: 25,\n\tuserCount: 0,\n\tshowConfig: {\n\t\tshowStoragePath: localStorage.getItem('account_settings__showStoragePath') === 'true',\n\t\tshowUserBackend: localStorage.getItem('account_settings__showUserBackend') === 'true',\n\t\tshowLastLogin: localStorage.getItem('account_settings__showLastLogin') === 'true',\n\t\tshowNewUserForm: localStorage.getItem('account_settings__showNewUserForm') === 'true',\n\t\tshowLanguages: localStorage.getItem('account_settings__showLanguages') === 'true',\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tupdateDisabledUsers(state, _usersObj) {\n\t\tstate.disabledUsersOffset += state.disabledUsersLimit\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\tinitGroups(state, { groups, orderBy, userCount }) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group))\n\t\tstate.orderBy = orderBy\n\t\tstate.userCount = userCount\n\t},\n\taddGroup(state, { gid, displayName }) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === gid) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t})\n\t\t\tstate.groups.unshift(group)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tstate.groups\n\t\t\t\t\t.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t .usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = parseFileSize(value, true)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t\tstate.disabledUsersOffset = 0\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tlocalStorage.setItem(`account_settings__${key}`, JSON.stringify(value))\n\t\tstate.showConfig[key] = value\n\t},\n\n\tsetGroupSorting(state, sorting) {\n\t\tconst oldValue = state.orderBy\n\t\tstate.orderBy = sorting\n\n\t\t// Persist the value on the server\n\t\taxios.post(\n\t\t\tgenerateUrl('/settings/users/preferences/group.sortBy'),\n\t\t\t{\n\t\t\t\tvalue: String(sorting),\n\t\t\t},\n\t\t).catch((error) => {\n\t\t\tstate.orderBy = oldValue\n\t\t\tshowError(t('settings', 'Could not set group sorting'))\n\t\t\tlogger.error(error)\n\t\t})\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled')\n\t},\n\tgetSortedGroups(state) {\n\t\tconst groups = [...state.groups]\n\t\tif (state.orderBy === GroupSorting.UserCount) {\n\t\t\treturn groups.sort((a, b) => {\n\t\t\t\tconst numA = a.usercount - a.disabled\n\t\t\t\tconst numB = b.usercount - b.disabled\n\t\t\t\treturn (numA < numB) ? 1 : (numB < numA ? -1 : a.name.localeCompare(b.name))\n\t\t\t})\n\t\t} else {\n\t\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name))\n\t\t}\n\t},\n\tgetGroupSorting(state) {\n\t\treturn state.orderBy\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetDisabledUsersOffset(state) {\n\t\treturn state.disabledUsersOffset\n\t},\n\tgetDisabledUsersLimit(state) {\n\t\treturn state.disabledUsersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\t/**\n\t * Get disabled users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @return {Promise}\n\t */\n\tasync getDisabledUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\tcontext.commit('updateDisabledUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { gid: group, displayName: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (getCapabilities().password_policy && getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', getCapabilities().password_policy.minLength)\n\t\t\treturn getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { gid, displayName: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\twipeUserDevices(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tif (['email', 'language', 'quota', 'displayname', 'password', 'manager'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string'\n\t\t\t\t&& (\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0)\n\t\t\t\t\t|| allowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => { throw error })\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'))\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tapps: [],\n\tbundles: loadState('settings', 'appstoreBundles', []),\n\tcategories: [],\n\tupdateCount: loadState('settings', 'appstoreUpdateCount', 0),\n\tloading: {},\n\tgettingCategoriesPromise: null,\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t},\n\n\tsetInstallState(state, { appId, canInstall }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tif (app) {\n\t\t\tapp.canInstall = canInstall === true\n\t\t}\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetAppBundles(state) {\n\t\treturn state.bundles\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn axios.get(generateUrl('apps/files/'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.',\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tshowError(t('settings', 'Error: This app cannot be enabled because it makes the server unstable'))\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tcontext.dispatch('disableApp', { appId })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('setInstallState', { appId, canInstall: true })\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tserverData: loadState('settings', 'usersSettings', {}),\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './users-settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nlet store = null\n\nexport const useStore = () => {\n\tif (store === null) {\n\t\tstore = new Store({\n\t\t\tmodules: {\n\t\t\t\tusers,\n\t\t\t\tapps,\n\t\t\t\tsettings,\n\t\t\t\toc,\n\t\t\t},\n\t\t\tstrict: debug,\n\t\t\tmutations,\n\t\t})\n\t}\n\treturn store\n}\n","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\nexport var GroupSorting;\n(function (GroupSorting) {\n GroupSorting[GroupSorting[\"UserCount\"] = 1] = \"UserCount\";\n GroupSorting[GroupSorting[\"GroupName\"] = 2] = \"GroupName\";\n})(GroupSorting || (GroupSorting = {}));\n","/**\n * @copyright 2020 Christoph Wurst \n *\n * @author Christoph Wurst \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('settings')\n .detectUser()\n .build();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcContent,{attrs:{\"app-name\":\"settings\"}},[_c('router-view',{attrs:{\"name\":\"navigation\"}}),_vm._v(\" \"),_c('router-view'),_vm._v(\" \"),_c('router-view',{attrs:{\"name\":\"sidebar\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SettingsApp.vue?vue&type=template&id=b0b62a76\"\nimport script from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Dynamic loading\nconst AppStore = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStore.vue');\nconst AppStoreNavigation = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreNavigation.vue');\nconst AppStoreSidebar = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreSidebar.vue');\nconst UserManagement = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagement.vue');\nconst UserManagementNavigation = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagementNavigation.vue');\nconst routes = [\n {\n name: 'users',\n path: '/:index(index.php/)?settings/users',\n components: {\n default: UserManagement,\n navigation: UserManagementNavigation,\n },\n props: true,\n children: [\n {\n path: ':selectedGroup',\n name: 'group',\n },\n ],\n },\n {\n path: '/:index(index.php/)?settings/apps',\n name: 'apps',\n // redirect to our default route - the app discover section\n redirect: {\n name: 'apps-category',\n params: {\n category: 'discover',\n },\n },\n components: {\n default: AppStore,\n navigation: AppStoreNavigation,\n sidebar: AppStoreSidebar,\n },\n children: [\n {\n path: ':category',\n name: 'apps-category',\n children: [\n {\n path: ':id',\n name: 'apps-details',\n },\n ],\n },\n ],\n },\n];\nexport default routes;\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { generateUrl } from '@nextcloud/router';\nimport routes from './routes.ts';\nVue.use(Router);\nconst router = new Router({\n mode: 'history',\n // if index.php is in the url AND we got this far, then it's working:\n // let's keep using index.php in the url\n base: generateUrl(''),\n linkActiveClass: 'active',\n routes,\n});\nexport default router;\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author rakekniven \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nimport VTooltip from 'v-tooltip';\nimport { sync } from 'vuex-router-sync';\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n';\nimport SettingsApp from './views/SettingsApp.vue';\nimport router from './router/index.ts';\nimport { useStore } from './store/index.js';\nimport { getRequestToken } from '@nextcloud/auth';\nimport { PiniaVuePlugin, createPinia } from 'pinia';\nVue.use(VTooltip, { defaultHtml: false });\nconst store = useStore();\nsync(store, router);\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken() ?? '');\n// bind to window\nVue.prototype.t = t;\nVue.prototype.n = n;\nVue.use(PiniaVuePlugin);\nconst pinia = createPinia();\nexport default new Vue({\n router,\n store,\n pinia,\n render: h => h(SettingsApp),\n el: '#content',\n});\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"3239\":\"settings-users\",\"4529\":\"settings-apps-view\"}[chunkId] || chunkId) + \"-\" + chunkId + \".js?v=\" + {\"1439\":\"41c39783c33a6fb28f5c\",\"1544\":\"ef4241665c4d259a7aec\",\"3239\":\"4b43f771ce2f23b5a283\",\"3865\":\"590dec5285cef9f68844\",\"4065\":\"9661e9d1e1b32699b74a\",\"4254\":\"96661b9f421b07ce7189\",\"4529\":\"b68bed1e820a3f5ed390\",\"8630\":\"eb1ab06c4928352754c5\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2689;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2689: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(74329)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","sanitize","url","replace","requireAdmin","confirmPassword","get","options","axios","post","data","put","delete","params","localStorage","getBuilder","persist","build","defaults","id","name","usercount","disabled","canAdd","canRemove","state","users","groups","orderBy","GroupSorting","UserCount","minPasswordLength","usersOffset","usersLimit","disabledUsersOffset","disabledUsersLimit","userCount","showConfig","showStoragePath","getItem","showUserBackend","showLastLogin","showNewUserForm","showLanguages","mutations","appendUsers","usersObj","existingUsers","map","_ref","newUsers","Object","values","filter","_ref2","includes","concat","updateDisabledUsers","_usersObj","setPasswordPolicyMinLength","length","initGroups","_ref3","group","assign","addGroup","_ref4","gid","displayName","find","unshift","e","console","error","renameGroup","_ref5","groupIndex","findIndex","groupSearch","updatedGroup","splice","removeGroup","addUserGroup","_ref6","userid","user","enabled","push","removeUserGroup","_ref7","indexOf","addUserSubAdmin","_ref8","subadmin","removeUserSubAdmin","_ref9","deleteUser","userIndex","this","commit","actionType","addUserData","response","ocs","enableDisableUser","_ref10","updateUserCounts","_ref11","disabledGroup","forEach","userGroup","warn","logger","setUserData","_ref12","key","value","humanValue","parseFileSize","resetUsers","setShowConfig","_ref13","setItem","JSON","stringify","setGroupSorting","sorting","oldValue","generateUrl","String","catch","showError","t","getters","getUsers","getGroups","getSubadminGroups","getSortedGroups","sort","a","b","numA","numB","localeCompare","getGroupSorting","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getDisabledUsersOffset","getDisabledUsersLimit","getUserCount","getShowConfig","CancelToken","searchRequestCancelSource","actions","searchUsers","context","_ref14","offset","limit","search","api","generateOcsUrl","isCancel","getUser","userId","_ref15","cancel","source","trim","encodeURIComponent","cancelToken","token","then","usersCount","keys","getDisabledUsers","_ref16","_ref17","limitParam","getUsersFromList","_ref18","getUsersFromGroup","_ref19","groupid","groupId","getCapabilities","password_policy","minLength","_ref20","_ref21","_ref22","_ref23","_ref24","wipeUserDevices","addUser","_ref25","_ref26","dispatch","password","email","quota","language","manager","_ref27","userStatus","_ref28","allowedEmpty","Promise","reject","Error","sendWelcomeMail","APPS_API_FAILURE","message","isHTML","initCategories","categories","updateCount","updateCategories","categoriesPromise","gettingCategoriesPromise","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","apps","setError","appId","Array","isArray","_id","app","clearError","enableApp","active","setInstallState","canInstall","disableApp","removable","canUnInstall","uninstallApp","needsDownload","installed","updateApp","version","update","resetApps","reset","startLoading","Vue","loading","stopLoading","appIds","_appId","update_required","showInfo","onClick","window","location","reload","close","setTimeout","forceEnableApp","finally","getAllApps","getCategories","shouldRefetchCategories","arguments","undefined","categoriesPromiseResponse","bundles","loadState","getAppBundles","getUpdateCount","getCategoryById","selectedCategoryId","setServerData","serverData","getServerData","setAppConfig","use","Vuex","API_FAILURE","meta","store","useStore","Store","modules","settings","oc","strict","process","getLoggerBuilder","setApp","detectUser","_defineComponent","__name","setup","__props","__sfc","NcContent","_vm","_c","_self","_setupProxy","attrs","_v","path","components","default","UserManagement","navigation","UserManagementNavigation","props","children","redirect","AppStore","AppStoreNavigation","sidebar","AppStoreSidebar","Router","mode","base","linkActiveClass","routes","VTooltip","defaultHtml","sync","router","__webpack_nonce__","btoa","_getRequestToken","getRequestToken","prototype","n","PiniaVuePlugin","pinia","createPinia","render","h","SettingsApp","el","cloneRoute","to","from","clone","hash","query","fullPath","freeze","exports","moduleName","registerModule","namespaced","currentRoute","transition","currentPath","isTimeTraveling","storeUnwatch","watch","route","afterEachUnHook","afterEach","unregisterModule","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","getter","__esModule","d","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","test","p","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=d7d35e51b219a05c4e1e","mappings":";UAAIA,ECAAC,EACAC,8KC6BJ,MAAMC,EAAW,SAASC,GACzB,OAAOA,EAAIC,QAAQ,MAAO,GAC3B,EAEA,EAiCaC,KACJC,EAAAA,EAAAA,KAlCT,EAoCIC,CAACJ,EAAKK,IACDC,EAAAA,EAAMF,IAAIL,EAASC,GAAMK,GArClC,EAuCKE,CAACP,EAAKQ,IACFF,EAAAA,EAAMC,KAAKR,EAASC,GAAMQ,GAxCnC,EA6CIC,CAACT,EAAKQ,IACDF,EAAAA,EAAMG,IAAIV,EAASC,GAAMQ,GA9ClC,EAgDOE,CAACV,EAAKQ,IACJF,EAAAA,EAAMI,OAAOX,EAASC,GAAM,CAAEW,OAAQH,8BC3C/C,MAAMI,GAAeC,EAAAA,EAAAA,IAAW,YAAYC,SAAQ,GAAMC,QAEpDC,EACE,CACNC,GAAI,GACJC,KAAM,GACNC,UAAW,EACXC,SAAU,EACVC,QAAQ,EACRC,WAAW,GAIPC,EAAQ,CACbC,MAAO,GACPC,OAAQ,GACRC,QAASC,EAAAA,EAAaC,UACtBC,kBAAmB,EACnBC,YAAa,EACbC,WAAY,GACZC,oBAAqB,EACrBC,mBAAoB,GACpBC,UAAW,EACXC,WAAY,CACXC,gBAA+E,SAA9DxB,EAAayB,QAAQ,qCACtCC,gBAA+E,SAA9D1B,EAAayB,QAAQ,qCACtCE,cAA2E,SAA5D3B,EAAayB,QAAQ,mCACpCG,gBAA+E,SAA9D5B,EAAayB,QAAQ,qCACtCI,cAA2E,SAA5D7B,EAAayB,QAAQ,qCAIhCK,EAAY,CACjBC,WAAAA,CAAYpB,EAAOqB,GAClB,MAAMC,EAAgBtB,EAAMC,MAAMsB,KAAIC,IAAA,IAAC,GAAE9B,GAAI8B,EAAA,OAAK9B,CAAE,IAC9C+B,EAAWC,OAAOC,OAAON,GAC7BO,QAAOC,IAAA,IAAC,GAAEnC,GAAImC,EAAA,OAAMP,EAAcQ,SAASpC,EAAG,IAE1CO,EAAQD,EAAMC,MAAM8B,OAAON,GACjCzB,EAAMO,aAAeP,EAAMQ,WAC3BR,EAAMC,MAAQA,CACf,EACA+B,mBAAAA,CAAoBhC,EAAOiC,GAC1BjC,EAAMS,qBAAuBT,EAAMU,kBACpC,EACAwB,0BAAAA,CAA2BlC,EAAOmC,GACjCnC,EAAMM,kBAA+B,KAAX6B,EAAgBA,EAAS,CACpD,EACAC,UAAAA,CAAWpC,EAAKqC,GAAkC,IAAhC,OAAEnC,EAAM,QAAEC,EAAO,UAAEQ,GAAW0B,EAC/CrC,EAAME,OAASA,EAAOqB,KAAIe,GAASZ,OAAOa,OAAO,CAAC,EAAG9C,EAAgB6C,KACrEtC,EAAMG,QAAUA,EAChBH,EAAMW,UAAYA,CACnB,EACA6B,QAAAA,CAASxC,EAAKyC,GAAwB,IAAtB,IAAEC,EAAG,YAAEC,GAAaF,EACnC,IACC,QAA8D,IAAnDzC,EAAME,OAAO0C,MAAMN,GAAUA,EAAM5C,KAAOgD,IACpD,OAGD,MAAMJ,EAAQZ,OAAOa,OAAO,CAAC,EAAG9C,EAAgB,CAC/CC,GAAIgD,EACJ/C,KAAMgD,IAEP3C,EAAME,OAAO2C,QAAQP,EACtB,CAAE,MAAOQ,GACRC,EAAQC,MAAM,qBAAuBF,EACtC,CACD,EACAG,WAAAA,CAAYjD,EAAKkD,GAAwB,IAAtB,IAAER,EAAG,YAAEC,GAAaO,EACtC,MAAMC,EAAanD,EAAME,OAAOkD,WAAUC,GAAeA,EAAY3D,KAAOgD,IAC5E,GAAIS,GAAc,EAAG,CACpB,MAAMG,EAAetD,EAAME,OAAOiD,GAClCG,EAAa3D,KAAOgD,EACpB3C,EAAME,OAAOqD,OAAOJ,EAAY,EAAGG,EACpC,CACD,EACAE,WAAAA,CAAYxD,EAAO0C,GAClB,MAAMS,EAAanD,EAAME,OAAOkD,WAAUC,GAAeA,EAAY3D,KAAOgD,IACxES,GAAc,GACjBnD,EAAME,OAAOqD,OAAOJ,EAAY,EAElC,EACAM,YAAAA,CAAazD,EAAK0D,GAAmB,IAAjB,OAAEC,EAAM,IAAEjB,GAAKgB,EAClC,MAAMpB,EAAQtC,EAAME,OAAO0C,MAAKS,GAAeA,EAAY3D,KAAOgD,IAC5DkB,EAAO5D,EAAMC,MAAM2C,MAAKgB,GAAQA,EAAKlE,KAAOiE,IAE9CrB,GAASsB,EAAKC,SAAW7D,EAAMW,UAAY,GAC9C2B,EAAM1C,YAEQgE,EAAK1D,OACb4D,KAAKpB,EACb,EACAqB,eAAAA,CAAgB/D,EAAKgE,GAAmB,IAAjB,OAAEL,EAAM,IAAEjB,GAAKsB,EACrC,MAAM1B,EAAQtC,EAAME,OAAO0C,MAAKS,GAAeA,EAAY3D,KAAOgD,IAC5DkB,EAAO5D,EAAMC,MAAM2C,MAAKgB,GAAQA,EAAKlE,KAAOiE,IAE9CrB,GAASsB,EAAKC,SAAW7D,EAAMW,UAAY,GAC9C2B,EAAM1C,YAEP,MAAMM,EAAS0D,EAAK1D,OACpBA,EAAOqD,OAAOrD,EAAO+D,QAAQvB,GAAM,EACpC,EACAwB,eAAAA,CAAgBlE,EAAKmE,GAAmB,IAAjB,OAAER,EAAM,IAAEjB,GAAKyB,EACtBnE,EAAMC,MAAM2C,MAAKgB,GAAQA,EAAKlE,KAAOiE,IAAQS,SACrDN,KAAKpB,EACb,EACA2B,kBAAAA,CAAmBrE,EAAKsE,GAAmB,IAAjB,OAAEX,EAAM,IAAEjB,GAAK4B,EACxC,MAAMpE,EAASF,EAAMC,MAAM2C,MAAKgB,GAAQA,EAAKlE,KAAOiE,IAAQS,SAC5DlE,EAAOqD,OAAOrD,EAAO+D,QAAQvB,GAAM,EACpC,EACA6B,UAAAA,CAAWvE,EAAO2D,GACjB,MAAMa,EAAYxE,EAAMC,MAAMmD,WAAUQ,GAAQA,EAAKlE,KAAOiE,IAC5Dc,KAAKC,OAAO,mBAAoB,CAAEd,KAAM5D,EAAMC,MAAMuE,GAAYG,WAAY,WAC5E3E,EAAMC,MAAMsD,OAAOiB,EAAW,EAC/B,EACAI,WAAAA,CAAY5E,EAAO6E,GAClB,MAAMjB,EAAOiB,EAAS5F,KAAK6F,IAAI7F,KAC/Be,EAAMC,MAAM4C,QAAQe,GACpBa,KAAKC,OAAO,mBAAoB,CAAEd,OAAMe,WAAY,UACrD,EACAI,iBAAAA,CAAkB/E,EAAKgF,GAAuB,IAArB,OAAErB,EAAM,QAAEE,GAASmB,EAC3C,MAAMpB,EAAO5D,EAAMC,MAAM2C,MAAKgB,GAAQA,EAAKlE,KAAOiE,IAClDC,EAAKC,QAAUA,EACfY,KAAKC,OAAO,mBAAoB,CAAEd,OAAMe,WAAYd,EAAU,SAAW,WAC1E,EAEAoB,gBAAAA,CAAiBjF,EAAKkF,GAAwB,IAAtB,KAAEtB,EAAI,WAAEe,GAAYO,EAE3C,GAAwB,IAApBlF,EAAMW,UACT,OAGD,MAAMwE,EAAgBnF,EAAME,OAAO0C,MAAKN,GAAsB,aAAbA,EAAM5C,KACvD,OAAQiF,GACR,IAAK,SACL,IAAK,UACJQ,EAAcvF,WAAagE,EAAKC,SAAW,EAAI,EAC/C7D,EAAMW,WAAaiD,EAAKC,QAAU,GAAK,EACvCD,EAAK1D,OAAOkF,SAAQC,IACLrF,EAAME,OAAO0C,MAAKS,GAAeA,EAAY3D,KAAO2F,IAC5DxF,UAAY+D,EAAKC,SAAW,EAAI,CAAC,IAExC,MACD,IAAK,SACJ7D,EAAMW,YAENiD,EAAK1D,OAAOkF,SAAQC,IACnBrF,EAAME,OACJ0C,MAAKS,GAAeA,EAAY3D,KAAO2F,IACpCzF,WAAW,IAEjB,MACD,IAAK,SACAgE,EAAKC,SACR7D,EAAMW,YACNiD,EAAK1D,OAAOkF,SAAQC,IACnB,MAAM/C,EAAQtC,EAAME,OAAO0C,MAAKS,GAAeA,EAAY3D,KAAO2F,IAC7D/C,EAILA,EAAM1C,YAHLmD,EAAQuC,KAAK,cAAgBD,EAAY,sCAGzB,MAGlBF,EAAcvF,YACdgE,EAAK1D,OAAOkF,SAAQC,IACLrF,EAAME,OAAO0C,MAAKS,GAAeA,EAAY3D,KAAO2F,IAC5DxF,UAAU,KAGlB,MACD,QACC0F,EAAAA,EAAOvC,MAAM,6CAADjB,OAA8C4C,EAAU,MAGtE,EACAa,WAAAA,CAAYxF,EAAKyF,GAA0B,IAAxB,OAAE9B,EAAM,IAAE+B,EAAG,MAAEC,GAAOF,EACxC,GAAY,UAARC,EAAiB,CACpB,MAAME,GAAaC,EAAAA,EAAAA,IAAcF,GAAO,GACxC3F,EAAMC,MAAM2C,MAAKgB,GAAQA,EAAKlE,KAAOiE,IAAQ+B,GAAKA,GAAsB,OAAfE,EAAsBA,EAAaD,CAC7F,MACC3F,EAAMC,MAAM2C,MAAKgB,GAAQA,EAAKlE,KAAOiE,IAAQ+B,GAAOC,CAEtD,EAOAG,UAAAA,CAAW9F,GACVA,EAAMC,MAAQ,GACdD,EAAMO,YAAc,EACpBP,EAAMS,oBAAsB,CAC7B,EAEAsF,aAAAA,CAAc/F,EAAKgG,GAAkB,IAAhB,IAAEN,EAAG,MAAEC,GAAOK,EAClC3G,EAAa4G,QAAQ,qBAADlE,OAAsB2D,GAAOQ,KAAKC,UAAUR,IAChE3F,EAAMY,WAAW8E,GAAOC,CACzB,EAEAS,eAAAA,CAAgBpG,EAAOqG,GACtB,MAAMC,EAAWtG,EAAMG,QACvBH,EAAMG,QAAUkG,EAGhBtH,EAAAA,EAAMC,MACLuH,EAAAA,EAAAA,IAAY,4CACZ,CACCZ,MAAOa,OAAOH,KAEdI,OAAOzD,IACRhD,EAAMG,QAAUmG,GAChBI,EAAAA,EAAAA,IAAUC,EAAE,WAAY,gCACxBpB,EAAAA,EAAOvC,MAAMA,EAAM,GAErB,GAGK4D,EAAU,CACfC,SAAS7G,GACDA,EAAMC,MAEd6G,UAAU9G,GACFA,EAAME,OAEd6G,kBAAkB/G,GAEVA,EAAME,OAAO0B,QAAOU,GAAsB,UAAbA,EAAM5C,IAA+B,aAAb4C,EAAM5C,KAEnEsH,eAAAA,CAAgBhH,GACf,MAAME,EAAS,IAAIF,EAAME,QACzB,OAAIF,EAAMG,UAAYC,EAAAA,EAAaC,UAC3BH,EAAO+G,MAAK,CAACC,EAAGC,KACtB,MAAMC,EAAOF,EAAEtH,UAAYsH,EAAErH,SACvBwH,EAAOF,EAAEvH,UAAYuH,EAAEtH,SAC7B,OAAQuH,EAAOC,EAAQ,EAAKA,EAAOD,GAAQ,EAAIF,EAAEvH,KAAK2H,cAAcH,EAAExH,KAAM,IAGtEO,EAAO+G,MAAK,CAACC,EAAGC,IAAMD,EAAEvH,KAAK2H,cAAcH,EAAExH,OAEtD,EACA4H,gBAAgBvH,GACRA,EAAMG,QAEdqH,2BAA2BxH,GACnBA,EAAMM,kBAEdmH,eAAezH,GACPA,EAAMO,YAEdmH,cAAc1H,GACNA,EAAMQ,WAEdmH,uBAAuB3H,GACfA,EAAMS,oBAEdmH,sBAAsB5H,GACdA,EAAMU,mBAEdmH,aAAa7H,GACLA,EAAMW,UAEdmH,cAAc9H,GACNA,EAAMY,YAITmH,EAAchJ,EAAAA,EAAMgJ,YAC1B,IAAIC,EAA4B,KAEhC,MAycA,GAAiBhI,QAAOmB,YAAWyF,UAASqB,QAzc5B,CAYfC,WAAAA,CAAYC,EAAOC,GAA6B,IAA3B,OAAEC,EAAM,MAAEC,EAAK,OAAEC,GAAQH,EAG7C,OAFAG,EAA2B,iBAAXA,EAAsBA,EAAS,GAExCC,GAAQC,EAAAA,EAAAA,IAAe,oEAAqE,CAAEJ,SAAQC,QAAOC,YAAW9B,OAAOzD,IAChIjE,EAAAA,EAAM2J,SAAS1F,IACnBmF,EAAQzD,OAAO,cAAe1B,EAC/B,GAEF,EASA2F,QAAOA,CAACR,EAASS,IACTJ,GAAQC,EAAAA,EAAAA,IAAe,eAAD1G,OAAgB6G,KAAWnC,OAAOzD,IACzDjE,EAAAA,EAAM2J,SAAS1F,IACnBmF,EAAQzD,OAAO,cAAe1B,EAC/B,IAeF6D,QAAAA,CAASsB,EAAOU,GAAoC,IAAlC,OAAER,EAAM,MAAEC,EAAK,OAAEC,EAAM,MAAEjG,GAAOuG,EAejD,OAdIb,GACHA,EAA0Bc,OAAO,iDAElCd,EAA4BD,EAAYgB,SACxCR,EAA2B,iBAAXA,EAAsBA,EAAS,GAO/CA,EAASA,EAAO7J,QAAQ,aAAc,IAAIsK,OAE1C1G,EAAyB,iBAAVA,EAAqBA,EAAQ,GAC9B,KAAVA,EACIkG,GAAQC,EAAAA,EAAAA,IAAe,mFAAoF,CAAEnG,MAAO2G,mBAAmB3G,GAAQ+F,SAAQC,QAAOC,WAAW,CAC/KW,YAAalB,EAA0BmB,QAEtCC,MAAMvE,IACN,MAAMwE,EAAa3H,OAAO4H,KAAKzE,EAAS5F,KAAK6F,IAAI7F,KAAKgB,OAAOkC,OAI7D,OAHIkH,EAAa,GAChBlB,EAAQzD,OAAO,cAAeG,EAAS5F,KAAK6F,IAAI7F,KAAKgB,OAE/CoJ,CAAU,IAEjB5C,OAAOzD,IACFjE,EAAAA,EAAM2J,SAAS1F,IACnBmF,EAAQzD,OAAO,cAAe1B,EAC/B,IAIIwF,GAAQC,EAAAA,EAAAA,IAAe,oEAAqE,CAAEJ,SAAQC,QAAOC,WAAW,CAC9HW,YAAalB,EAA0BmB,QAEtCC,MAAMvE,IACN,MAAMwE,EAAa3H,OAAO4H,KAAKzE,EAAS5F,KAAK6F,IAAI7F,KAAKgB,OAAOkC,OAI7D,OAHIkH,EAAa,GAChBlB,EAAQzD,OAAO,cAAeG,EAAS5F,KAAK6F,IAAI7F,KAAKgB,OAE/CoJ,CAAU,IAEjB5C,OAAOzD,IACFjE,EAAAA,EAAM2J,SAAS1F,IACnBmF,EAAQzD,OAAO,cAAe1B,EAC/B,GAEH,EAWA,sBAAMuG,CAAiBpB,EAAOqB,GAA6B,IAA3B,OAAEnB,EAAM,MAAEC,EAAK,OAAEC,GAAQiB,EACxD,MAAM/K,GAAMgK,EAAAA,EAAAA,IAAe,qEAAsE,CAAEJ,SAAQC,QAAOC,WAClH,IACC,MAAM1D,QAAiB2D,EAAQ/J,GACzB4K,EAAa3H,OAAO4H,KAAKzE,EAAS5F,KAAK6F,IAAI7F,KAAKgB,OAAOkC,OAK7D,OAJIkH,EAAa,IAChBlB,EAAQzD,OAAO,cAAeG,EAAS5F,KAAK6F,IAAI7F,KAAKgB,OACrDkI,EAAQzD,OAAO,sBAAuBG,EAAS5F,KAAK6F,IAAI7F,KAAKgB,QAEvDoJ,CACR,CAAE,MAAOrG,GACRmF,EAAQzD,OAAO,cAAe1B,EAC/B,CACD,EAEA8D,SAAAA,CAAUqB,EAAOsB,GAA6B,IAA3B,OAAEpB,EAAM,MAAEC,EAAK,OAAEC,GAAQkB,EAC3ClB,EAA2B,iBAAXA,EAAsBA,EAAS,GAC/C,MAAMmB,GAAwB,IAAXpB,EAAe,GAAK,UAAHvG,OAAauG,GACjD,OAAOE,GAAQC,EAAAA,EAAAA,IAAe,+CAAgD,CAAEJ,SAAQE,WAAYmB,GAClGN,MAAMvE,GACFnD,OAAO4H,KAAKzE,EAAS5F,KAAK6F,IAAI7F,KAAKiB,QAAQiC,OAAS,IACvD0C,EAAS5F,KAAK6F,IAAI7F,KAAKiB,OAAOkF,SAAQ,SAAS9C,GAC9C6F,EAAQzD,OAAO,WAAY,CAAEhC,IAAKJ,EAAOK,YAAaL,GACvD,KACO,KAIRmE,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe1B,IAClD,EAYA2G,gBAAAA,CAAiBxB,EAAOyB,GAA6B,IAA3B,OAAEvB,EAAM,MAAEC,EAAK,OAAEC,GAAQqB,EAElD,OADArB,EAA2B,iBAAXA,EAAsBA,EAAS,GACxCC,GAAQC,EAAAA,EAAAA,IAAe,oEAAqE,CAAEJ,SAAQC,QAAOC,YAClHa,MAAMvE,GACFnD,OAAO4H,KAAKzE,EAAS5F,KAAK6F,IAAI7F,KAAKgB,OAAOkC,OAAS,IACtDgG,EAAQzD,OAAO,cAAeG,EAAS5F,KAAK6F,IAAI7F,KAAKgB,QAC9C,KAIRwG,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe1B,IAClD,EAYA6G,iBAAAA,CAAkB1B,EAAO2B,GAA8B,IAA5B,QAAEC,EAAO,OAAE1B,EAAM,MAAEC,GAAOwB,EACpD,OAAOtB,GAAQC,EAAAA,EAAAA,IAAe,8DAA+D,CAAEuB,QAASf,mBAAmBc,GAAU1B,SAAQC,WAC3Ic,MAAMvE,GAAasD,EAAQzD,OAAO,mBAAoBG,EAAS5F,KAAK6F,IAAI7F,KAAKgB,SAC7EwG,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe1B,IAClD,EAEAwE,2BAA2BW,OACtB8B,EAAAA,EAAAA,KAAkBC,mBAAmBD,EAAAA,EAAAA,KAAkBC,gBAAgBC,aAC1EhC,EAAQzD,OAAO,8BAA8BuF,EAAAA,EAAAA,KAAkBC,gBAAgBC,YACxEF,EAAAA,EAAAA,KAAkBC,gBAAgBC,WAY3C3H,SAAQA,CAAC2F,EAASzF,IACV8F,IAAmBY,MAAMvE,GACxB2D,GAASC,EAAAA,EAAAA,IAAe,gBAAiB,CAAEsB,QAASrH,IACzD0G,MAAMvE,IACNsD,EAAQzD,OAAO,WAAY,CAAEhC,MAAKC,YAAaD,IACxC,CAAEA,MAAKC,YAAaD,MAE3B+D,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,IAIT,MAHAmF,EAAQzD,OAAO,cAAe,CAAEhC,MAAKM,UAG/BA,CAAK,IAYbC,WAAAA,CAAYkF,EAAOiC,GAA4B,IAA1B,QAAEL,EAAO,YAAEpH,GAAayH,EAC5C,OAAO5B,IAAmBY,MAAMvE,GACxB2D,GAAQC,EAAAA,EAAAA,IAAe,yBAA0B,CAAEuB,QAASf,mBAAmBc,KAAa,CAAErE,IAAK,cAAeC,MAAOhD,IAC9HyG,MAAMvE,IACNsD,EAAQzD,OAAO,cAAe,CAAEhC,IAAKqH,EAASpH,gBACvC,CAAEoH,UAASpH,kBAElB8D,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,IAIT,MAHAmF,EAAQzD,OAAO,cAAe,CAAEqF,UAAS/G,UAGnCA,CAAK,GAEb,EASAQ,YAAWA,CAAC2E,EAASzF,IACb8F,IAAmBY,MAAMvE,GACxB2D,GAAWC,EAAAA,EAAAA,IAAe,yBAA0B,CAAEuB,QAASf,mBAAmBvG,MACvF0G,MAAMvE,GAAasD,EAAQzD,OAAO,cAAehC,KACjD+D,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEhC,MAAKM,YAY1DS,YAAAA,CAAa0E,EAAOkC,GAAmB,IAAjB,OAAE1G,EAAM,IAAEjB,GAAK2H,EACpC,OAAO7B,IAAmBY,MAAMvE,GACxB2D,GAASC,EAAAA,EAAAA,IAAe,8BAA+B,CAAE9E,WAAW,CAAEoG,QAASrH,IACpF0G,MAAMvE,GAAasD,EAAQzD,OAAO,eAAgB,CAAEf,SAAQjB,UAC5D+D,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEf,SAAQX,WAC7D,EAWAe,eAAAA,CAAgBoE,EAAOmC,GAAmB,IAAjB,OAAE3G,EAAM,IAAEjB,GAAK4H,EACvC,OAAO9B,IAAmBY,MAAMvE,GACxB2D,GAAWC,EAAAA,EAAAA,IAAe,8BAA+B,CAAE9E,WAAW,CAAEoG,QAASrH,IACtF0G,MAAMvE,GAAasD,EAAQzD,OAAO,kBAAmB,CAAEf,SAAQjB,UAC/D+D,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,IAIT,MAHAmF,EAAQzD,OAAO,cAAe,CAAEf,SAAQX,UAGlCA,CAAK,GAEb,EAWAkB,eAAAA,CAAgBiE,EAAOoC,GAAmB,IAAjB,OAAE5G,EAAM,IAAEjB,GAAK6H,EACvC,OAAO/B,IAAmBY,MAAMvE,GACxB2D,GAASC,EAAAA,EAAAA,IAAe,iCAAkC,CAAE9E,WAAW,CAAEoG,QAASrH,IACvF0G,MAAMvE,GAAasD,EAAQzD,OAAO,kBAAmB,CAAEf,SAAQjB,UAC/D+D,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEf,SAAQX,WAC7D,EAWAqB,kBAAAA,CAAmB8D,EAAOqC,GAAmB,IAAjB,OAAE7G,EAAM,IAAEjB,GAAK8H,EAC1C,OAAOhC,IAAmBY,MAAMvE,GACxB2D,GAAWC,EAAAA,EAAAA,IAAe,iCAAkC,CAAE9E,WAAW,CAAEoG,QAASrH,IACzF0G,MAAMvE,GAAasD,EAAQzD,OAAO,qBAAsB,CAAEf,SAAQjB,UAClE+D,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEf,SAAQX,WAC7D,EASAyH,gBAAeA,CAACtC,EAASxE,IACjB6E,IAAmBY,MAAMvE,GACxB2D,GAASC,EAAAA,EAAAA,IAAe,4BAA6B,CAAE9E,YAC5D8C,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEf,SAAQX,YAU7DuB,WAAUA,CAAC4D,EAASxE,IACZ6E,IAAmBY,MAAMvE,GACxB2D,GAAWC,EAAAA,EAAAA,IAAe,uBAAwB,CAAE9E,YACzDyF,MAAMvE,GAAasD,EAAQzD,OAAO,aAAcf,KAChD8C,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEf,SAAQX,YAqB7D0H,OAAAA,CAAOC,EAAAC,GAA6G,IAA5G,OAAElG,EAAM,SAAEmG,GAAUF,GAAE,OAAEhH,EAAM,SAAEmH,EAAQ,YAAEnI,EAAW,MAAEoI,EAAK,OAAE7K,EAAM,SAAEkE,EAAQ,MAAE4G,EAAK,SAAEC,EAAQ,QAAEC,GAASN,EACjH,OAAOpC,IAAmBY,MAAMvE,GACxB2D,GAASC,EAAAA,EAAAA,IAAe,eAAgB,CAAE9E,SAAQmH,WAAUnI,cAAaoI,QAAO7K,SAAQkE,WAAU4G,QAAOC,WAAUC,YACxH9B,MAAMvE,GAAagG,EAAS,cAAelH,GAAUkB,EAAS5F,KAAK6F,IAAI7F,KAAKS,MAC5E+G,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,IAET,MADA0B,EAAO,cAAe,CAAEf,SAAQX,UAC1BA,CAAK,GAEb,EASA4B,YAAWA,CAACuD,EAASxE,IACb6E,IAAmBY,MAAMvE,GACxB2D,GAAQC,EAAAA,EAAAA,IAAe,uBAAwB,CAAE9E,YACtDyF,MAAMvE,GAAasD,EAAQzD,OAAO,cAAeG,KACjD4B,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEf,SAAQX,YAY7D+B,iBAAAA,CAAkBoD,EAAOgD,GAA8B,IAA5B,OAAExH,EAAM,QAAEE,GAAU,GAAMsH,EACpD,MAAMC,EAAavH,EAAU,SAAW,UACxC,OAAO2E,IAAmBY,MAAMvE,GACxB2D,GAAQC,EAAAA,EAAAA,IAAe,oCAAqC,CAAE9E,SAAQyH,gBAC3EhC,MAAMvE,GAAasD,EAAQzD,OAAO,oBAAqB,CAAEf,SAAQE,cACjE4C,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEf,SAAQX,WAC7D,EAYAwC,WAAAA,CAAY2C,EAAOkD,GAA0B,IAAxB,OAAE1H,EAAM,IAAE+B,EAAG,MAAEC,GAAO0F,EAC1C,MAAMC,EAAe,CAAC,QAAS,cAAe,WAC9C,OAA2F,IAAvF,CAAC,QAAS,WAAY,QAAS,cAAe,WAAY,WAAWrH,QAAQyB,IAE3D,iBAAVC,KAEuB,IAA/B2F,EAAarH,QAAQyB,IAAeC,EAAMxD,OAAS,IAClB,IAA/BmJ,EAAarH,QAAQyB,IAGlB8C,IAAmBY,MAAMvE,GACxB2D,GAAQC,EAAAA,EAAAA,IAAe,uBAAwB,CAAE9E,WAAW,CAAE+B,MAAKC,UACxEyD,MAAMvE,GAAasD,EAAQzD,OAAO,cAAe,CAAEf,SAAQ+B,MAAKC,YAChEc,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEf,SAAQX,YAGvDuI,QAAQC,OAAO,IAAIC,MAAM,wBACjC,EASAC,gBAAeA,CAACvD,EAASxE,IACjB6E,IAAmBY,MAAMvE,GACxB2D,GAASC,EAAAA,EAAAA,IAAe,+BAAgC,CAAE9E,YAC/DyF,MAAKvE,IAAY,IACjB4B,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEf,SAAQX,wCC7tB9D,MASM7B,EAAY,CAEjBwK,gBAAAA,CAAiB3L,EAAOgD,IACvB0D,EAAAA,EAAAA,IAAUC,EAAE,WAAY,4DAA8D,OAAS3D,EAAMA,MAAM6B,SAAS5F,KAAKA,KAAK2M,QAAS,CAAEC,QAAQ,IACjJ9I,EAAQC,MAAMhD,EAAOgD,EACtB,EAEA8I,cAAAA,CAAe9L,EAAKwB,GAA+B,IAA7B,WAAEuK,EAAU,YAAEC,GAAaxK,EAChDxB,EAAM+L,WAAaA,EACnB/L,EAAMgM,YAAcA,CACrB,EAEAC,gBAAAA,CAAiBjM,EAAOkM,GACvBlM,EAAMmM,yBAA2BD,CAClC,EAEAE,cAAAA,CAAepM,EAAOgM,GACrBhM,EAAMgM,YAAcA,CACrB,EAEAK,WAAAA,CAAYrM,EAAOsM,GAClBtM,EAAM+L,WAAWjI,KAAKwI,EACvB,EAEAC,gBAAAA,CAAiBvM,EAAOwM,GAEvBxM,EAAM+L,WAAaS,CACpB,EAEAC,UAAAA,CAAWzM,EAAO0M,GACjB1M,EAAM0M,KAAOA,CACd,EAEAC,QAAAA,CAAS3M,EAAK6B,GAAoB,IAAlB,MAAE+K,EAAK,MAAE5J,GAAOnB,EAC1BgL,MAAMC,QAAQF,KAClBA,EAAQ,CAACA,IAEVA,EAAMxH,SAAS2H,IACF/M,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOqN,IAC1C/J,MAAQA,CAAK,GAEnB,EAEAiK,UAAAA,CAAWjN,EAAKqC,GAAoB,IAAlB,MAAEuK,EAAK,MAAE5J,GAAOX,EACrBrC,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IAC1C5J,MAAQ,IACb,EAEAkK,SAAAA,CAAUlN,EAAKyC,GAAqB,IAAnB,MAAEmK,EAAK,OAAE1M,GAAQuC,EACjC,MAAMuK,EAAMhN,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IAC9CI,EAAIG,QAAS,EACbH,EAAI9M,OAASA,CACd,EAEAkN,eAAAA,CAAgBpN,EAAKkD,GAAyB,IAAvB,MAAE0J,EAAK,WAAES,GAAYnK,EAC3C,MAAM8J,EAAMhN,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IAC1CI,IACHA,EAAIK,YAA4B,IAAfA,EAEnB,EAEAC,UAAAA,CAAWtN,EAAO4M,GACjB,MAAMI,EAAMhN,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IAC9CI,EAAIG,QAAS,EACbH,EAAI9M,OAAS,GACT8M,EAAIO,YACPP,EAAIQ,cAAe,EAErB,EAEAC,YAAAA,CAAazN,EAAO4M,GACnB5M,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IAAOO,QAAS,EAClDnN,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IAAO1M,OAAS,GAClDF,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IAAOc,eAAgB,EACzD1N,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IAAOe,WAAY,EACrD3N,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IAAOY,cAAe,EACxDxN,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IAAOS,YAAa,CACvD,EAEAO,SAAAA,CAAU5N,EAAO4M,GAChB,MAAMI,EAAMhN,EAAM0M,KAAK9J,MAAKoK,GAAOA,EAAItN,KAAOkN,IACxCiB,EAAUb,EAAIc,OACpBd,EAAIc,OAAS,KACbd,EAAIa,QAAUA,EACd7N,EAAMgM,aAEP,EAEA+B,SAAAA,CAAU/N,GACTA,EAAM0M,KAAO,EACd,EACAsB,KAAAA,CAAMhO,GACLA,EAAM0M,KAAO,GACb1M,EAAM+L,WAAa,GACnB/L,EAAMgM,YAAc,CACrB,EACAiC,YAAAA,CAAajO,EAAON,GACfmN,MAAMC,QAAQpN,GACjBA,EAAG0F,SAAS2H,IACXmB,EAAAA,GAAAA,IAAQlO,EAAMmO,QAASpB,GAAK,EAAK,IAGlCmB,EAAAA,GAAAA,IAAQlO,EAAMmO,QAASzO,GAAI,EAE7B,EACA0O,WAAAA,CAAYpO,EAAON,GACdmN,MAAMC,QAAQpN,GACjBA,EAAG0F,SAAS2H,IACXmB,EAAAA,GAAAA,IAAQlO,EAAMmO,QAASpB,GAAK,EAAM,IAGnCmB,EAAAA,GAAAA,IAAQlO,EAAMmO,QAASzO,GAAI,EAE7B,GA0BKuI,EAAU,CAEfiF,SAAAA,CAAU/E,EAAOzE,GAAqB,IACjCgJ,GADc,MAAEE,EAAK,OAAE1M,GAAQwD,EAOnC,OAJCgJ,EADGG,MAAMC,QAAQF,GACVA,EAEA,CAACA,GAEFpE,IAAmBY,MAAMvE,IAC/BsD,EAAQzD,OAAO,eAAgBgI,GAC/BvE,EAAQzD,OAAO,eAAgB,WACxB8D,GAASjC,EAAAA,EAAAA,IAAY,wBAAyB,CAAE8H,OAAQ3B,EAAMxM,WACnEkJ,MAAMvE,IACNsD,EAAQzD,OAAO,cAAegI,GAC9BvE,EAAQzD,OAAO,cAAe,WAC9BgI,EAAKtH,SAAQkJ,IACZnG,EAAQzD,OAAO,YAAa,CAAEkI,MAAO0B,EAAQpO,UAAS,IAIhDnB,EAAAA,EAAMF,KAAI0H,EAAAA,EAAAA,IAAY,gBAC3B6C,MAAK,KACDvE,EAAS5F,KAAKsP,mBACjBC,EAAAA,EAAAA,IACC7H,EACC,WACA,6GAED,CACC8H,QAASA,IAAMC,OAAOC,SAASC,SAC/BC,OAAO,IAITC,YAAW,WACVH,SAASC,QACV,GAAG,KACJ,IAEAnI,OAAM,KACDoG,MAAMC,QAAQF,MAClBlG,EAAAA,EAAAA,IAAUC,EAAE,WAAY,2EACxBwB,EAAQzD,OAAO,WAAY,CAC1BkI,MAAOF,EACP1J,MAAO2D,EAAE,WAAY,4EAEtBwB,EAAQ0C,SAAS,aAAc,CAAE+B,UAClC,OAGFnG,OAAOzD,IACPmF,EAAQzD,OAAO,cAAegI,GAC9BvE,EAAQzD,OAAO,cAAe,WAC9ByD,EAAQzD,OAAO,WAAY,CAC1BkI,MAAOF,EACP1J,MAAOA,EAAM6B,SAAS5F,KAAKA,KAAK2M,UAEjCzD,EAAQzD,OAAO,mBAAoB,CAAEkI,QAAO5J,SAAQ,OAEpDyD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEkI,QAAO5J,WAC5D,EACA+L,cAAAA,CAAe5G,EAAOnE,GAAqB,IACtC0I,GADmB,MAAEE,EAAK,OAAE1M,GAAQ8D,EAOxC,OAJC0I,EADGG,MAAMC,QAAQF,GACVA,EAEA,CAACA,GAEFpE,IAAmBY,MAAK,KAC9BjB,EAAQzD,OAAO,eAAgBgI,GAC/BvE,EAAQzD,OAAO,eAAgB,WACxB8D,GAASjC,EAAAA,EAAAA,IAAY,uBAAwB,CAAEqG,UACpDxD,MAAMvE,IACNsD,EAAQzD,OAAO,kBAAmB,CAAEkI,QAAOS,YAAY,GAAO,IAE9D5G,OAAOzD,IACPmF,EAAQzD,OAAO,cAAegI,GAC9BvE,EAAQzD,OAAO,cAAe,WAC9ByD,EAAQzD,OAAO,WAAY,CAC1BkI,MAAOF,EACP1J,MAAOA,EAAM6B,SAAS5F,KAAKA,KAAK2M,UAEjCzD,EAAQzD,OAAO,mBAAoB,CAAEkI,QAAO5J,SAAQ,IAEpDgM,SAAQ,KACR7G,EAAQzD,OAAO,cAAegI,GAC9BvE,EAAQzD,OAAO,cAAe,UAAU,OAExC+B,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEkI,QAAO5J,WAC5D,EACAsK,UAAAA,CAAWnF,EAAOhE,GAAa,IAC1BuI,GADe,MAAEE,GAAOzI,EAO5B,OAJCuI,EADGG,MAAMC,QAAQF,GACVA,EAEA,CAACA,GAEFpE,IAAmBY,MAAMvE,IAC/BsD,EAAQzD,OAAO,eAAgBgI,GACxBlE,GAASjC,EAAAA,EAAAA,IAAY,yBAA0B,CAAE8H,OAAQ3B,IAC9DtD,MAAMvE,IACNsD,EAAQzD,OAAO,cAAegI,GAC9BA,EAAKtH,SAAQkJ,IACZnG,EAAQzD,OAAO,aAAc4J,EAAO,KAE9B,KAEP7H,OAAOzD,IACPmF,EAAQzD,OAAO,cAAegI,GAC9BvE,EAAQzD,OAAO,mBAAoB,CAAEkI,QAAO5J,SAAQ,OAEpDyD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEkI,QAAO5J,WAC5D,EACAyK,YAAAA,CAAatF,EAAO7D,GAAa,IAAX,MAAEsI,GAAOtI,EAC9B,OAAOkE,IAAmBY,MAAMvE,IAC/BsD,EAAQzD,OAAO,eAAgBkI,GACxBpE,GAAQjC,EAAAA,EAAAA,IAAY,2BAADxE,OAA4B6K,KACpDxD,MAAMvE,IACNsD,EAAQzD,OAAO,cAAekI,GAC9BzE,EAAQzD,OAAO,eAAgBkI,IACxB,KAEPnG,OAAOzD,IACPmF,EAAQzD,OAAO,cAAekI,GAC9BzE,EAAQzD,OAAO,mBAAoB,CAAEkI,QAAO5J,SAAQ,OAEpDyD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEkI,QAAO5J,WAC5D,EAEA4K,SAAAA,CAAUzF,EAAOnD,GAAa,IAAX,MAAE4H,GAAO5H,EAC3B,OAAOwD,IAAmBY,MAAMvE,IAC/BsD,EAAQzD,OAAO,eAAgBkI,GAC/BzE,EAAQzD,OAAO,eAAgB,WACxB8D,GAAQjC,EAAAA,EAAAA,IAAY,wBAADxE,OAAyB6K,KACjDxD,MAAMvE,IACNsD,EAAQzD,OAAO,cAAe,WAC9ByD,EAAQzD,OAAO,cAAekI,GAC9BzE,EAAQzD,OAAO,YAAakI,IACrB,KAEPnG,OAAOzD,IACPmF,EAAQzD,OAAO,cAAekI,GAC9BzE,EAAQzD,OAAO,cAAe,WAC9ByD,EAAQzD,OAAO,mBAAoB,CAAEkI,QAAO5J,SAAQ,OAEpDyD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEkI,QAAO5J,WAC5D,EAEAiM,WAAW9G,IACVA,EAAQzD,OAAO,eAAgB,QACxB8D,GAAQjC,EAAAA,EAAAA,IAAY,uBACzB6C,MAAMvE,IACNsD,EAAQzD,OAAO,aAAcG,EAAS5F,KAAKyN,MAC3CvE,EAAQzD,OAAO,cAAe,SACvB,KAEP+B,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe1B,MAGlD,mBAAMkM,CAAc/G,GAAmD,IAA1C,wBAAEgH,GAA0B,GAAOC,UAAAjN,OAAA,QAAAkN,IAAAD,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnE,GAAID,IAA4BhH,EAAQnI,MAAMmM,yBAA0B,CACvEhE,EAAQzD,OAAO,eAAgB,cAC/B,IACC,MAAMwH,EAAoB1D,GAAQjC,EAAAA,EAAAA,IAAY,6BAC9C4B,EAAQzD,OAAO,mBAAoBwH,GACnC,MAAMoD,QAAkCpD,EACxC,OAAIoD,EAA0BrQ,KAAKkD,OAAS,GAC3CgG,EAAQzD,OAAO,mBAAoB4K,EAA0BrQ,MAC7DkJ,EAAQzD,OAAO,cAAe,eACvB,IAERyD,EAAQzD,OAAO,cAAe,eACvB,EACR,CAAE,MAAO1B,GACRmF,EAAQzD,OAAO,cAAe1B,EAC/B,CACD,CACA,OAAOmF,EAAQnI,MAAMmM,wBACtB,GAID,GAAiBnM,MA3UH,CACb0M,KAAM,GACN6C,SAASC,EAAAA,EAAAA,GAAU,WAAY,kBAAmB,IAClDzD,WAAY,GACZC,aAAawD,EAAAA,EAAAA,GAAU,WAAY,sBAAuB,GAC1DrB,QAAS,CAAC,EACVhC,yBAA0B,MAqUHhL,UAAS,EAAEyF,QA9MnB,CACfuH,QAAQnO,GACA,SAASN,GACf,OAAOM,EAAMmO,QAAQzO,EACtB,EAEDwP,cAAclP,GACNA,EAAM+L,WAEdkD,WAAWjP,GACHA,EAAM0M,KAEd+C,cAAczP,GACNA,EAAMuP,QAEdG,eAAe1P,GACPA,EAAMgM,YAEd2D,gBAAkB3P,GAAW4P,GACrB5P,EAAM+L,WAAWnJ,MAAM0J,GAAaA,EAAS5M,KAAOkQ,KA2LjB3H,QAAOA,GC/U7C9G,EAAY,CACjB0O,aAAAA,CAAc7P,EAAOf,GACpBe,EAAM8P,WAAa7Q,CACpB,GASD,GAAiBe,MAfH,CACb8P,YAAYN,EAAAA,EAAAA,GAAU,WAAY,gBAAiB,CAAC,IAc7BrO,UAAS,EAAEyF,QAPnB,CACfmJ,cAAc/P,GACNA,EAAM8P,YAK6B7H,QAF5B,CAAC,GCWjB,GAAiBjI,MAtBH,CAAC,EAsBSmB,UArBN,CAAC,EAqBgByF,QApBnB,CAAC,EAoB2BqB,QAnB5B,CAWf+H,YAAAA,CAAa7H,EAAO3G,GAAuB,IAArB,IAAEwL,EAAG,IAAEtH,EAAG,MAAEC,GAAOnE,EACxC,OAAOgH,IAAmBY,MAAMvE,GACxB2D,GAASC,EAAAA,EAAAA,IAAe,uDAAwD,CAAEuE,MAAKtH,QAAQ,CAAEC,UACtGc,OAAOzD,IAAY,MAAMA,CAAK,MAC9ByD,OAAOzD,GAAUmF,EAAQzD,OAAO,cAAe,CAAEsI,MAAKtH,MAAKC,QAAO3C,WACtE,mBCdDkL,EAAAA,GAAI+B,IAAIC,EAAAA,IAER,MAEM/O,EAAY,CACjBgP,WAAAA,CAAYnQ,EAAOgD,GAClB,IACC,MAAM4I,EAAU5I,EAAMA,MAAM6B,SAAS5F,KAAK6F,IAAIsL,KAAKxE,SACnDlF,EAAAA,EAAAA,IAAUC,EAAE,WAAY,4DAA8D,OAASiF,EAAS,CAAEC,QAAQ,GACnH,CAAE,MAAO/I,IACR4D,EAAAA,EAAAA,IAAUC,EAAE,WAAY,4DACzB,CACA5D,EAAQC,MAAMhD,EAAOgD,EACtB,GAGD,IAAIqN,EAAQ,KAEL,MAAMC,EAAWA,KACT,OAAVD,IACHA,EAAQ,IAAIE,EAAAA,GAAM,CACjBC,QAAS,CACRvQ,MAAK,EACLyM,KAAI,EACJ+D,SAAQ,EACRC,GAAEA,GAEHC,QAzBWC,EA0BXzP,UAASA,KAGJkP,iCCtCD,IAAIjQ,mBACX,SAAWA,GACPA,EAAaA,EAAwB,UAAI,GAAK,YAC9CA,EAAaA,EAAwB,UAAI,GAAK,WACjD,CAHD,CAGGA,IAAiBA,EAAe,CAAC,mDCNpC,SAAeyQ,WAAAA,MACVC,OAAO,YACPC,aACAvR,iGCvBL,MCFsQ,GDEzOwR,EAAAA,EAAAA,IAAiB,CAC1CC,OAAQ,cACRC,MAAMC,IACK,CAAEC,OAAO,EAAMC,UAASA,EAAAA,MEavC,GAXgB,cACd,GFRW,WAAkB,IAAIC,EAAI7M,KAAK8M,EAAGD,EAAIE,MAAMD,GAAgC,OAAOA,EAA7BD,EAAIE,MAAMC,YAA6BJ,UAAU,CAACK,MAAM,CAAC,WAAW,aAAa,CAACH,EAAG,cAAc,CAACG,MAAM,CAAC,KAAO,gBAAgBJ,EAAIK,GAAG,KAAKJ,EAAG,eAAeD,EAAIK,GAAG,KAAKJ,EAAG,cAAc,CAACG,MAAM,CAAC,KAAO,cAAc,EAC7R,GACsB,IESpB,EACA,KACA,KACA,MAI8B,kCCjBhC,MAkDA,EA7Ce,CACX,CACI/R,KAAM,QACNiS,KAAM,qCACNC,WAAY,CACRC,QAPWC,IAAM,mEAQjBC,WAPqBC,IAAM,oEAS/BC,OAAO,EACPC,SAAU,CACN,CACIP,KAAM,iBACNjS,KAAM,WAIlB,CACIiS,KAAM,oCACNjS,KAAM,OAENyS,SAAU,CACNzS,KAAM,gBACNP,OAAQ,CACJkN,SAAU,aAGlBuF,WAAY,CACRC,QAhCKO,IAAM,kEAiCXL,WAhCeM,IAAM,mEAiCrBC,QAhCYC,IAAM,oEAkCtBL,SAAU,CACN,CACIP,KAAM,YACNjS,KAAM,gBACNwS,SAAU,CACN,CACIP,KAAM,MACNjS,KAAM,qBChB9BuO,EAAAA,GAAI+B,IAAIwC,EAAAA,IACR,MAQA,EARe,IAAIA,EAAAA,GAAO,CACtBC,KAAM,UAGNC,MAAMpM,EAAAA,EAAAA,IAAY,IAClBqM,gBAAiB,SACjBC,OAAMA,2CCHV3E,EAAAA,GAAI+B,IAAI6C,EAAAA,GAAU,CAAEC,aAAa,IACjC,MAAM1C,GAAQC,EAAAA,EAAAA,MACd0C,EAAAA,EAAAA,GAAK3C,EAAO4C,GAGZC,EAAAA,GAAoBC,KAAsB,QAAlBC,GAACC,EAAAA,EAAAA,aAAiB,IAAAD,EAAAA,EAAI,IAE9ClF,EAAAA,GAAIoF,UAAU3M,EAAIA,EAAAA,GAClBuH,EAAAA,GAAIoF,UAAUC,EAAIA,EAAAA,GAClBrF,EAAAA,GAAI+B,IAAIuD,EAAAA,IACR,MAAMC,GAAQC,EAAAA,EAAAA,MACd,IAAmBxF,EAAAA,GAAI,CACnB+E,OAAM,EACN5C,MAAK,EACLoD,MAAK,EACLE,OAAQC,GAAKA,EAAEC,GACfC,GAAI,4BCWR,SAASC,EAAYC,EAAIC,GACvB,IAAIC,EAAQ,CACVvU,KAAMqU,EAAGrU,KACTiS,KAAMoC,EAAGpC,KACTuC,KAAMH,EAAGG,KACTC,MAAOJ,EAAGI,MACVhV,OAAQ4U,EAAG5U,OACXiV,SAAUL,EAAGK,SACbjE,KAAM4D,EAAG5D,MAKX,OAHI6D,IACFC,EAAMD,KAAOF,EAAWE,IAEnBvS,OAAO4S,OAAOJ,EACvB,CAzEAK,EAAQ,EAAO,SAAUlE,EAAO4C,EAAQnU,GACtC,IAAI0V,GAAc1V,GAAW,CAAC,GAAG0V,YAAc,QAE/CnE,EAAMoE,eAAeD,EAAY,CAC/BE,YAAY,EACZ1U,MAAO+T,EAAWd,EAAO0B,cACzBxT,UAAW,CACT,cAAiB,SAAwBnB,EAAO4U,GAC9CvE,EAAMrQ,MAAMwU,GAAcT,EAAWa,EAAWZ,GAAIY,EAAWX,KACjE,KAIJ,IACIY,EADAC,GAAkB,EAIlBC,EAAe1E,EAAM2E,OACvB,SAAUhV,GAAS,OAAOA,EAAMwU,EAAa,IAC7C,SAAUS,GACR,IAAIZ,EAAWY,EAAMZ,SACjBA,IAAaQ,IAGE,MAAfA,IACFC,GAAkB,EAClB7B,EAAOnP,KAAKmR,IAEdJ,EAAcR,EAChB,GACA,CAAErB,MAAM,IAINkC,EAAkBjC,EAAOkC,WAAU,SAAUnB,EAAIC,GAC/Ca,EACFA,GAAkB,GAGpBD,EAAcb,EAAGK,SACjBhE,EAAM3L,OAAO8P,EAAa,iBAAkB,CAAER,GAAIA,EAAIC,KAAMA,IAC9D,IAEA,OAAO,WAEkB,MAAnBiB,GACFA,IAIkB,MAAhBH,GACFA,IAIF1E,EAAM+E,iBAAiBZ,EACzB,CACF,ICxDIa,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBlG,IAAjBmG,EACH,OAAOA,EAAajB,QAGrB,IAAIkB,EAASJ,EAAyBE,GAAY,CACjD7V,GAAI6V,EACJG,QAAQ,EACRnB,QAAS,CAAC,GAUX,OANAoB,EAAoBJ,GAAUK,KAAKH,EAAOlB,QAASkB,EAAQA,EAAOlB,QAASe,GAG3EG,EAAOC,QAAS,EAGTD,EAAOlB,OACf,CAGAe,EAAoBO,EAAIF,EjB5BpBtX,EAAW,GACfiX,EAAoBQ,EAAI,CAACC,EAAQC,EAAUC,EAAIC,KAC9C,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASC,EAAI,EAAGA,EAAIhY,EAAS8D,OAAQkU,IAAK,CACrCL,EAAW3X,EAASgY,GAAG,GACvBJ,EAAK5X,EAASgY,GAAG,GACjBH,EAAW7X,EAASgY,GAAG,GAE3B,IAJA,IAGIC,GAAY,EACPC,EAAI,EAAGA,EAAIP,EAAS7T,OAAQoU,MACpB,EAAXL,GAAsBC,GAAgBD,IAAaxU,OAAO4H,KAAKgM,EAAoBQ,GAAGU,OAAO9Q,GAAS4P,EAAoBQ,EAAEpQ,GAAKsQ,EAASO,MAC9IP,EAASzS,OAAOgT,IAAK,IAErBD,GAAY,EACTJ,EAAWC,IAAcA,EAAeD,IAG7C,GAAGI,EAAW,CACbjY,EAASkF,OAAO8S,IAAK,GACrB,IAAII,EAAIR,SACE5G,IAANoH,IAAiBV,EAASU,EAC/B,CACD,CACA,OAAOV,CArBP,CAJCG,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAIhY,EAAS8D,OAAQkU,EAAI,GAAKhY,EAASgY,EAAI,GAAG,GAAKH,EAAUG,IAAKhY,EAASgY,GAAKhY,EAASgY,EAAI,GACrGhY,EAASgY,GAAK,CAACL,EAAUC,EAAIC,EAuBjB,EkB3BdZ,EAAoB/B,EAAKkC,IACxB,IAAIiB,EAASjB,GAAUA,EAAOkB,WAC7B,IAAOlB,EAAiB,QACxB,IAAM,EAEP,OADAH,EAAoBsB,EAAEF,EAAQ,CAAExP,EAAGwP,IAC5BA,CAAM,ECLdpB,EAAoBsB,EAAI,CAACrC,EAASsC,KACjC,IAAI,IAAInR,KAAOmR,EACXvB,EAAoBwB,EAAED,EAAYnR,KAAS4P,EAAoBwB,EAAEvC,EAAS7O,IAC5EhE,OAAOqV,eAAexC,EAAS7O,EAAK,CAAEsR,YAAY,EAAMnY,IAAKgY,EAAWnR,IAE1E,ECND4P,EAAoB2B,EAAI,CAAC,EAGzB3B,EAAoBxS,EAAKoU,GACjB3L,QAAQ4L,IAAIzV,OAAO4H,KAAKgM,EAAoB2B,GAAGG,QAAO,CAACC,EAAU3R,KACvE4P,EAAoB2B,EAAEvR,GAAKwR,EAASG,GAC7BA,IACL,KCNJ/B,EAAoBgC,EAAKJ,KAEX,CAAC,KAAO,iBAAiB,KAAO,sBAAsBA,IAAYA,GAAW,IAAMA,EAAU,SAAW,CAAC,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,wBAAwBA,ICHxW5B,EAAoBiC,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAO/S,MAAQ,IAAIgT,SAAS,cAAb,EAChB,CAAE,MAAO3U,GACR,GAAsB,iBAAX4L,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxB4G,EAAoBwB,EAAI,CAACY,EAAKC,IAAUjW,OAAO4R,UAAUsE,eAAehC,KAAK8B,EAAKC,GtBA9ErZ,EAAa,CAAC,EACdC,EAAoB,aAExB+W,EAAoBuC,EAAI,CAACpZ,EAAKqZ,EAAMpS,EAAKwR,KACxC,GAAG5Y,EAAWG,GAAQH,EAAWG,GAAKqF,KAAKgU,OAA3C,CACA,IAAIC,EAAQC,EACZ,QAAW3I,IAAR3J,EAEF,IADA,IAAIuS,EAAUC,SAASC,qBAAqB,UACpC9B,EAAI,EAAGA,EAAI4B,EAAQ9V,OAAQkU,IAAK,CACvC,IAAI+B,EAAIH,EAAQ5B,GAChB,GAAG+B,EAAEC,aAAa,QAAU5Z,GAAO2Z,EAAEC,aAAa,iBAAmB9Z,EAAoBmH,EAAK,CAAEqS,EAASK,EAAG,KAAO,CACpH,CAEGL,IACHC,GAAa,GACbD,EAASG,SAASI,cAAc,WAEzBC,QAAU,QACjBR,EAAOS,QAAU,IACblD,EAAoBmD,IACvBV,EAAOW,aAAa,QAASpD,EAAoBmD,IAElDV,EAAOW,aAAa,eAAgBna,EAAoBmH,GAExDqS,EAAOY,IAAMla,GAEdH,EAAWG,GAAO,CAACqZ,GACnB,IAAIc,EAAmB,CAACC,EAAMC,KAE7Bf,EAAOgB,QAAUhB,EAAOiB,OAAS,KACjCC,aAAaT,GACb,IAAIU,EAAU5a,EAAWG,GAIzB,UAHOH,EAAWG,GAClBsZ,EAAOoB,YAAcpB,EAAOoB,WAAWC,YAAYrB,GACnDmB,GAAWA,EAAQ9T,SAAS6Q,GAAQA,EAAG6C,KACpCD,EAAM,OAAOA,EAAKC,EAAM,EAExBN,EAAU1J,WAAW8J,EAAiBS,KAAK,UAAMhK,EAAW,CAAEiK,KAAM,UAAWC,OAAQxB,IAAW,MACtGA,EAAOgB,QAAUH,EAAiBS,KAAK,KAAMtB,EAAOgB,SACpDhB,EAAOiB,OAASJ,EAAiBS,KAAK,KAAMtB,EAAOiB,QACnDhB,GAAcE,SAASsB,KAAKC,YAAY1B,EApCkB,CAoCX,EuBvChDzC,EAAoBmB,EAAKlC,IACH,oBAAXmF,QAA0BA,OAAOC,aAC1CjY,OAAOqV,eAAexC,EAASmF,OAAOC,YAAa,CAAEhU,MAAO,WAE7DjE,OAAOqV,eAAexC,EAAS,aAAc,CAAE5O,OAAO,GAAO,ECL9D2P,EAAoBsE,IAAOnE,IAC1BA,EAAOoE,MAAQ,GACVpE,EAAOtD,WAAUsD,EAAOtD,SAAW,IACjCsD,GCHRH,EAAoBiB,EAAI,WCAxB,IAAIuD,EACAxE,EAAoBiC,EAAEwC,gBAAeD,EAAYxE,EAAoBiC,EAAE5I,SAAW,IACtF,IAAIuJ,EAAW5C,EAAoBiC,EAAEW,SACrC,IAAK4B,GAAa5B,IACbA,EAAS8B,gBACZF,EAAY5B,EAAS8B,cAAcrB,MAC/BmB,GAAW,CACf,IAAI7B,EAAUC,EAASC,qBAAqB,UAC5C,GAAGF,EAAQ9V,OAEV,IADA,IAAIkU,EAAI4B,EAAQ9V,OAAS,EAClBkU,GAAK,KAAOyD,IAAc,aAAaG,KAAKH,KAAaA,EAAY7B,EAAQ5B,KAAKsC,GAE3F,CAID,IAAKmB,EAAW,MAAM,IAAIrO,MAAM,yDAChCqO,EAAYA,EAAUpb,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KACpF4W,EAAoB4E,EAAIJ,YClBxBxE,EAAoBnO,EAAI+Q,SAASiC,SAAWC,KAAKzL,SAAS0L,KAK1D,IAAIC,EAAkB,CACrB,KAAM,GAGPhF,EAAoB2B,EAAEV,EAAI,CAACW,EAASG,KAElC,IAAIkD,EAAqBjF,EAAoBwB,EAAEwD,EAAiBpD,GAAWoD,EAAgBpD,QAAW7H,EACtG,GAA0B,IAAvBkL,EAGF,GAAGA,EACFlD,EAASvT,KAAKyW,EAAmB,QAC3B,CAGL,IAAIC,EAAU,IAAIjP,SAAQ,CAACkP,EAASjP,IAAY+O,EAAqBD,EAAgBpD,GAAW,CAACuD,EAASjP,KAC1G6L,EAASvT,KAAKyW,EAAmB,GAAKC,GAGtC,IAAI/b,EAAM6W,EAAoB4E,EAAI5E,EAAoBgC,EAAEJ,GAEpDlU,EAAQ,IAAIyI,MAgBhB6J,EAAoBuC,EAAEpZ,GAfFqa,IACnB,GAAGxD,EAAoBwB,EAAEwD,EAAiBpD,KAEf,KAD1BqD,EAAqBD,EAAgBpD,MACRoD,EAAgBpD,QAAW7H,GACrDkL,GAAoB,CACtB,IAAIG,EAAY5B,IAAyB,SAAfA,EAAMQ,KAAkB,UAAYR,EAAMQ,MAChEqB,EAAU7B,GAASA,EAAMS,QAAUT,EAAMS,OAAOZ,IACpD3V,EAAM4I,QAAU,iBAAmBsL,EAAU,cAAgBwD,EAAY,KAAOC,EAAU,IAC1F3X,EAAMrD,KAAO,iBACbqD,EAAMsW,KAAOoB,EACb1X,EAAM4X,QAAUD,EAChBJ,EAAmB,GAAGvX,EACvB,CACD,GAEwC,SAAWkU,EAASA,EAE/D,CACD,EAWF5B,EAAoBQ,EAAES,EAAKW,GAA0C,IAA7BoD,EAAgBpD,GAGxD,IAAI2D,EAAuB,CAACC,EAA4B7b,KACvD,IAKIsW,EAAU2B,EALVlB,EAAW/W,EAAK,GAChB8b,EAAc9b,EAAK,GACnB+b,EAAU/b,EAAK,GAGIoX,EAAI,EAC3B,GAAGL,EAASiF,MAAMvb,GAAgC,IAAxB4a,EAAgB5a,KAAa,CACtD,IAAI6V,KAAYwF,EACZzF,EAAoBwB,EAAEiE,EAAaxF,KACrCD,EAAoBO,EAAEN,GAAYwF,EAAYxF,IAGhD,GAAGyF,EAAS,IAAIjF,EAASiF,EAAQ1F,EAClC,CAEA,IADGwF,GAA4BA,EAA2B7b,GACrDoX,EAAIL,EAAS7T,OAAQkU,IACzBa,EAAUlB,EAASK,GAChBf,EAAoBwB,EAAEwD,EAAiBpD,IAAYoD,EAAgBpD,IACrEoD,EAAgBpD,GAAS,KAE1BoD,EAAgBpD,GAAW,EAE5B,OAAO5B,EAAoBQ,EAAEC,EAAO,EAGjCmF,EAAqBd,KAA4B,sBAAIA,KAA4B,uBAAK,GAC1Fc,EAAmB9V,QAAQyV,EAAqBxB,KAAK,KAAM,IAC3D6B,EAAmBpX,KAAO+W,EAAqBxB,KAAK,KAAM6B,EAAmBpX,KAAKuV,KAAK6B,QCvFvF5F,EAAoBmD,QAAKpJ,ECGzB,IAAI8L,EAAsB7F,EAAoBQ,OAAEzG,EAAW,CAAC,OAAO,IAAOiG,EAAoB,SAC9F6F,EAAsB7F,EAAoBQ,EAAEqF","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/users-settings.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/apps/settings/src/constants/GroupManagement.ts","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/SettingsApp.vue?3a67","webpack:///nextcloud/apps/settings/src/router/routes.ts","webpack:///nextcloud/apps/settings/src/router/index.ts","webpack:///nextcloud/apps/settings/src/main-apps-users-management.ts","webpack:///nextcloud/node_modules/vuex-router-sync/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Sujith Haridasan \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Arthur Schiwon \n * @author Christoph Wurst \n * @author Daniel Calviño Sánchez \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Vincent Petry \n * @author Stephan Orbaugh \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { parseFileSize } from '@nextcloud/files'\nimport { showError } from '@nextcloud/dialogs'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\n\nimport { GroupSorting } from '../constants/GroupManagement.ts'\nimport api from './api.js'\nimport logger from '../logger.ts'\n\nconst localStorage = getBuilder('settings').persist(true).build()\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: GroupSorting.UserCount,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tdisabledUsersOffset: 0,\n\tdisabledUsersLimit: 25,\n\tuserCount: 0,\n\tshowConfig: {\n\t\tshowStoragePath: localStorage.getItem('account_settings__showStoragePath') === 'true',\n\t\tshowUserBackend: localStorage.getItem('account_settings__showUserBackend') === 'true',\n\t\tshowLastLogin: localStorage.getItem('account_settings__showLastLogin') === 'true',\n\t\tshowNewUserForm: localStorage.getItem('account_settings__showNewUserForm') === 'true',\n\t\tshowLanguages: localStorage.getItem('account_settings__showLanguages') === 'true',\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tupdateDisabledUsers(state, _usersObj) {\n\t\tstate.disabledUsersOffset += state.disabledUsersLimit\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\tinitGroups(state, { groups, orderBy, userCount }) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group))\n\t\tstate.orderBy = orderBy\n\t\tstate.userCount = userCount\n\t},\n\taddGroup(state, { gid, displayName }) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === gid) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t})\n\t\t\tstate.groups.unshift(group)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tstate.groups\n\t\t\t\t\t.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t .usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = parseFileSize(value, true)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t\tstate.disabledUsersOffset = 0\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tlocalStorage.setItem(`account_settings__${key}`, JSON.stringify(value))\n\t\tstate.showConfig[key] = value\n\t},\n\n\tsetGroupSorting(state, sorting) {\n\t\tconst oldValue = state.orderBy\n\t\tstate.orderBy = sorting\n\n\t\t// Persist the value on the server\n\t\taxios.post(\n\t\t\tgenerateUrl('/settings/users/preferences/group.sortBy'),\n\t\t\t{\n\t\t\t\tvalue: String(sorting),\n\t\t\t},\n\t\t).catch((error) => {\n\t\t\tstate.orderBy = oldValue\n\t\t\tshowError(t('settings', 'Could not set group sorting'))\n\t\t\tlogger.error(error)\n\t\t})\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled')\n\t},\n\tgetSortedGroups(state) {\n\t\tconst groups = [...state.groups]\n\t\tif (state.orderBy === GroupSorting.UserCount) {\n\t\t\treturn groups.sort((a, b) => {\n\t\t\t\tconst numA = a.usercount - a.disabled\n\t\t\t\tconst numB = b.usercount - b.disabled\n\t\t\t\treturn (numA < numB) ? 1 : (numB < numA ? -1 : a.name.localeCompare(b.name))\n\t\t\t})\n\t\t} else {\n\t\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name))\n\t\t}\n\t},\n\tgetGroupSorting(state) {\n\t\treturn state.orderBy\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetDisabledUsersOffset(state) {\n\t\treturn state.disabledUsersOffset\n\t},\n\tgetDisabledUsersLimit(state) {\n\t\treturn state.disabledUsersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\t/**\n\t * Get disabled users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @return {Promise}\n\t */\n\tasync getDisabledUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\tcontext.commit('updateDisabledUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { gid: group, displayName: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (getCapabilities().password_policy && getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', getCapabilities().password_policy.minLength)\n\t\t\treturn getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { gid, displayName: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\twipeUserDevices(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tif (['email', 'language', 'quota', 'displayname', 'password', 'manager'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string'\n\t\t\t\t&& (\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0)\n\t\t\t\t\t|| allowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => { throw error })\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'))\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tapps: [],\n\tbundles: loadState('settings', 'appstoreBundles', []),\n\tcategories: [],\n\tupdateCount: loadState('settings', 'appstoreUpdateCount', 0),\n\tloading: {},\n\tgettingCategoriesPromise: null,\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t},\n\n\tsetInstallState(state, { appId, canInstall }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tif (app) {\n\t\t\tapp.canInstall = canInstall === true\n\t\t}\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetAppBundles(state) {\n\t\treturn state.bundles\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn axios.get(generateUrl('apps/files/'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.',\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tshowError(t('settings', 'Error: This app cannot be enabled because it makes the server unstable'))\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tcontext.dispatch('disableApp', { appId })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('setInstallState', { appId, canInstall: true })\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tserverData: loadState('settings', 'usersSettings', {}),\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './users-settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nlet store = null\n\nexport const useStore = () => {\n\tif (store === null) {\n\t\tstore = new Store({\n\t\t\tmodules: {\n\t\t\t\tusers,\n\t\t\t\tapps,\n\t\t\t\tsettings,\n\t\t\t\toc,\n\t\t\t},\n\t\t\tstrict: debug,\n\t\t\tmutations,\n\t\t})\n\t}\n\treturn store\n}\n","/**\n * @copyright Copyright (c) 2024 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\nexport var GroupSorting;\n(function (GroupSorting) {\n GroupSorting[GroupSorting[\"UserCount\"] = 1] = \"UserCount\";\n GroupSorting[GroupSorting[\"GroupName\"] = 2] = \"GroupName\";\n})(GroupSorting || (GroupSorting = {}));\n","/**\n * @copyright 2020 Christoph Wurst \n *\n * @author Christoph Wurst \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('settings')\n .detectUser()\n .build();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcContent,{attrs:{\"app-name\":\"settings\"}},[_c('router-view',{attrs:{\"name\":\"navigation\"}}),_vm._v(\" \"),_c('router-view'),_vm._v(\" \"),_c('router-view',{attrs:{\"name\":\"sidebar\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SettingsApp.vue?vue&type=template&id=b0b62a76\"\nimport script from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Dynamic loading\nconst AppStore = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStore.vue');\nconst AppStoreNavigation = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreNavigation.vue');\nconst AppStoreSidebar = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreSidebar.vue');\nconst UserManagement = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagement.vue');\nconst UserManagementNavigation = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagementNavigation.vue');\nconst routes = [\n {\n name: 'users',\n path: '/:index(index.php/)?settings/users',\n components: {\n default: UserManagement,\n navigation: UserManagementNavigation,\n },\n props: true,\n children: [\n {\n path: ':selectedGroup',\n name: 'group',\n },\n ],\n },\n {\n path: '/:index(index.php/)?settings/apps',\n name: 'apps',\n // redirect to our default route - the app discover section\n redirect: {\n name: 'apps-category',\n params: {\n category: 'discover',\n },\n },\n components: {\n default: AppStore,\n navigation: AppStoreNavigation,\n sidebar: AppStoreSidebar,\n },\n children: [\n {\n path: ':category',\n name: 'apps-category',\n children: [\n {\n path: ':id',\n name: 'apps-details',\n },\n ],\n },\n ],\n },\n];\nexport default routes;\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { generateUrl } from '@nextcloud/router';\nimport routes from './routes.ts';\nVue.use(Router);\nconst router = new Router({\n mode: 'history',\n // if index.php is in the url AND we got this far, then it's working:\n // let's keep using index.php in the url\n base: generateUrl(''),\n linkActiveClass: 'active',\n routes,\n});\nexport default router;\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author rakekniven \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nimport VTooltip from 'v-tooltip';\nimport { sync } from 'vuex-router-sync';\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n';\nimport SettingsApp from './views/SettingsApp.vue';\nimport router from './router/index.ts';\nimport { useStore } from './store/index.js';\nimport { getRequestToken } from '@nextcloud/auth';\nimport { PiniaVuePlugin, createPinia } from 'pinia';\nVue.use(VTooltip, { defaultHtml: false });\nconst store = useStore();\nsync(store, router);\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken() ?? '');\n// bind to window\nVue.prototype.t = t;\nVue.prototype.n = n;\nVue.use(PiniaVuePlugin);\nconst pinia = createPinia();\nexport default new Vue({\n router,\n store,\n pinia,\n render: h => h(SettingsApp),\n el: '#content',\n});\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"3239\":\"settings-users\",\"4529\":\"settings-apps-view\"}[chunkId] || chunkId) + \"-\" + chunkId + \".js?v=\" + {\"1439\":\"41c39783c33a6fb28f5c\",\"1544\":\"ef4241665c4d259a7aec\",\"3239\":\"4b43f771ce2f23b5a283\",\"3865\":\"590dec5285cef9f68844\",\"4065\":\"9661e9d1e1b32699b74a\",\"4254\":\"96661b9f421b07ce7189\",\"4529\":\"064340341af1d750e872\",\"8630\":\"eb1ab06c4928352754c5\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2689;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2689: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(74329)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","sanitize","url","replace","requireAdmin","confirmPassword","get","options","axios","post","data","put","delete","params","localStorage","getBuilder","persist","build","defaults","id","name","usercount","disabled","canAdd","canRemove","state","users","groups","orderBy","GroupSorting","UserCount","minPasswordLength","usersOffset","usersLimit","disabledUsersOffset","disabledUsersLimit","userCount","showConfig","showStoragePath","getItem","showUserBackend","showLastLogin","showNewUserForm","showLanguages","mutations","appendUsers","usersObj","existingUsers","map","_ref","newUsers","Object","values","filter","_ref2","includes","concat","updateDisabledUsers","_usersObj","setPasswordPolicyMinLength","length","initGroups","_ref3","group","assign","addGroup","_ref4","gid","displayName","find","unshift","e","console","error","renameGroup","_ref5","groupIndex","findIndex","groupSearch","updatedGroup","splice","removeGroup","addUserGroup","_ref6","userid","user","enabled","push","removeUserGroup","_ref7","indexOf","addUserSubAdmin","_ref8","subadmin","removeUserSubAdmin","_ref9","deleteUser","userIndex","this","commit","actionType","addUserData","response","ocs","enableDisableUser","_ref10","updateUserCounts","_ref11","disabledGroup","forEach","userGroup","warn","logger","setUserData","_ref12","key","value","humanValue","parseFileSize","resetUsers","setShowConfig","_ref13","setItem","JSON","stringify","setGroupSorting","sorting","oldValue","generateUrl","String","catch","showError","t","getters","getUsers","getGroups","getSubadminGroups","getSortedGroups","sort","a","b","numA","numB","localeCompare","getGroupSorting","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getDisabledUsersOffset","getDisabledUsersLimit","getUserCount","getShowConfig","CancelToken","searchRequestCancelSource","actions","searchUsers","context","_ref14","offset","limit","search","api","generateOcsUrl","isCancel","getUser","userId","_ref15","cancel","source","trim","encodeURIComponent","cancelToken","token","then","usersCount","keys","getDisabledUsers","_ref16","_ref17","limitParam","getUsersFromList","_ref18","getUsersFromGroup","_ref19","groupid","groupId","getCapabilities","password_policy","minLength","_ref20","_ref21","_ref22","_ref23","_ref24","wipeUserDevices","addUser","_ref25","_ref26","dispatch","password","email","quota","language","manager","_ref27","userStatus","_ref28","allowedEmpty","Promise","reject","Error","sendWelcomeMail","APPS_API_FAILURE","message","isHTML","initCategories","categories","updateCount","updateCategories","categoriesPromise","gettingCategoriesPromise","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","apps","setError","appId","Array","isArray","_id","app","clearError","enableApp","active","setInstallState","canInstall","disableApp","removable","canUnInstall","uninstallApp","needsDownload","installed","updateApp","version","update","resetApps","reset","startLoading","Vue","loading","stopLoading","appIds","_appId","update_required","showInfo","onClick","window","location","reload","close","setTimeout","forceEnableApp","finally","getAllApps","getCategories","shouldRefetchCategories","arguments","undefined","categoriesPromiseResponse","bundles","loadState","getAppBundles","getUpdateCount","getCategoryById","selectedCategoryId","setServerData","serverData","getServerData","setAppConfig","use","Vuex","API_FAILURE","meta","store","useStore","Store","modules","settings","oc","strict","process","getLoggerBuilder","setApp","detectUser","_defineComponent","__name","setup","__props","__sfc","NcContent","_vm","_c","_self","_setupProxy","attrs","_v","path","components","default","UserManagement","navigation","UserManagementNavigation","props","children","redirect","AppStore","AppStoreNavigation","sidebar","AppStoreSidebar","Router","mode","base","linkActiveClass","routes","VTooltip","defaultHtml","sync","router","__webpack_nonce__","btoa","_getRequestToken","getRequestToken","prototype","n","PiniaVuePlugin","pinia","createPinia","render","h","SettingsApp","el","cloneRoute","to","from","clone","hash","query","fullPath","freeze","exports","moduleName","registerModule","namespaced","currentRoute","transition","currentPath","isTimeTraveling","storeUnwatch","watch","route","afterEachUnHook","afterEach","unregisterModule","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","getter","__esModule","d","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","test","p","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file