Add Mainsail Downloader

This commit is contained in:
Elizabeth Cray 2024-04-08 20:31:37 -04:00
parent 20da2e8207
commit 8dc754f4f7
79 changed files with 5 additions and 422 deletions

View File

@ -1 +0,0 @@
v2.9.1

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.rename-profile[data-v-37c48ba8]{text-transform:none}.currentMeshName[data-v-37c48ba8]{cursor:pointer;color:var(--v-primary-base)}.currentMeshName .v-icon[data-v-37c48ba8]{opacity:0}.currentMeshName:hover .v-icon[data-v-37c48ba8]{opacity:1}.rowProfile .colActions[data-v-37c48ba8]{display:flex;flex-direction:row;align-items:center;justify-content:flex-end}.rowProfile .colName[data-v-37c48ba8],.rowProfile .colVariance[data-v-37c48ba8]{line-height:48px}.rowProfile .colName span.current[data-v-37c48ba8]{font-weight:700;color:var(--v-primary-base)}.rowProfile .colActions .v-btn[data-v-37c48ba8]{height:48px;width:48px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.webcamImage[data-v-16b345da]{width:100%}

View File

@ -1 +0,0 @@
import{m as p,B as _,G as u,P as m,j as v,n as f}from"./index-97b4652c.js";import"./vuetify-52f40ce5.js";import"./overlayscrollbars-44d87bcf.js";import"./echarts-9bc570b0.js";var b=Object.defineProperty,h=Object.getOwnPropertyDescriptor,o=(t,e,r,s)=>{for(var i=s>1?void 0:s?h(e,r):e,n=t.length-1,l;n>=0;n--)(l=t[n])&&(i=(s?l(e,r,i):l(i))||i);return s&&i&&b(e,r,i),i};let a=class extends p(_,u){constructor(){super(...arguments),this.isVisible=!0}get url(){var e;return this.convertUrl((e=this.camSettings)==null?void 0:e.stream_url,this.printerUrl)}get webcamStyle(){var e,r,s;return{transform:this.generateTransform((e=this.camSettings.flip_horizontal)!=null?e:!1,(r=this.camSettings.flip_vertical)!=null?r:!1,(s=this.camSettings.rotation)!=null?s:0)}}visibilityChanged(e){this.isVisible=e}};o([m({required:!0})],a.prototype,"camSettings",2);o([m({default:null})],a.prototype,"printerUrl",2);a=o([v],a);var g=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("video",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:t.visibilityChanged,expression:"visibilityChanged"}],staticClass:"webcamImage",style:t.webcamStyle,attrs:{src:t.url,autoplay:""}})},y=[];const c={};var d=f(a,g,y,!1,x,"bd59f4b0",null,null);function x(t){for(let e in c)this[e]=c[e]}const j=function(){return d.exports}();export{j as default};

View File

@ -1 +0,0 @@
.webcamImage[data-v-bd59f4b0]{width:100%}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.webcamImage[data-v-03ec43aa]{width:100%}._webcam_jmuxer_output[data-v-03ec43aa]{aspect-ratio:1.5}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.webcamStream[data-v-5fed87a3]{width:100%}._webcam_webrtc_output[data-v-5fed87a3]{aspect-ratio:1.5}video[data-v-5fed87a3]{width:100%}

View File

@ -1 +0,0 @@
import{m as y,B as w,G as C,P as d,W as R,j as P,n as x}from"./index-97b4652c.js";import"./vuetify-52f40ce5.js";import"./overlayscrollbars-44d87bcf.js";import"./echarts-9bc570b0.js";var F=Object.defineProperty,V=Object.getOwnPropertyDescriptor,m=(s,t,e,a)=>{for(var i=a>1?void 0:a?V(t,e):t,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(a?n(t,e,i):n(i))||i);return a&&i&&F(t,e,i),i};const j="content-length",L="image/jpeg";let h=class extends y(w,C){constructor(){super(...arguments),this.currentFPS=0,this.streamState=!1,this.aspectRatio=null,this.timerFPS=null,this.timerRestart=null,this.stream=null,this.controller=null,this.isVisibleViewport=!1,this.isVisibleDocument=!0}get url(){var t;return this.convertUrl((t=this.camSettings)==null?void 0:t.stream_url,this.printerUrl)}get webcamStyle(){var e,a,i;const t={transform:this.generateTransform((e=this.camSettings.flip_horizontal)!=null?e:!1,(a=this.camSettings.flip_vertical)!=null?a:!1,(i=this.camSettings.rotation)!=null?i:0),aspectRatio:1.7777777777777777,maxHeight:window.innerHeight-155+"px",maxWidth:"auto"};return this.aspectRatio&&(t.aspectRatio=this.aspectRatio,t.maxWidth=(window.innerHeight-155)*this.aspectRatio+"px"),t}get fpsOutput(){return this.currentFPS<10?"0"+this.currentFPS.toString():this.currentFPS}get showFpsCounter(){var t,e;return this.showFps?!((e=(t=this.camSettings.extra_data)==null?void 0:t.hideFps)!=null&&e):!1}startStream(){if(this.streamState)return;this.streamState=!0;const t=new Uint8Array(2);t[0]=255,t[1]=216;function e(i){let r=-1;return i.split("\n").forEach(n=>{const o=n.split(":");o[0].toLowerCase()===j&&(r=o[1])}),r}this.controller=new AbortController;const{signal:a}=this.controller;fetch(this.url,{signal:a,mode:"cors"}).then(i=>i.body).then(i=>{const r=i==null?void 0:i.getReader();let n="",o=-1,p=null,f=0;const u=this.$refs.image;let g=0;this.timerFPS=setInterval(()=>{this.currentFPS=g,g=0},1e3),this.timerRestart=setInterval(()=>{this.restartStream()},6e4),this.stream=new ReadableStream({start(S){const b=()=>r==null?void 0:r.read().then(({done:_,value:l})=>{if(_){S.close();return}if(S.enqueue(l),l)for(let c=0;c<l.length;c++)l[c]===t[0]&&l[c+1]===t[1]&&(o=e(n),p=new Uint8Array(new ArrayBuffer(o))),o<=0?n+=String.fromCharCode(l[c]):f<o?p[f++]=l[c]:(u&&(u.src=URL.createObjectURL(new Blob([p],{type:L})),u.onload=()=>URL.revokeObjectURL(u.src)),g++,o=0,f=0,n="");return b()});return b()}})})}mounted(){document.addEventListener("visibilitychange",this.documentVisibilityChanged),this.startStream()}beforeDestroy(){document.removeEventListener("visibilitychange",this.documentVisibilityChanged),this.stopStream()}stopStream(){var t,e;this.streamState=!1,URL.revokeObjectURL(this.url),this.timerFPS&&clearTimeout(this.timerFPS),this.timerRestart&&clearTimeout(this.timerRestart),(t=this.controller)==null||t.abort(),(e=this.stream)==null||e.cancel()}async restartStream(){this.stopStream(),this.startStream()}camSettingsChanged(){this.aspectRatio=null,this.restartStream()}documentVisibilityChanged(){const t=document.visibilityState;this.isVisibleDocument=t==="visible",this.isVisibleDocument||this.stopStream(),this.visibilityChanged()}viewportVisibilityChanged(t){this.isVisibleViewport=t,this.visibilityChanged()}visibilityChanged(){if(this.isVisibleViewport&&this.isVisibleDocument){this.startStream();return}this.stopStream()}onload(){this.aspectRatio!==null||!this.$refs.image||(this.aspectRatio=this.$refs.image.naturalWidth/this.$refs.image.naturalHeight)}};m([d({required:!0})],h.prototype,"camSettings",2);m([d({default:null})],h.prototype,"printerUrl",2);m([d({default:!0})],h.prototype,"showFps",2);m([R("camSettings",{immediate:!0,deep:!0})],h.prototype,"camSettingsChanged",1);h=m([P],h);var O=function(){var s=this,t=s.$createElement,e=s._self._c||t;return e("div",{staticClass:"d-flex justify-center",staticStyle:{position:"relative"}},[e("img",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:s.viewportVisibilityChanged,expression:"viewportVisibilityChanged"}],ref:"image",staticClass:"webcamImage",style:s.webcamStyle,on:{load:s.onload}}),s.showFpsCounter?e("span",{staticClass:"webcamFpsOutput"},[s._v(s._s(s.$t("Panels.WebcamPanel.FPS"))+": "+s._s(s.fpsOutput))]):s._e()])},U=[];const v={};var E=x(h,O,U,!1,D,"d03b4202",null,null);function D(s){for(let t in v)this[t]=v[t]}const H=function(){return E.exports}();export{H as default};

View File

@ -1 +0,0 @@
.webcamImage[data-v-d03b4202]{width:100%;background:lightgray}.webcamFpsOutput[data-v-d03b4202]{display:inline-block;position:absolute;bottom:0;right:0;background:rgba(0,0,0,.8);padding:3px 10px;border-top-left-radius:5px}

View File

@ -1 +0,0 @@
import{m as u,B as p,G as d,P as m,j as _,n as g}from"./index-97b4652c.js";import{p as f}from"./vuetify-52f40ce5.js";import"./overlayscrollbars-44d87bcf.js";import"./echarts-9bc570b0.js";var v=Object.defineProperty,w=Object.getOwnPropertyDescriptor,h=(r,t,e,i)=>{for(var s=i>1?void 0:i?w(t,e):t,a=r.length-1,n;a>=0;a--)(n=r[a])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&v(t,e,s),s};let o=class extends u(p,d){constructor(){super(...arguments),this.refresh=Math.ceil(Math.random()*Math.pow(10,12)),this.isVisible=!0,this.isVisibleDocument=!0,this.isVisibleViewport=!1,this.isLoaded=!0,this.timer=void 0,this.request_start_time=performance.now(),this.start_time=performance.now(),this.time=0,this.request_time=0,this.time_smoothing=.6,this.request_time_smoothing=.1,this.currentFPS=0,this.aspectRatio=null}get webcamStyle(){var e,i,s;const t={transform:this.generateTransform((e=this.camSettings.flip_horizontal)!=null?e:!1,(i=this.camSettings.flip_vertical)!=null?i:!1,(s=this.camSettings.rotation)!=null?s:0),aspectRatio:1.7777777777777777,maxHeight:window.innerHeight-155+"px",maxWidth:"auto"};return this.aspectRatio&&(t.aspectRatio=this.aspectRatio,t.maxWidth=(window.innerHeight-155)*this.aspectRatio+"px"),t}get fpsOutput(){return this.currentFPS<10?"0"+this.currentFPS.toString():this.currentFPS}get showFpsCounter(){var t,e;return this.showFps?!((e=(t=this.camSettings.extra_data)==null?void 0:t.hideFps)!=null&&e):!1}get rotate(){var t;return[90,270].includes((t=this.camSettings.rotation)!=null?t:0)}get url(){var t;return this.convertUrl((t=this.camSettings)==null?void 0:t.snapshot_url,this.printerUrl)}refreshFrame(){this.isVisible&&(this.refresh=new Date().getTime(),this.setFrame())}async setFrame(){let t=new URL(this.url);t.searchParams.append("bypassCache",this.refresh.toString()),this.request_start_time=performance.now(),this.currentFPS=this.time>0?Math.round(1e3/this.time):0;let e=this.$refs.image;if(e){const i=e.getContext("2d"),s=await this.loadImage(t.toString());if(this.aspectRatio=s.naturalWidth/s.naturalHeight,this.rotate&&(this.aspectRatio=1/this.aspectRatio),e.width=e.clientWidth,e.height=e.clientWidth/this.aspectRatio,this.rotate){const a=e.height/s.width,n=e.width/2,c=e.height/2;i.translate(n,c),i.rotate(this.camSettings.rotation*Math.PI/180),await(i==null?void 0:i.drawImage(s,-s.width/2*a,-s.height/2*a,s.width*a,s.height*a)),i.rotate(-(this.camSettings.rotation*Math.PI/180)),i.translate(-n,-c)}else await(i==null?void 0:i.drawImage(s,0,0,s.width,s.height,0,0,e.width,e.height));this.isLoaded=!0}this.$nextTick(()=>{this.onLoad()})}onLoad(){this.isLoaded=!0;const t=this.camSettings.target_fps||10,e=performance.now(),i=e-this.start_time;this.time=this.time*this.time_smoothing+i*(1-this.time_smoothing),this.start_time=e;const s=1e3/t,a=performance.now()-this.request_start_time;this.request_time=this.request_time*this.request_time_smoothing+a*(1-this.request_time_smoothing);const n=Math.max(0,s-this.request_time);this.$nextTick(()=>{this.timer=setTimeout(this.refreshFrame,n)})}loadImage(t){return new Promise(e=>{let i=new Image;i.onload=()=>e(i),i.onerror=()=>setTimeout(this.refreshFrame,1e3),i.src=t})}mounted(){document.addEventListener("visibilitychange",this.documentVisibilityChanged),this.refreshFrame()}beforeDestroy(){document.removeEventListener("visibilitychange",this.documentVisibilityChanged)}documentVisibilityChanged(){const t=document.visibilityState;this.isVisibleDocument=t==="visible",this.isVisibleDocument||this.stopStream(),this.visibilityChanged()}viewportVisibilityChanged(t){this.isVisibleViewport=t,this.visibilityChanged()}visibilityChanged(){if(this.isVisibleViewport&&this.isVisibleDocument){this.startStream();return}this.stopStream()}startStream(){this.isVisible||(this.isVisible=!0,this.refreshFrame())}stopStream(){this.isVisible=!1,clearTimeout(this.timer),this.timer=void 0}};h([m({required:!0})],o.prototype,"camSettings",2);h([m({default:null})],o.prototype,"printerUrl",2);h([m({default:!0})],o.prototype,"showFps",2);o=h([_],o);var b=function(){var r=this,t=r.$createElement,e=r._self._c||t;return e("div",{staticClass:"d-flex justify-center",staticStyle:{position:"relative"}},[r.isLoaded?r._e():e("div",{staticClass:"text-center py-5"},[e(f,{attrs:{indeterminate:"",color:"primary"}})],1),e("canvas",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:r.viewportVisibilityChanged,expression:"viewportVisibilityChanged"}],ref:"image",class:"webcamImage "+(r.isLoaded?"":"hiddenWebcam"),style:r.webcamStyle,attrs:{width:"600",height:"400"}}),r.isLoaded&&r.showFpsCounter?e("span",{staticClass:"webcamFpsOutput"},[r._v(" "+r._s(r.$t("Panels.WebcamPanel.FPS"))+": "+r._s(r.fpsOutput)+" ")]):r._e()])},y=[];const l={};var S=g(o,b,y,!1,F,"72cc9e9c",null,null);function F(r){for(let t in l)this[t]=l[t]}const q=function(){return S.exports}();export{q as default};

View File

@ -1 +0,0 @@
.webcamImage[data-v-72cc9e9c]{width:100%}.webcamFpsOutput[data-v-72cc9e9c]{display:inline-block;position:absolute;bottom:0;right:0;background:rgba(0,0,0,.8);padding:3px 10px;border-top-left-radius:5px}

View File

@ -1 +0,0 @@
.webcamImage[data-v-3177fd01]{width:100%;background:lightgray}

View File

@ -1 +0,0 @@
import{m as h,B as p,G as u,P as m,W as v,j as g,n as b}from"./index-97b4652c.js";import"./vuetify-52f40ce5.js";import"./overlayscrollbars-44d87bcf.js";import"./echarts-9bc570b0.js";var f=Object.defineProperty,d=Object.getOwnPropertyDescriptor,n=(e,t,s,a)=>{for(var i=a>1?void 0:a?d(t,s):t,l=e.length-1,o;l>=0;l--)(o=e[l])&&(i=(a?o(t,s,i):o(i))||i);return a&&i&&f(t,s,i),i};let r=class extends h(p,u){constructor(){super(...arguments),this.aspectRatio=null,this.isVisible=!1,this.isVisibleViewport=!1,this.isVisibleDocument=!0}get url(){var t;return this.convertUrl((t=this.camSettings)==null?void 0:t.stream_url,this.printerUrl)}get webcamStyle(){var s,a,i;const t={transform:this.generateTransform((s=this.camSettings.flip_horizontal)!=null?s:!1,(a=this.camSettings.flip_vertical)!=null?a:!1,(i=this.camSettings.rotation)!=null?i:0),aspectRatio:1.7777777777777777,maxHeight:window.innerHeight-155+"px",maxWidth:"auto"};return this.aspectRatio&&(t.aspectRatio=this.aspectRatio,t.maxWidth=(window.innerHeight-155)*this.aspectRatio+"px"),t}mounted(){document.addEventListener("visibilitychange",this.documentVisibilityChanged)}beforeDestroy(){document.removeEventListener("visibilitychange",this.documentVisibilityChanged),this.stopStream()}startStream(){this.isVisible||this.$refs.webcamUv4lMjpegImage&&this.$refs.webcamUv4lMjpegImage.setAttribute("src",this.url)}stopStream(){this.$refs.webcamUv4lMjpegImage&&(this.$refs.webcamUv4lMjpegImage.removeAttribute("src"),URL.revokeObjectURL(this.url))}documentVisibilityChanged(){const t=document.visibilityState;this.isVisibleDocument=t==="visible",this.isVisibleDocument||this.stopStream(),this.visibilityChanged()}viewportVisibilityChanged(t){this.isVisibleViewport=t,this.visibilityChanged()}visibilityChanged(){if(this.isVisibleViewport&&this.isVisibleDocument){this.startStream();return}this.stopStream()}onload(){this.aspectRatio===null&&this.$refs.webcamUv4lMjpegImage&&(this.aspectRatio=this.$refs.webcamUv4lMjpegImage.naturalWidth/this.$refs.webcamUv4lMjpegImage.naturalHeight)}async urlChanged(){await this.stopStream(),await this.startStream()}};n([m({required:!0})],r.prototype,"camSettings",2);n([m({default:null})],r.prototype,"printerUrl",2);n([v("url")],r.prototype,"urlChanged",1);r=n([g],r);var _=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"d-flex justify-center"},[s("img",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:e.viewportVisibilityChanged,expression:"viewportVisibilityChanged"}],ref:"webcamUv4lMjpegImage",staticClass:"webcamImage",style:e.webcamStyle,on:{load:e.onload}})])},y=[];const c={};var w=b(r,_,y,!1,j,"3177fd01",null,null);function j(e){for(let t in c)this[t]=c[t]}const M=function(){return w.exports}();export{M as default};

View File

@ -1 +0,0 @@
[data-v-7831183a] .cm-activeLine{background-color:#333!important}.codeview[data-v-7831183a]{height:100%;overflow:auto}.viewer{width:100%;height:calc(var(--app-height) - 240px);border:1px solid #3f3f3f}.withScrubber .viewer{height:calc(var(--app-height) - 300px)}@media (min-width: 600px) and (max-width: 959px){.viewer{height:calc(var(--app-height) - 295px)}.withScrubber .viewer{height:calc(var(--app-height) - 360px)}}@media (max-width: 599px){.viewer,.withScrubber .viewer{height:calc(var(--app-height) - 340px)}}.scrubber[data-v-0de79293]{position:relative;left:0;right:0;bottom:5px}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
import{m as u,B as h,G as d,P as p,W as _,R as f,j as v,n as S}from"./index-97b4652c.js";import{l as y,m as g,p as w}from"./vuetify-52f40ce5.js";import"./overlayscrollbars-44d87bcf.js";import"./echarts-9bc570b0.js";var T=Object.defineProperty,b=Object.getOwnPropertyDescriptor,c=(r,e,i,t)=>{for(var s=t>1?void 0:t?b(e,i):e,o=r.length-1,n;o>=0;o--)(n=r[o])&&(s=(t?n(e,i,s):n(s))||s);return t&&s&&T(e,i,s),s};let a=class extends u(h,d){constructor(){super(...arguments),this.pc=null,this.useStun=!1,this.remote_pc_id=null,this.aspectRatio=null,this.status="connecting",this.restartTimer=null}get url(){var e;return this.convertUrl((e=this.camSettings)==null?void 0:e.stream_url,this.printerUrl)}get webcamStyle(){var i,t,s;const e={transform:this.generateTransform((i=this.camSettings.flip_horizontal)!=null?i:!1,(t=this.camSettings.flip_vertical)!=null?t:!1,(s=this.camSettings.rotation)!=null?s:0),aspectRatio:1.7777777777777777};return this.aspectRatio&&(e.aspectRatio=this.aspectRatio),e}startStream(){const e=navigator.userAgent.toLowerCase().indexOf("firefox")>-1,i=this.useStun?[{urls:["stun:stun.l.google.com:19302"]}]:null;fetch(this.url,{body:JSON.stringify({type:"request",iceServers:i}),headers:{"Content-Type":"application/json"},method:"POST"}).then(t=>t.json()).then(t=>{var o;let s={sdpSemantics:"unified-plan"};return t.iceServers&&(s.iceServers=t.iceServers),this.pc=new RTCPeerConnection(s),this.pc.addTransceiver("video",{direction:"recvonly"}),this.pc.addEventListener("track",n=>{n.track.kind=="video"&&this.$refs.stream&&(this.$refs.stream.srcObject=n.streams[0])},!1),this.pc.addEventListener("connectionstatechange",()=>{var n,l;this.status=((l=(n=this.pc)==null?void 0:n.connectionState)!=null?l:"").toString(),this.restartTimer&&window.clearTimeout(this.restartTimer),["failed","disconnected"].includes(this.status)&&(this.restartTimer=window.setTimeout(()=>{this.restartStream()},5e3))}),this.pc.addEventListener("icecandidate",n=>{if(n.candidate)return fetch(this.url,{body:JSON.stringify({type:"remote_candidate",id:this.remote_pc_id,candidates:[n.candidate]}),headers:{"Content-Type":"application/json"},method:"POST"}).catch(function(l){window.console.error(l)})}),this.remote_pc_id=t.id,(o=this.pc)==null?void 0:o.setRemoteDescription(t)}).then(()=>{var t;return(t=this.pc)==null?void 0:t.createAnswer()}).then(t=>{var s;return(s=this.pc)==null?void 0:s.setLocalDescription(t)}).then(()=>{var s;const t=(s=this.pc)==null?void 0:s.localDescription;return fetch(this.url,{body:JSON.stringify({type:t==null?void 0:t.type,id:this.remote_pc_id,sdp:t==null?void 0:t.sdp}),headers:{"Content-Type":"application/json"},method:"POST"})}).then(t=>(e&&(this.status="connected"),t.json())).catch(t=>{window.console.error(t),this.restartTimer&&window.clearTimeout(this.restartTimer),this.restartTimer=window.setTimeout(()=>{this.restartStream()},5e3)})}mounted(){this.startStream()}beforeDestroy(){var e;(e=this.pc)==null||e.close(),this.restartTimer&&window.clearTimeout(this.restartTimer)}restartStream(){var e;(e=this.pc)==null||e.close(),setTimeout(async()=>{this.startStream()},500)}async changedUrl(){this.restartStream()}};c([p({required:!0})],a.prototype,"camSettings",2);c([p({default:null})],a.prototype,"printerUrl",2);c([f()],a.prototype,"stream",2);c([_("url")],a.prototype,"changedUrl",1);a=c([v],a);var C=function(){var r=this,e=r.$createElement,i=r._self._c||e;return i("div",[i("video",{directives:[{name:"show",rawName:"v-show",value:r.status==="connected",expression:"status === 'connected'"}],ref:"stream",staticClass:"webcamStream",style:r.webcamStyle,attrs:{autoplay:"",muted:"",playsinline:""},domProps:{muted:!0}}),r.status!=="connected"?i(y,[i(g,{staticClass:"_webcam_webrtc_output text-center d-flex flex-column justify-center align-center"},[r.status==="connecting"?i(w,{staticClass:"mb-3",attrs:{indeterminate:"",color:"primary"}}):r._e(),i("span",{staticClass:"mt-3"},[r._v(r._s(r.status))])],1)],1):r._e()],1)},x=[];const m={};var O=S(a,C,x,!1,j,"a89db62a",null,null);function j(r){for(let e in m)this[e]=m[e]}const U=function(){return O.exports}();export{U as default};

View File

@ -1 +0,0 @@
.webcamStream[data-v-a89db62a]{width:100%}._webcam_webrtc_output[data-v-a89db62a]{aspect-ratio:1.5}video[data-v-a89db62a]{width:100%}

View File

@ -1 +0,0 @@
.webcamImage[data-v-9a120824]{width:100%}._webcam_webrtc_output[data-v-9a120824]{aspect-ratio:1.5}video[data-v-9a120824]{width:100%}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.webcamImage[data-v-781d4888]{width:100%}._webcam_webrtc_output[data-v-781d4888]{aspect-ratio:1.5}video[data-v-781d4888]{width:100%}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
import{F as m}from"./index-97b4652c.js";import"./vuetify-52f40ce5.js";import"./overlayscrollbars-44d87bcf.js";import"./echarts-9bc570b0.js";function g(c={}){const{immediate:d=!1,onNeedRefresh:w,onOfflineReady:i,onRegistered:r,onRegisteredSW:a,onRegisterError:s}=c;let t,o;const l=async(n=!0)=>{await o};async function p(){if("serviceWorker"in navigator){const{Workbox:n}=await m(()=>import("./workbox-window.prod.es5-ed7f7eb3.js"),[]);t=new n("/sw.js",{scope:"/",type:"classic"}),t.addEventListener("activated",e=>{(e.isUpdate||e.isExternal)&&window.location.reload()}),t.addEventListener("installed",e=>{e.isUpdate||i==null||i()}),t.register({immediate:d}).then(e=>{a?a("/sw.js",e):r==null||r(e)}).catch(e=>{s==null||s(e)})}}return o=p(),l}export{g as registerSW};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,8 +0,0 @@
{
"defaultLocale": "en",
"defaultTheme": "dark",
"hostname": null,
"port": null,
"instancesDB": "moonraker-taz",
"instances": []
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1 +0,0 @@
<svg height="599pt" preserveAspectRatio="xMidYMid meet" viewBox="0 0 599 599" width="599pt" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.1 0 0 -.1 0 599)"><path d="m3359 5488c-41-62-76-117-79-123-14-28-145-220-152-223-4-2-8-8-8-12 0-7-399-618-470-720-6-8-57-87-115-175-57-88-108-164-112-170-20-25-63-96-63-104 0-5-7-12-16-15-8-3-13-10-10-15 4-5 2-11-2-13-5-1-38-48-74-103-35-55-131-201-213-325-81-124-179-272-217-330-82-124-54-82-243-368-85-129-188-286-229-350-42-65-80-122-85-128-5-7-30-43-54-80-24-38-136-208-248-379-113-170-250-380-306-465s-105-159-110-165c-5-5-20-28-33-50s-27-42-30-45c-4-3-9-9-11-15-2-5-40-64-83-130-139-211-382-580-388-590-5-8 197-11 658-12h664l22 36c12 20 25 38 28 41s30 43 60 90c29 47 127 197 217 333s163 252 163 256c0 5 4 11 8 13 8 3 56 76 289 433 39 60 77 116 83 123 6 6 8 12 5 12s2 8 11 18c14 16 247 369 324 492 19 30 37 57 40 60 13 12 100 151 100 159 0 5 3 11 8 13 4 2 55 75 112 163 58 88 108 162 113 163 4 2 7 8 7 13s50 84 110 175c61 91 110 170 110 175s5 9 10 9c6 0 10 5 10 10 0 6 5 16 11 23s62 91 125 187c62 96 118 182 124 190s31 47 55 85c50 78 44 68 124 187 33 48 61 91 63 95 1 4 38 61 81 126l78 118-25 67c-84 219-216 665-261 882-2 8-8 35-14 60-15 69-22 102-27 135-2 16-7 39-11 50-3 11-8 31-10 45-10 67-14 88-22 128-5 23-11 45-13 48-3 2-38-46-79-108z"/><path d="m4020 3309c-58-88-112-170-120-183s-31-47-51-77-52-79-72-109-54-81-77-114c-22-32-40-60-40-62 0-8-45-69-52-72-5-2-8-9-8-16s-9-21-20-31-20-21-20-25-61-98-135-210-135-205-135-206c0-2-29-45-65-96s-65-98-65-104c0-7-7-15-16-18-9-4-14-9-11-12 3-4 1-11-4-18-6-6-55-78-110-161-54-82-103-157-109-165s-50-76-99-150c-50-74-95-140-100-147-6-7-16-24-23-38-6-14-15-25-20-25-4 0-8-4-8-9 0-6-90-145-200-310s-200-305-200-310-4-11-8-13c-8-3-162-234-162-243 0-3 299-5 665-5 625 0 666 1 672 17 4 10 84 135 178 278s211 322 260 398c50 76 96 145 103 152 6 8 12 16 12 19 0 6 294 456 309 473 6 7 11 14 11 17 0 8 63 100 73 107 5 3 8 8 6 10-1 2 38 65 87 139s91 140 94 145c3 6 49 77 103 158l98 148-20 32c-11 18-28 41-38 52s-66 92-124 180c-114 173-119 181-206 328-60 102-76 130-132 232-18 33-38 66-43 73-6 6-7 12-3 12 5 0 1 8-7 18-8 9-22 34-32 54-9 20-20 39-24 42-4 2-54-67-112-155z"/><path d="m5119 1822c-35-53-67-101-71-107-5-5-27-39-51-75-23-36-45-66-49-68-5-2-8-8-8-13 0-8-106-175-120-189s-160-241-160-249c0-5-4-11-9-13-5-1-27-32-50-68-22-36-44-70-48-75-5-6-64-96-133-200-69-105-128-191-132-193-5-2-8-10-8-18s-4-14-10-14c-5 0-10-4-10-10 0-5-20-39-45-76-25-36-45-67-45-69 0-3 299-5 665-5h665l12 25c6 14 14 25 18 25s12 11 18 25c7 14 17 31 22 38 17 19 210 317 210 322 0 3 5 11 11 18 21 24 179 269 179 278 0 5 5 9 10 9 22 0 7 18-67 80-193 162-512 474-690 673l-41 47z"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -1 +0,0 @@
<svg enable-background="new 0 0 599.38 523.11" viewBox="0 0 599.38 523.11" xmlns="http://www.w3.org/2000/svg"><g fill="#d41216"><path d="m382.29 142.98-249.31 379.84-132.98-.14 344.3-522.68c7.88 49.06 20.9 97.68 37.99 142.98"/><path d="m413.28 213.54-204.78 309.38 132.94.19 135.03-206.33c-23.78-32.49-44.94-67.01-63.19-103.24z"/><path d="m599.38 447.69-49.25 75.42-133.13-.29 101.6-153.67c24.88 28.2 51.89 54.46 80.78 78.54z"/></g></svg>

Before

Width:  |  Height:  |  Size: 438 B

View File

@ -1,206 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
enable-background="new 0 0 421.2 842.2"
version="1.1"
viewBox="0 0 421.2 842.2"
id="svg77"
sodipodi:docname="sidebar-background-light.svg"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs81" />
<sodipodi:namedview
id="namedview79"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="0.92139633"
inkscape:cx="20.078222"
inkscape:cy="421.10001"
inkscape:window-width="1920"
inkscape:window-height="974"
inkscape:window-x="-11"
inkscape:window-y="-11"
inkscape:window-maximized="1"
inkscape:current-layer="svg77" />
<linearGradient
id="a"
x1="-87.028"
x2="-86.028"
y1="841.97"
y2="841.97"
gradientTransform="matrix(-343.95 -596.42 -596.42 343.95 472648 -340719)"
gradientUnits="userSpaceOnUse">
<stop
stop-color="#080808"
offset="0"
id="stop2" />
<stop
stop-color="#242424"
offset="1"
id="stop4" />
</linearGradient>
<rect
x=".1"
y=".1"
width="421.1"
height="842.1"
fill="#e1e1e1"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="7.5591"
style="mix-blend-mode:luminosity;fill:#ffffff;fill-opacity:1"
id="rect7" />
<g
clip-rule="evenodd"
fill-rule="evenodd"
style="mix-blend-mode:exclusion"
id="g75">
<path
d="m0.1 0.1h420.9v841.9h-420.9z"
fill="url(#a)"
stroke="#000"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="3.1571"
stroke-width=".2736"
id="path9" />
<path
d="m147 152.1-146.9-152h130z"
fill="#242424"
id="path11" />
<path
d="m147 152.1-146.9-152v106.7z"
fill="#252525"
id="path13" />
<path
d="m147 152.1v62.7l-146.9-80.5v-27.5z"
fill="#222"
id="path15" />
<path
d="m0.1 268.5 146.9-53.7-146.9-80.5z"
fill="#242424"
id="path17" />
<path
d="m0.1 268.5 146.9-53.7-47.9 206.3z"
fill="#1f1f1f"
id="path19" />
<path
d="m0.1 268.5v201l8.4 2.1 90.5-50.5z"
fill="#1f1f1f"
id="path21" />
<path
d="m33.8 528.4-25.2-56.8 90.5-50.5z"
fill="#1a1a1a"
id="path23" />
<path
d="m33.8 528.4 204.2 19-138.9-126.3z"
fill="#181818"
id="path25" />
<path
d="m33.8 528.4 204.2 19-124.2 84.2z"
fill="#161616"
id="path27" />
<path
d="m33.8 528.4h-33.7v189.4l113.7-86.3z"
fill="#191919"
id="path29" />
<path
d="m135.9 732.6-102.1 109.4h-33.7v-124.2l113.7-86.3z"
fill="#161616"
id="path31" />
<path
d="m135.9 732.6 137.9-14.7-35.8-170.5-124.2 84.2z"
fill="#111"
id="path33" />
<path
d="m135.9 732.6 137.9-14.7-16.9 124.1h-121z"
fill="#0e0e0e"
id="path35" />
<path
d="m421.1 799.9-147.3-82.1-16.9 124.2h164.2z"
fill="#080808"
id="path37" />
<path
d="m421.1 799.9-147.3-82.1 147.3-128.4z"
fill="#070707"
id="path39" />
<path
d="m135.9 732.6-102.1 109.4h102.1z"
fill="#121212"
id="path41" />
<path
d="m286.4 395.8-48.4 151.6-138.9-126.3z"
fill="#151515"
id="path43" />
<path
d="m286.4 395.8-48.4 151.6 160-126.3z"
fill="#111"
id="path45" />
<path
d="m273.8 717.8-35.8-170.4 160-126.3 23.2 37.9v130.5z"
fill="#0d0d0d"
id="path47" />
<path
d="m33.8 528.4-25.2-56.8-8.4-2.1v58.9z"
fill="#1d1d1d"
id="path49" />
<path
d="m147 152.1 133.5-17.8-99.3-134.2h-51z"
fill="#1e1e1e"
id="path51" />
<path
d="m147 152.1 133.5-17.8-133.5 80.5z"
fill="#1b1b1b"
id="path53" />
<path
d="m290.6 303.2-10.1-168.9-133.5 80.5z"
fill="#181818"
id="path55" />
<path
d="m290.6 303.2-191.5 117.9 47.9-206.3z"
fill="#191919"
id="path57" />
<path
d="m290.6 303.2-191.5 117.9 187.3-25.3z"
fill="#161616"
id="path59" />
<path
d="m290.6 303.2 107.3 117.9-111.6-25.3z"
fill="#111"
id="path61" />
<path
d="m290.6 303.2 107.3 117.9 23.2-40.5v-65.8z"
fill="#101010"
id="path63" />
<path
d="m421.1 459-23.2-37.9 23.2-40.5z"
fill="#0c0c0c"
fill-opacity=".95"
id="path65" />
<path
d="m325.9 0.1-45.4 134.2-99.3-134.2z"
fill="#1c1c1c"
id="path67" />
<path
d="m325.9 0.1-45.4 134.2 140.6-24v-110.2z"
fill="#151515"
id="path69" />
<path
d="m421.1 284.8-140.6-150.5 140.6-24z"
fill="#111"
id="path71" />
<path
d="m421.1 284.8-140.6-150.5 10.1 168.9 130.5 11.6z"
fill="#131313"
id="path73" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -1 +0,0 @@
<svg enable-background="new 0 0 421.2 842.2" viewBox="0 0 421.2 842.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(-343.9457 -596.4179 -596.4179 343.9457 472647.7812 -340718.9688)" gradientUnits="userSpaceOnUse" x1="-87.0285" x2="-86.0285" y1="841.9678" y2="841.9678"><stop offset="0" stop-color="#080808"/><stop offset="1" stop-color="#242424"/></linearGradient><g clip-rule="evenodd" fill-rule="evenodd"><path d="m.1.1h420.9v841.9h-420.9z" style="stroke:#000;stroke-width:.2736;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.1571;fill:url(#a)"/><path d="m147 152.1-146.9-152h130z" fill="#242424"/><path d="m147 152.1-146.9-152v106.7z" fill="#252525"/><path d="m147 152.1v62.7l-146.9-80.5v-27.5z" fill="#222"/><path d="m.1 268.5 146.9-53.7-146.9-80.5z" fill="#242424"/><path d="m.1 268.5 146.9-53.7-47.9 206.3z" fill="#1f1f1f"/><path d="m.1 268.5v201l8.4 2.1 90.5-50.5z" fill="#1f1f1f"/><path d="m33.8 528.4-25.2-56.8 90.5-50.5z" fill="#1a1a1a"/><path d="m33.8 528.4 204.2 19-138.9-126.3z" fill="#181818"/><path d="m33.8 528.4 204.2 19-124.2 84.2z" fill="#161616"/><path d="m33.8 528.4h-33.7v189.4l113.7-86.3z" fill="#191919"/><path d="m135.9 732.6-102.1 109.4h-33.7v-124.2l113.7-86.3z" fill="#161616"/><path d="m135.9 732.6 137.9-14.7-35.8-170.5-124.2 84.2z" fill="#111"/><path d="m135.9 732.6 137.9-14.7-16.9 124.1h-121z" fill="#0e0e0e"/><path d="m421.1 799.9-147.3-82.1-16.9 124.2h164.2z" fill="#080808"/><path d="m421.1 799.9-147.3-82.1 147.3-128.4z" fill="#070707"/><path d="m135.9 732.6-102.1 109.4h102.1z" fill="#121212"/><path d="m286.4 395.8-48.4 151.6-138.9-126.3z" fill="#151515"/><path d="m286.4 395.8-48.4 151.6 160-126.3z" fill="#111"/><path d="m273.8 717.8-35.8-170.4 160-126.3 23.2 37.9v130.5z" fill="#0d0d0d"/><path d="m33.8 528.4-25.2-56.8-8.4-2.1v58.9z" fill="#1d1d1d"/><path d="m147 152.1 133.5-17.8-99.3-134.2h-51z" fill="#1e1e1e"/><path d="m147 152.1 133.5-17.8-133.5 80.5z" fill="#1b1b1b"/><path d="m290.6 303.2-10.1-168.9-133.5 80.5z" fill="#181818"/><path d="m290.6 303.2-191.5 117.9 47.9-206.3z" fill="#191919"/><path d="m290.6 303.2-191.5 117.9 187.3-25.3z" fill="#161616"/><path d="m290.6 303.2 107.3 117.9-111.6-25.3z" fill="#111"/><path d="m290.6 303.2 107.3 117.9 23.2-40.5v-65.8z" fill="#101010"/><path d="m421.1 459-23.2-37.9 23.2-40.5z" fill="#0c0c0c" fill-opacity=".95"/><path d="m325.9.1-45.4 134.2-99.3-134.2z" fill="#1c1c1c"/><path d="m325.9.1-45.4 134.2 140.6-24v-110.2z" fill="#151515"/><path d="m421.1 284.8-140.6-150.5 140.6-24z" fill="#111"/><path d="m421.1 284.8-140.6-150.5 10.1 168.9 130.5 11.6z" fill="#131313"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -1,39 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>Mainsail</title>
<meta name="description" content="Mainsail is the popular web interface for Klipper." />
<link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png" />
<meta name="theme-color" content="#121212" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="apple-mobile-web-app-title" content="Mainsail" />
<link rel="apple-touch-icon" sizes="180x180" href="/img/icons/apple-touch-icon-180x180.png" />
<link rel="mask-icon" href="img/icons/safari-pinned-tab.svg" color="#d51f26" />
<meta name="msapplication-TileImage" content="/img/icons/mstile-150x150.png" />
<meta name="msapplication-TileColor" content="#d51f26" />
<script type="module" crossorigin src="/assets/index-97b4652c.js"></script>
<link rel="modulepreload" crossorigin href="/assets/vuetify-52f40ce5.js">
<link rel="modulepreload" crossorigin href="/assets/overlayscrollbars-44d87bcf.js">
<link rel="modulepreload" crossorigin href="/assets/echarts-9bc570b0.js">
<link rel="stylesheet" href="/assets/vuetify-950d1cb0.css">
<link rel="stylesheet" href="/assets/overlayscrollbars-a16bc3d3.css">
<link rel="stylesheet" href="/assets/index-57af1108.css">
<link rel="manifest" href="/manifest.webmanifest"></head>
<body style="background-color: #121212">
<noscript>
<strong>
We're sorry but Mainsail doesn't work properly without JavaScript enabled. Please enable it to continue.
</strong>
</noscript>
<div id="app"></div>
</body>
</html>

View File

@ -1 +0,0 @@
{"name":"Mainsail","short_name":"Mainsail","start_url":"/","display":"standalone","background_color":"#121212","lang":"en","scope":"/","theme_color":"#D51F26","icons":[{"src":"/img/icons/icon-192-maskable.png","sizes":"192x192","type":"image/png"},{"src":"/img/icons/icon-512-maskable.png","sizes":"512x512","type":"image/png"},{"src":"/img/icons/icon-512-maskable.png","sizes":"512x512","type":"image/png","purpose":"any maskable"}]}

View File

@ -1 +0,0 @@
{"project_name":"mainsail","project_owner":"mainsail-crew","version":"v2.9.1"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -50,3 +50,8 @@ mkdir -p ~/PRINTER/logs
mkdir -p ~/PRINTER/gcodes mkdir -p ~/PRINTER/gcodes
mkdir -p ~/PRINTER/certs mkdir -p ~/PRINTER/certs
mkdir -p ~/PRINTER/backup mkdir -p ~/PRINTER/backup
# Download Mainsail
cd $ROOT_DIR
wget -q -O mainsail.zip https://github.com/mainsail-crew/mainsail/releases/latest/download/mainsail.zip
unzip -o mainsail.zip -d dirs/mainsail